資源描述:
《嵌入式軟件測試方法研究new》由會員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在行業(yè)資料-天天文庫。
1、1、引言 隨著經(jīng)濟(jì)的發(fā)展和科技的進(jìn)步,信息技術(shù)的發(fā)展使人類進(jìn)入數(shù)字時代,而伴隨著計算機(jī)技術(shù)發(fā)展起來的嵌入式技術(shù)得到了巨大的發(fā)展,改變了人們的日常生活。隨著對嵌入式產(chǎn)品對各方面的要求越來越高,對嵌入式產(chǎn)品的性能有著決定性影響的嵌入式軟件的測試顯得尤為重要。 嵌入式軟件測試的目的是保證軟件滿足需求規(guī)格說明,與非嵌入式軟件的測試目的是一樣的。系統(tǒng)失效是系統(tǒng)沒有滿足—個或多個正式需求規(guī)范中所要求的需求項(xiàng),嵌入式軟件有其特殊的失效判定準(zhǔn)則?! 《仪度胧杰浖煽啃缘囊蟊容^高。安全性的缺陷往往會導(dǎo)致災(zāi)難性的后果,即使是
2、非安全性系統(tǒng),由于大批量生產(chǎn)也會導(dǎo)致嚴(yán)重的經(jīng)濟(jì)損失。這就要求對嵌入式系統(tǒng),包括嵌入式軟件、嵌入式硬件進(jìn)行嚴(yán)格的測試、確認(rèn)和驗(yàn)證。 一般來說,軟件測試有7個基本階段,即單元或模塊測試、集成測試、外部功能測試、回歸測試、系統(tǒng)測試、驗(yàn)收測試、安裝測試。嵌入式軟件測試在4個階段上進(jìn)行,即模塊測試、集成測試、系統(tǒng)測試、硬件/軟件集成測試。前3個階段適用于任何軟件的測試,硬件/軟件集成測試階段是嵌入式軟件所特有的,目的是驗(yàn)證嵌入式軟件與其所控制的硬件設(shè)備能否正確地交互。 2、嵌入式軟件測試環(huán)境 嵌入式軟件測試的測試環(huán)境主
3、要有兩種: 1)目標(biāo)環(huán)境測試:基于目標(biāo)的測試測試全面有效,但是消耗較多的經(jīng)費(fèi)和時間?! ?)宿主環(huán)境測試:基于宿主的測試代價較小,但是有些對環(huán)境要求高的功能和性能宿主機(jī)無法模擬,測試無法實(shí)現(xiàn)?! ∧壳暗内厔菔前迅嗟臏y試轉(zhuǎn)移到宿主環(huán)境中進(jìn)行,把宿主環(huán)境測試無法實(shí)現(xiàn)的復(fù)雜和獨(dú)特功能放在目標(biāo)環(huán)境測試。我們的工作重點(diǎn)是基于宿主環(huán)境的測試,基于目標(biāo)環(huán)境的測試作為補(bǔ)充?! ≡趦蓚€環(huán)境中可以出現(xiàn)不同的軟件缺陷,重要的是目標(biāo)環(huán)境和宿主環(huán)境的測試內(nèi)容有所選擇。在宿主環(huán)境中,可以進(jìn)行邏輯或界面的測試、以及與硬件無關(guān)的測試。在模擬或
4、宿主環(huán)境中的測試消耗時間通常相對較少,用調(diào)試工具可以更快地完成調(diào)試和測試任務(wù)。而與定時問題有關(guān)的白盒測試、中斷測試、硬件接口測試只能在目標(biāo)環(huán)境中進(jìn)行。在軟件測試周期中,基于目標(biāo)的測試是在較晚的“硬件/軟件集成測試”階段開始的,如果不更早地在模擬環(huán)境中進(jìn)行白盒測試,而是等到“硬件/軟件集成測試”階段進(jìn)行全部的白盒測試,將耗費(fèi)更多的財力和人力?! ?、白盒測試與黑盒測試 白盒測試或基本代碼的測試主要任務(wù)為檢查程序的內(nèi)部設(shè)計,或者在開發(fā)環(huán)境中進(jìn)行硬件仿真,一般不必在目標(biāo)硬件上進(jìn)行。根據(jù)源代碼的組織結(jié)構(gòu)查找軟件缺陷,要求
5、測試人員對軟件的結(jié)構(gòu)和功能有詳細(xì)深入的了解。白盒測試與代碼覆蓋率密切相關(guān),可以在測試中計算出代碼的覆蓋率,保證測試的充分性。嵌入式軟件測試通常要求有較高的代碼覆蓋率,要選擇最重要的代碼進(jìn)行白盒測試?! 『诤袦y試在某些情況下也稱為功能測試。這類測試方法根據(jù)軟件的用途和外部特征查找軟件缺陷,不需要了解程序的內(nèi)部結(jié)構(gòu)。黑盒測試不依賴代碼,從實(shí)際使用的角度進(jìn)行測試。黑盒測試與需求緊密相關(guān),需求規(guī)格說明的質(zhì)量會直接影響測試的結(jié)果。在進(jìn)行嵌入式軟件黑盒測試時,要把系統(tǒng)的預(yù)期用途作為重要依據(jù),根據(jù)需求中對負(fù)載、定時、性能的要求,
6、判斷軟件是否滿足這些需求規(guī)范?! ?、嵌入式測試內(nèi)容 嵌入式軟件測試的內(nèi)容主要為:軟件代碼測試、編程規(guī)范標(biāo)準(zhǔn)符合性測試、代碼編碼規(guī)范符合性測試、開發(fā)維護(hù)文檔規(guī)范符合性測試、用戶文檔測試?! ∑渲熊浖y試服務(wù)范圍包括:系統(tǒng)級測試、應(yīng)用測試、中間件測試、BSP及驅(qū)動程序測試、嵌入式硬件設(shè)計測試?! ∑渲?,按照嵌入式軟件有無操作系統(tǒng)將嵌入式系統(tǒng)分為兩大類:無操作系統(tǒng)的嵌入式軟件、有操作系統(tǒng)的嵌入式軟件?! ?.1無操作系統(tǒng)的嵌入式軟件 無操作系統(tǒng)的嵌入式軟件主要包括C語言代碼、匯編語言代碼、Apa代碼等?! 語言模
7、式軟件測試:硬件設(shè)備及其他宏定義(編譯階段處理)、API函數(shù)測試、模塊初始化(包括系統(tǒng)初始化)、中間功能件測試、功能模塊測試、中斷處理測試、任務(wù)調(diào)度測試、區(qū)域功能測試、總體功能測試?! R編語言模式軟件測試:硬件設(shè)備及其他宏定義(編譯階段處理)、模塊初始化(包括系統(tǒng)初始化)、中間功能件測試、功能模塊測試、中斷處理測試、區(qū)域功能測試、總體功能測試。4.2基于操作系統(tǒng)的嵌入式軟件 基于操作系統(tǒng)的嵌入式軟件主要包括應(yīng)用軟件測試、系統(tǒng)軟件測試、整體性能測試。 應(yīng)用軟件測試:模塊初始化(包括系統(tǒng)初始化)、中間功能件測試、
8、功能模塊測試、區(qū)域功能測試、總體功能測試?! ∠到y(tǒng)軟件測試:硬件設(shè)備及其他宏定義(編譯階段處理)、API函數(shù)測試、模塊初始化(包括系統(tǒng)初始化)、中間功能件測試、功能模塊測試、中斷處理測試、區(qū)域功能測試、總體功能測試、標(biāo)準(zhǔn)符合性測試?! ∑渲?,操作系統(tǒng)的標(biāo)準(zhǔn)符合性測試的標(biāo)準(zhǔn)依據(jù)主要包括: IEEEPOSIX1003.1-1990(VSX4-PSE) IEE