◆孫曉霞
(大連廣播電視大學(xué) 遼寧 116021)
嵌入式計算機軟件測試技術(shù)探討
◆孫曉霞
(大連廣播電視大學(xué) 遼寧 116021)
隨著社會的快速發(fā)展,計算機技術(shù)發(fā)展的步伐也有了跨越式的進(jìn)程,其中,由于嵌入式計算機功能強大,能夠滿足各類用戶的各種需求,所以嵌入式計算機技術(shù)也愈來愈應(yīng)用廣泛。雖然這類的計算機功能如此強大,但內(nèi)部結(jié)構(gòu)會較其他類型的復(fù)雜。所以,測試嵌入式計算機的時候,會增加很大的難度。因此,本文主要對嵌入式計算機以及如何測試嵌入式軟件進(jìn)行闡述,并研究測試軟件的相關(guān)技術(shù),旨在提高嵌入式計算機應(yīng)用的范圍以及其應(yīng)用效果。
嵌入式計算機;軟件測試;仿真機;宿主機;目標(biāo)機
所謂嵌入式計算機主要是根據(jù)指定的一些技術(shù)或者功能開發(fā)設(shè)計的,是計算機系統(tǒng)的一種。也就是把嵌入式的系統(tǒng)與計算機技術(shù)相結(jié)合同一利用,對計算機的軟硬件功能都進(jìn)行了更高層面的技術(shù)完善,進(jìn)而達(dá)到客戶各式各樣的功能需求。因為,為了某個特定功能而開發(fā)的嵌入式計算機,所以在開發(fā)此軟件的過程中,既做到了成本管控,同時又能滿足計算機的特定功能,然后結(jié)合需求來決定計算機的實際。嵌入式技術(shù)能夠使得計算機軟硬件都能得到技術(shù)上的優(yōu)化。所以,嵌入式的計算機能夠提供產(chǎn)品的質(zhì)量,提高工業(yè)生產(chǎn)效率,使得在市場上應(yīng)用非常廣泛。
為了保證軟件應(yīng)用的可靠性以及應(yīng)用質(zhì)量,需要對軟件進(jìn)行多次測試,通過多次測試的過程發(fā)現(xiàn)錯誤,火災(zāi)時代碼錯誤或者是分析過程等等,進(jìn)而讓嵌入式軟件在應(yīng)用的過程中更加有保證。較其他軟件對比,嵌入式軟件有很多獨特的方面,專用性較強,必須在特定的硬件平臺上運作。同時,嵌入式軟件在開發(fā)和運行環(huán)境方面也有其各自的特點,即,在宿主機上面進(jìn)行編輯和編譯等等。另外,嵌入式軟件更具有其復(fù)雜的特性,其目標(biāo)機與主機在處理器和操作系統(tǒng)等方面都存在的明顯的差異,這就導(dǎo)致嵌入式軟件更為復(fù)雜。通常情況下,微機和工作站這類較為通用的計算機就是這里所說的宿主機,而且對于目標(biāo)機作用的關(guān)鍵性來說,就是嚴(yán)格劃分具有嵌入式系統(tǒng)通訊的宿主機與目標(biāo)機最直接的方式之一。
一是仿真技術(shù),所謂嵌入式軟件仿真建立在局域網(wǎng)的基礎(chǔ)上,對數(shù)據(jù)進(jìn)行集中性管理與處理,其中,仿真測試中較為常見的關(guān)鍵技術(shù)是仿真技術(shù)與仿真測評控制技術(shù),仿真技術(shù)的結(jié)構(gòu)包括I/O系統(tǒng)、實時仿真機以及實時調(diào)度模板等,對測試結(jié)果有專門的分析工具。對嵌入式軟件進(jìn)行仿真測試,可以模擬現(xiàn)場進(jìn)行真實場景的模擬,以得出相關(guān)數(shù)據(jù),另外,根據(jù)測試對象不同,能夠逐個分析電信號激勵源的各種仿真,除了總線外,能夠分析其實際運行情況,實現(xiàn)人機交互,完成軟件測評等等。
二是測試數(shù)據(jù)獲取技術(shù)。在當(dāng)前這個階段下,嵌入式軟件測試的發(fā)展瓶頸就是如何將測試過程中的數(shù)據(jù)進(jìn)行有效利用,目前,很多對嵌入式軟件進(jìn)行測試的方法都需要對源代碼測試,這樣在一定程度上就可以保證軟件質(zhì)量和性能,進(jìn)而獲得有效的測試數(shù)據(jù)。目前為止,測試數(shù)據(jù)獲取的方式較為集中,包括開發(fā)工具的虛擬IO指數(shù)以及實際物理通道取數(shù)和內(nèi)存取數(shù)。其中,實際物理通道取數(shù)是目標(biāo)機與主機之間物理的具體通信方式,利用實際物理通道取數(shù)能在很大程度上直接經(jīng)由數(shù)據(jù)通信軟件實現(xiàn)與主機之間的通訊,在此基礎(chǔ)進(jìn)行數(shù)據(jù)下載,開發(fā)工具虛擬 IO指數(shù)是一種更高級的開發(fā)工具,給測試工作帶來便利。也就是說,在緩存足夠的基礎(chǔ)上,加之修改測試工具的庫,在緩存中寫入輸出數(shù)據(jù),測試進(jìn)行或結(jié)束后,對緩存中記錄的數(shù)據(jù)進(jìn)行讀取,并在此基礎(chǔ)上以文件的形式保存到主機上。需要重點關(guān)注的是,這個方式需要在測試前能夠確定緩存的大小。但是這個方式試用性較高,優(yōu)勢明顯,主要是表現(xiàn)在開發(fā)調(diào)試工具上。
一是動態(tài)測試技術(shù),所謂動態(tài)測試技術(shù)作為測試的關(guān)鍵技術(shù)一質(zhì)疑,主要測試的重點和對象就是軟件的執(zhí)行動態(tài)能力,可以對系統(tǒng)內(nèi)存是如何分配使用以及代碼的覆蓋率進(jìn)行全面深入的分析。在測試的過程中,被測代碼的執(zhí)行情況就是以上所說的代碼覆蓋率,監(jiān)控代碼覆蓋率可以助推軟件測試的有效性,全面掌控測試力度,能夠迅速識別哪些數(shù)據(jù)沒有被測試,進(jìn)而為軟件工程師的測試工作提供有效的數(shù)據(jù)參考。對于內(nèi)存分配的動態(tài)信息進(jìn)行分析時,能夠幫助測試人員準(zhǔn)確快速的查找到內(nèi)存漏洞,進(jìn)而為優(yōu)化內(nèi)存分配而提供整改策略。代碼覆蓋率等方面的計算指標(biāo)包括諸多方面,有MC/DC語句覆蓋以及分支/判定覆蓋等等,但是內(nèi)存分配信息就強調(diào)高度關(guān)注其中的每一個函數(shù)、內(nèi)存分配點內(nèi)存分配及釋放情況,并及時監(jiān)視動態(tài)內(nèi)存分配中出現(xiàn)的錯誤信息。
二是靜態(tài)測試技術(shù)。在目前這個階段,軟件差錯的方式很多,但是較為常用的就是人工審議和走查,但是隨著軟件規(guī)模越來越復(fù)雜且大型,需要很多的工程師,另外加之源代碼存在的形式較為分散,不好操作,往往很難采用審議和走查。針對以上問題,需要借助有效的方式進(jìn)而獲得整個軟件系統(tǒng)的框圖,來實現(xiàn)其中的自動化鏈接,這樣就會方便軟件審議和走查。而且靜態(tài)測試分析技術(shù)可以繪制程序邏輯圖和控制流程、獲取完整的軟件系統(tǒng)邏輯框圖、進(jìn)行程序路徑分析、可互相轉(zhuǎn)換生成的邏輯圖、流程圖、框圖等,這樣就能夠設(shè)計出高效的測試用例,進(jìn)而來提高軟件質(zhì)量以及測試的覆蓋率。
目標(biāo)機也有其被測試的重點部位,對其綜合性能進(jìn)行高度評估即是測試的重點,能夠獲取軟件交互以及是否穩(wěn)定和可靠方面的驗證。從關(guān)鍵性技術(shù)方面來說,進(jìn)行軟件測試可以從性能分析、內(nèi)存分析以及注入故障等三方面進(jìn)行測試。其中,內(nèi)存分析在當(dāng)前階段下,只有軟硬件這兩種分析的手段,主要是可以對動態(tài)內(nèi)存分配進(jìn)行故障測試,另外,對于故障注入技術(shù)來說, 主要是針對系統(tǒng)邊界、容錯性以及強度性這幾個明顯的方面進(jìn)行測試。性能分析技術(shù)具有時間性能方面的優(yōu)勢,方便開發(fā)人員決策利用那種方式優(yōu)化系統(tǒng)軟件,也就是說,性能分析技術(shù)能夠縮小優(yōu)化范圍,能夠為優(yōu)化代碼提供優(yōu)化范圍,進(jìn)而能夠?qū)ο姆绞?、實際以及所使用的時間進(jìn)行準(zhǔn)確分析。軟件方面進(jìn)行內(nèi)存分析能夠直接影響到代碼的性能,容易干擾實際操作。而硬件方面,由于其對硬件進(jìn)行內(nèi)存分析,其工具價格高,所以使用范圍有所限制,僅限于有工具的環(huán)境當(dāng)中。
總之,隨著計算機行業(yè)技術(shù)的迅猛發(fā)展,嵌入式計算機的應(yīng)用越來越廣,所以,嵌入式計算機的穩(wěn)定性將決定著其應(yīng)用的廣泛性,所以,為了其穩(wěn)定需要對系統(tǒng)進(jìn)行測試,包括宿主機、目標(biāo)機以及仿真機,目的就是要對嵌入式計算機全面測試,以提高嵌入式計算機系統(tǒng)的穩(wěn)定質(zhì)量、以及有效性。因此,本文主要是測試嵌入式計算機,旨在提高其應(yīng)用范圍以及應(yīng)用成效。
[1]張兵星.探討計算機軟件測試的相關(guān)技術(shù)應(yīng)用[J].中國管理信息化,2016.
[2]施小敏.嵌入式IO控制器軟件測試關(guān)鍵技術(shù)研究[D].上海:上海交通大學(xué),2012.
[3]平婕,秦軍,康建華,安元偉.嵌入式軟件測試關(guān)鍵技術(shù)研究[J].有線電視技術(shù),2010.
[4]周凌云.嵌入式武控計算機軟件測試關(guān)鍵技術(shù)的研究分析[J].科技展望,2015.
[5]凌楊,邵培南,佟雷,李建軍.基于數(shù)字化仿真環(huán)境的嵌入式軟件測試方法[J].計算機工程,2011.
[6]高賽軍.嵌入式武控計算機軟件測試關(guān)鍵技術(shù)研究[D].上海:華東理工大學(xué),2013.
[7]高俊,鄒金萍.計算機軟件測試技術(shù)與開發(fā)應(yīng)用研究[J].中國管理信息化,2016.