|
目前,嵌入式軟件的可靠性評(píng)價(jià)主要依賴測(cè)試,因?yàn)榍度胧杰浖拈_發(fā)環(huán)境和軟件在嵌入式系統(tǒng)中的運(yùn)行環(huán)境是不同的,因此嵌入式軟件測(cè)試的最大特點(diǎn)在于一個(gè)嵌入式軟件的測(cè)試可以分為基于宿主機(jī)和基于目標(biāo)機(jī)的不同環(huán)境進(jìn)行測(cè)試,這往往也是嵌入式軟件測(cè)試與一般軟件測(cè)試最大的不同之處。
一、基于宿主機(jī)和基于目標(biāo)機(jī)的環(huán)境測(cè)試
嵌入式軟件測(cè)試中基于宿主機(jī)環(huán)境的測(cè)試具有速度快、花費(fèi)少等特點(diǎn),但由于是在模擬環(huán)境中進(jìn)行的,因此不能確定軟件在特定硬件環(huán)境中的問(wèn)題。而需要消耗更多的時(shí)間和成本是基于目標(biāo)機(jī)環(huán)境測(cè)試的缺點(diǎn),并且一般來(lái)說(shuō)嵌入式系統(tǒng)的軟件和硬件在開發(fā)的時(shí)候有著時(shí)間同步性,目標(biāo)機(jī)的環(huán)境在整個(gè)開發(fā)的過(guò)程中是有限的,甚至還存在由于環(huán)境受限而造成的軟件不可用等情況,因此對(duì)于基于目標(biāo)機(jī)環(huán)境的嵌入式軟件測(cè)試,在很多情況下是遠(yuǎn)遠(yuǎn)不能滿足其測(cè)試需求的。
與此同時(shí),由于在嵌入式軟件的開發(fā)過(guò)程中,開發(fā)環(huán)境和微控制器種類使用的多而雜,因此被使用到的各種微型控制器對(duì)實(shí)時(shí)性、可靠性有著更高的要求。這些特性給測(cè)試帶來(lái)了極大的困難,主要體現(xiàn)在以下幾點(diǎn):
1、測(cè)試策略的選擇,如何在宿主機(jī)和目標(biāo)機(jī)環(huán)境的測(cè)試之間做出取舍;
2、軟件高度依賴硬件,不容易區(qū)分軟硬件錯(cuò)誤;
3、交叉測(cè)試平臺(tái)的測(cè)試用例、測(cè)試結(jié)果上傳困難;
4、性能測(cè)試、確定性能瓶頸存在困難;
5、實(shí)施統(tǒng)一的自動(dòng)化測(cè)試比較困難。
二、嵌入式軟件的測(cè)試環(huán)境
因此,一般采用交叉開發(fā)環(huán)境來(lái)搭建嵌入式軟件的測(cè)試環(huán)境。如單元測(cè)試、集成測(cè)試等可以在PC機(jī)上完成的測(cè)試,一般都在PC機(jī)上進(jìn)行測(cè)試,從而可以避免硬件環(huán)境的影響,提高測(cè)試效率。并且在后期的集成測(cè)試中,需要在具體的嵌入式軟件硬件環(huán)境中,搭建交叉測(cè)試環(huán)境來(lái)完成嵌入式軟件的測(cè)試。交叉測(cè)試環(huán)境的搭建需要注意以下幾個(gè)方面的內(nèi)容:
1、主機(jī)與目標(biāo)機(jī)之間的通信問(wèn)題
可以通過(guò)以太網(wǎng)或者串口進(jìn)行主機(jī)與目標(biāo)機(jī)之間的物理連接,主機(jī)與目標(biāo)機(jī)之間的數(shù)據(jù)格式可以預(yù)先進(jìn)行定義。
2、主機(jī)對(duì)目標(biāo)機(jī)的測(cè)試控制
主要包括主機(jī)如何向目標(biāo)機(jī)發(fā)送測(cè)試用例,如何跟蹤目標(biāo)機(jī)的測(cè)試,查看是否正常進(jìn)行。
3、目標(biāo)機(jī)測(cè)試結(jié)果的反饋
一般運(yùn)行嵌入式系統(tǒng)的目標(biāo)機(jī)沒(méi)有視頻顯示等便利的測(cè)試結(jié)果輸出端口,所以目標(biāo)機(jī)上的異常、錯(cuò)誤信息和正常響應(yīng)信息等測(cè)試結(jié)果都需要返回到主機(jī)上進(jìn)行顯示和輸出。在嵌入式軟件測(cè)試環(huán)境的搭建過(guò)程中,需要測(cè)試嵌入式系統(tǒng)與已建設(shè)備是否協(xié)調(diào),硬件設(shè)備電氣特征是否正常,以及主機(jī)與目標(biāo)機(jī)之間的物理信道是否通暢等,從而保證測(cè)試結(jié)果不受到嵌入式軟件以外其它因素的影響。
三、嵌入式軟件可靠性測(cè)試方法
由于嵌入式系統(tǒng)的獨(dú)特性,導(dǎo)致其中運(yùn)行的嵌入式軟件測(cè)試需要專用的測(cè)試工具,當(dāng)今應(yīng)用于嵌入式軟件測(cè)試的主流測(cè)試方法,按照其對(duì)嵌入式軟件測(cè)試技術(shù)和方法上的不同,主要可以分為嵌入式軟件靜態(tài)分析法、嵌入式軟件動(dòng)態(tài)測(cè)試法和嵌入式軟件綜合測(cè)試法三類。
1、嵌入式軟件靜態(tài)分析法
嵌入式軟件靜態(tài)分析法主要是能夠在軟件開發(fā)的早期就發(fā)現(xiàn)軟件中的缺陷,這對(duì)于對(duì)軟件的可靠性和安全性有著較高要求的嵌入式軟件十分重要。使用靜態(tài)分析發(fā)對(duì)嵌入式軟件進(jìn)行測(cè)試時(shí),具體的功能主要體現(xiàn)在三個(gè)方面:
1)代碼質(zhì)量分析:采用靜態(tài)的方法對(duì)軟件質(zhì)量進(jìn)行分析與評(píng)估。
2)代碼規(guī)范性檢測(cè):這種方法目前流行于很多知名企業(yè),制定或執(zhí)行一定的編碼規(guī)范,在軟件開發(fā)過(guò)程中,可以避免錯(cuò)誤陷阱和代碼誤解。
3)代碼缺陷分析:對(duì)被測(cè)代碼進(jìn)行靜態(tài)掃描,查出可能存在的運(yùn)行出現(xiàn)時(shí)錯(cuò)誤的代碼段,這種分析可以檢測(cè)出動(dòng)態(tài)測(cè)試狀態(tài)下難以捕捉到的錯(cuò)誤。
2、嵌入式軟件動(dòng)態(tài)測(cè)試法
由于嵌入式系統(tǒng)的復(fù)雜性,其嵌入式軟件一般都有特殊性,因此對(duì)嵌入式軟件進(jìn)行動(dòng)態(tài)測(cè)試較為困難,主要介紹以下幾種嵌入式軟件動(dòng)態(tài)測(cè)試方法:
1)嵌入式軟件“白盒”測(cè)試:嵌入式軟件白盒測(cè)試又稱為結(jié)構(gòu)測(cè)試,是指在了解被測(cè)裝置內(nèi)部結(jié)構(gòu)和軟件實(shí)現(xiàn)細(xì)節(jié)的基礎(chǔ)上進(jìn)行的軟件測(cè)試,根據(jù)測(cè)試需要可以打開被測(cè)裝置,重點(diǎn)關(guān)注軟件內(nèi)部的實(shí)現(xiàn)細(xì)節(jié)。
2)嵌入式軟件“黑盒”測(cè)試:嵌入式軟件黑盒測(cè)試又被稱為功能測(cè)試,是指再不打開被測(cè)裝置、不考慮其內(nèi)部邏輯結(jié)構(gòu)的情況下,通過(guò)功能測(cè)試項(xiàng)目來(lái)檢測(cè)每個(gè)功能是否符合測(cè)試要求。
3)嵌入式軟件“灰盒”測(cè)試:嵌入式軟件灰盒測(cè)試是介于白盒測(cè)試與黑盒測(cè)試之間的測(cè)試方法,該測(cè)試方法是建立在可以打開被測(cè)裝置內(nèi)部結(jié)構(gòu)但不關(guān)注軟件實(shí)現(xiàn)細(xì)節(jié)的基礎(chǔ)上進(jìn)行的關(guān)鍵信息點(diǎn)測(cè)試,這種測(cè)試方法只是通過(guò)一些表征性的現(xiàn)象、事件、標(biāo)志來(lái)判讀內(nèi)部的運(yùn)行狀態(tài),而不像白盒測(cè)試中那么詳細(xì)。
3、嵌入式軟件綜合測(cè)試法
在嵌入式軟件可靠性測(cè)試工程中,由于嵌入式系統(tǒng)的復(fù)雜性,嵌入式軟件發(fā)生的錯(cuò)誤通常呈現(xiàn)多樣化的特點(diǎn),導(dǎo)致單一的靜態(tài)分析或者動(dòng)態(tài)測(cè)試都不能夠完全滿足測(cè)試工程的實(shí)際需要,因此很多嵌入式軟件的可靠性評(píng)價(jià)都會(huì)采用靜態(tài)分析與動(dòng)態(tài)測(cè)試相結(jié)合的綜合性測(cè)試法。
交流可以加黃工QQ2685896890
|
|