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