嵌入式軟件測(cè)試方法_第1頁(yè)
嵌入式軟件測(cè)試方法_第2頁(yè)
嵌入式軟件測(cè)試方法_第3頁(yè)
嵌入式軟件測(cè)試方法_第4頁(yè)
嵌入式軟件測(cè)試方法_第5頁(yè)
已閱讀5頁(yè),還剩3頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、1、引言隨著經(jīng)濟(jì)的發(fā)展和科技的進(jìn)步,信息技術(shù)的發(fā)展使人類進(jìn)入數(shù)字時(shí)代,而伴隨著計(jì)算機(jī)技術(shù)發(fā)展起來(lái)的嵌入式技術(shù)得到了巨大的發(fā)展,改變了人們的日常。隨著對(duì)嵌入式產(chǎn)品對(duì)各方面的要求越來(lái)越高,對(duì)嵌入式產(chǎn)品的性能有著決定性影響的嵌入式軟件的測(cè)試顯得尤為重要。嵌入式的目的是保證軟件滿足需求規(guī)格說(shuō)明,與非嵌入式軟件的測(cè)試目的是一樣的。系統(tǒng)失效是系統(tǒng)沒(méi)有滿足個(gè)或多個(gè)正式需求規(guī)范中所要求的需求項(xiàng),嵌入式軟件有其特殊的失效判定準(zhǔn)則。而且嵌入式軟件對(duì)可靠性的要求比較高。安全性的缺陷往往會(huì)導(dǎo)致災(zāi)難性的后果,即使是非安全性系統(tǒng),由于大批量生產(chǎn)也會(huì)導(dǎo)致嚴(yán)重的經(jīng)濟(jì)損失。這就要求對(duì)嵌入式系統(tǒng),包括嵌入式軟件、嵌入式硬件進(jìn)行嚴(yán)

2、格的測(cè)試、確認(rèn)和驗(yàn)證。一般來(lái)說(shuō),軟件測(cè)試有7個(gè)基本階段,即單元或模塊測(cè)試、集成測(cè)試、外部、回歸測(cè)試、統(tǒng)測(cè)試、驗(yàn)收測(cè)試、安裝測(cè)試。嵌入式軟件測(cè)試在4個(gè)階段上進(jìn)行,即模塊測(cè)試、集成測(cè)試、系統(tǒng)測(cè)試、硬件/軟件集成測(cè)試。前3個(gè)階段適用于任何軟件的測(cè)試,硬件/軟件集成測(cè)試階段是嵌入式軟件所特有的,目的是驗(yàn)證嵌入式軟件與其所控制的硬件設(shè)備能否正確地交互。2、嵌入式軟件測(cè)試環(huán)境嵌入式軟件測(cè)試的測(cè)試環(huán)境主要有兩種:1 目標(biāo)環(huán)境測(cè)試:基于目標(biāo)的測(cè)試測(cè)試全面有效,但是消耗較多的經(jīng)費(fèi)和時(shí)間。2 宿主環(huán)境測(cè)試:基于宿主的測(cè)試代價(jià)較小,但是有些對(duì)環(huán)境要求高的功能和性能宿主機(jī)無(wú)法模擬,測(cè)試無(wú)法實(shí)現(xiàn)。目前的趨勢(shì)是把更多的測(cè)

3、試轉(zhuǎn)移到宿主環(huán)境中進(jìn)行,把宿主環(huán)境測(cè)試無(wú)法實(shí)現(xiàn)的復(fù)雜和獨(dú)特功能放在目標(biāo)環(huán)境測(cè)試。我們的重點(diǎn)是基于宿主環(huán)境的測(cè)試,基于目標(biāo)環(huán)境的測(cè)試作為補(bǔ)充。文檔在兩個(gè)環(huán)境中可以出現(xiàn)不同的軟件缺陷,重要的是目標(biāo)環(huán)境和宿主環(huán)境的測(cè)試內(nèi)容有所選擇。在宿主環(huán)境中,可以進(jìn)行邏輯或界面的測(cè)試、以及與硬件無(wú)關(guān)的測(cè)試。在模擬或宿主環(huán)境中的測(cè)試消耗時(shí)間通常相對(duì)較少,用調(diào)試工具可以更快地完成調(diào)試和測(cè)試任務(wù)。而與定時(shí)問(wèn)題有關(guān)的、中斷測(cè)試、硬件接口測(cè)試只能在目標(biāo)環(huán)境中進(jìn)行。在軟件測(cè)試周期中,基于目標(biāo)的測(cè)試是在較晚的“硬件/軟件集成測(cè)試”階段開(kāi)始的,如果不更早地在模擬環(huán)境中進(jìn)行白盒測(cè)試,而是等到“硬件/軟件集成測(cè)試”階段進(jìn)行全部的白盒

4、測(cè)試,將耗費(fèi)更多的財(cái)力和人力。3、白盒測(cè)試與白盒測(cè)試或基本代碼的測(cè)試主要任務(wù)為檢查程序的內(nèi)部設(shè)計(jì),或者在開(kāi)發(fā)環(huán)境中進(jìn)行硬件仿真,一般不必在目標(biāo)硬件上進(jìn)行。根據(jù)源代碼的組織結(jié)構(gòu)查找軟件缺陷,要求測(cè)試人員對(duì)軟件的結(jié)構(gòu)和功能有詳細(xì)深入的了解。白盒測(cè)試與代碼覆蓋率密切相關(guān),可以在測(cè)試中計(jì)算出代碼的覆蓋率,保證測(cè)試的充分性。嵌入式軟件測(cè)試通常要求有較高的代碼覆蓋率,要選擇最重要的代碼進(jìn)行白盒測(cè)試。黑盒測(cè)試在某些情況下也稱為功能測(cè)試。這類測(cè)試方法根據(jù)軟件的用途和外部特征查找軟件缺陷,不需要了解程序的內(nèi)部結(jié)構(gòu)。黑盒測(cè)試不依賴代碼,從實(shí)際使用的角度進(jìn)行測(cè)試。黑盒測(cè)試與需求緊密相關(guān),需求規(guī)格說(shuō)明的質(zhì)量會(huì)直接影響

5、測(cè)試的結(jié)果。在進(jìn)行嵌入式軟件黑盒測(cè)試時(shí),要把系統(tǒng)的預(yù)期用途作為重要依據(jù),根據(jù)需求中對(duì)負(fù)載、定時(shí)、性能的要求,判斷軟件是否滿足這些需求規(guī)范。4、內(nèi)容嵌入式軟件測(cè)試的內(nèi)容主要為:軟件代碼測(cè)試、編程規(guī)范標(biāo)準(zhǔn)符合性測(cè)試、代碼編碼規(guī)范符合性測(cè)試、開(kāi)發(fā)維護(hù)文檔規(guī)范符合性測(cè)試、用戶文檔測(cè)試。其中軟件測(cè)試服務(wù)范圍包括:系統(tǒng)級(jí)測(cè)試、應(yīng)用測(cè)試、中間件測(cè)試、BSP及驅(qū)動(dòng)程序測(cè)試、嵌入式硬件設(shè)計(jì)測(cè)試。文檔其中,按照嵌入式軟件有無(wú)將嵌入式系統(tǒng)分為兩大類:無(wú)操作系統(tǒng)的嵌入式軟件、有操作系統(tǒng)的嵌入式軟件。4.1 無(wú)操作系統(tǒng)的嵌入式軟件無(wú)操作系統(tǒng)的嵌入式軟件主要包括C語(yǔ)言代碼、匯編語(yǔ)言代碼、Apa代碼等。C語(yǔ)言模式軟件測(cè)試:

6、硬件設(shè)備及宏定義(編譯階段處理、API函數(shù)測(cè)試、模塊初始化(包括系統(tǒng)初始化、中間功能件測(cè)試、功能模塊測(cè)試、中斷處理測(cè)試、任務(wù)調(diào)度測(cè)試、區(qū)域功能測(cè)試、總體功能測(cè)試。匯編語(yǔ)言模式軟件測(cè)試:硬件設(shè)備及其他宏定義(編譯階段處理、模塊初始化(包括系統(tǒng)初始化、中間功能件測(cè)試、功能模塊測(cè)試、中斷處理測(cè)試、區(qū)域功能測(cè)試、總體功能測(cè)試。4.2 基于操作系統(tǒng)的嵌入式軟件基于操作系統(tǒng)的嵌入式軟件主要包括應(yīng)用軟件測(cè)試、系統(tǒng)軟件測(cè)試、整體性能測(cè)試。應(yīng)用軟件測(cè)試:模塊初始化(包括系統(tǒng)初始化、中間功能件測(cè)試、功能模塊測(cè)試、區(qū)域功能測(cè)試、總體功能測(cè)試。系統(tǒng)軟件測(cè)試:硬件設(shè)備及其他宏定義(編譯階段處理、API函數(shù)測(cè)試、模塊初始

7、化(包括系統(tǒng)初始化、中間功能件測(cè)試、功能模塊測(cè)試、中斷處理測(cè)試、區(qū)域功能測(cè)試、總體功能測(cè)試、標(biāo)準(zhǔn)符合性測(cè)試。其中,操作系統(tǒng)的標(biāo)準(zhǔn)符合性測(cè)試的標(biāo)準(zhǔn)依據(jù)主要包括:IEEEPOSIX1003.1-1990(VSX4-PSE文檔IEEEStdPOSIX1003.1c-1995Threads(pthreadsextension(VSTH-PSEIEEEPOSIX1003.13-1998Profile52(VSPSE52VSPSE52:2003-AconformancetestsuiteforIEEEStd1003.13-2003ProfilePSE52整體性能測(cè)試:基于操作系統(tǒng)之上的嵌入式系統(tǒng)整體軟件測(cè)

8、試,主要采用應(yīng)用軟件測(cè)試,著重分析性能、內(nèi)存分配、代碼覆蓋率、軟件執(zhí)行流程,并采用仿真器、邏輯分析儀的硬件測(cè)試工具進(jìn)行整體性能的測(cè)試。5、嵌入式軟件的測(cè)試工具用于輔助嵌入式軟件測(cè)試的工具很多,下面對(duì)幾類比較有用的有關(guān)嵌入式軟件的測(cè)試工具加以介紹和分析。5.1 內(nèi)存分析工具在嵌入式系統(tǒng)中,內(nèi)存約束通常是有限的。內(nèi)存分析工具用來(lái)處理在動(dòng)態(tài)內(nèi)存分配中存在的缺陷。當(dāng)動(dòng)態(tài)內(nèi)存被錯(cuò)誤地分配后,通常難以再現(xiàn),可能導(dǎo)致的失效難以追蹤,使用內(nèi)存分析工具可以避免這類缺陷進(jìn)入功能測(cè)試階段。目前有兩類內(nèi)存分析工具軟件和硬件的?;谲浖膬?nèi)存分析工具可能會(huì)對(duì)代碼的性能造成很大影響,從而嚴(yán)重影響實(shí)時(shí)操作;基于硬件的內(nèi)存分

9、析工具價(jià)格昂貴,而且只能在工具所限定的運(yùn)行環(huán)境中使用。5.2 性能分析工具在嵌入式系統(tǒng)中,程序的性能通常是非常重要的。經(jīng)常會(huì)有這樣的要求,在特定時(shí)間內(nèi)處理一個(gè)中斷,或生成具有特定定時(shí)要求的一幀。開(kāi)發(fā)人面臨的問(wèn)題是決定應(yīng)該對(duì)哪一部分代碼進(jìn)行優(yōu)化來(lái)改進(jìn)性能,常常會(huì)花大量的時(shí)間去優(yōu)化那些對(duì)性能沒(méi)有任何影響的代碼。性能分析工具會(huì)提供有關(guān)的數(shù)據(jù),說(shuō)明執(zhí)行時(shí)間是如何消耗的,是什么時(shí)候消耗的,以及每個(gè)例程所用的時(shí)間。根據(jù)這些數(shù)據(jù),確定哪些例程消耗部分執(zhí)行時(shí)間,從而可以決定如何優(yōu)化軟件,獲得更好的時(shí)間性能。對(duì)于大多數(shù)應(yīng)文檔用來(lái)說(shuō),大部分執(zhí)行時(shí)間用在相對(duì)少量的代碼上,費(fèi)時(shí)的代碼估計(jì)占所有軟件總量的5%-20%。

10、性能分析工具不僅能指出哪些例程花費(fèi)時(shí)間,而且與調(diào)試工具聯(lián)合使用可以引導(dǎo)開(kāi)發(fā)人員查看需要優(yōu)化的特定函數(shù),性能分析工具還可以引導(dǎo)開(kāi)發(fā)人員發(fā)現(xiàn)在系統(tǒng)調(diào)用中存在的錯(cuò)誤以及程序結(jié)構(gòu)上的缺陷。5.3 GUI測(cè)試工具很多嵌入式應(yīng)用帶有某種形式的圖形用戶界面進(jìn)行交互,有些系統(tǒng)性能測(cè)試足根掘用戶輸入響應(yīng)時(shí)間進(jìn)行的。GUI測(cè)試工具可以作為腳本工具有開(kāi)發(fā)環(huán)境中運(yùn)行測(cè)試用例,其功能包括對(duì)操作的記錄和回放、抓取屏幕顯示供以后分析和比較、設(shè)置和管理測(cè)試過(guò)程。很多嵌入式設(shè)備沒(méi)有GUI,但常??梢詫?duì)嵌入式設(shè)備進(jìn)行插裝來(lái)運(yùn)行GUI測(cè)試腳本,雖然這種方式可能要求對(duì)被測(cè)代碼進(jìn)行更改,但是節(jié)省了功能測(cè)試和回歸測(cè)試的時(shí)間。5.4 覆蓋

11、分析工具在進(jìn)行白盒測(cè)試時(shí),可以使用代碼覆蓋分析工具追蹤哪些代碼被執(zhí)行過(guò)。分析過(guò)程可以通過(guò)插裝來(lái)完成,插裝可以是在測(cè)試環(huán)境中嵌入硬件,也可以是在可執(zhí)行代碼中加入軟件,也可以是二者相結(jié)合。測(cè)試人員對(duì)結(jié)果數(shù)據(jù)加以總結(jié),確定哪些代碼被執(zhí)行過(guò),哪些代碼被巡漏了。覆蓋分析工具一般會(huì)提供有關(guān)功能覆蓋、分支覆蓋、條件覆蓋的信息。對(duì)于嵌入式軟件來(lái)說(shuō),代碼覆蓋分析工具可能侵入代碼的執(zhí)行,影響實(shí)時(shí)代碼的運(yùn)行過(guò)程?;谟布拇a覆蓋分析工具的侵入程度要小一些,但是價(jià)格一般比較昂貴,而且限制被測(cè)代碼的數(shù)量。6、國(guó)內(nèi)外的嵌入式測(cè)試服務(wù)嵌入式軟件測(cè)試要提供嵌入式軟件及硬件的端到端測(cè)試服務(wù),橫跨工具/設(shè)備、實(shí)時(shí)操作系統(tǒng)(RT

12、OS開(kāi)發(fā)平臺(tái)和編程語(yǔ)言。服務(wù)內(nèi)容包括嵌入式軟件和硬件的測(cè)試策略和代碼級(jí)測(cè)試,以及覆蓋分析,功能測(cè)試,壓力測(cè)試,代碼審查,調(diào)試和代碼維護(hù)。測(cè)試服務(wù)覆蓋從設(shè)備驅(qū)動(dòng),中間件/協(xié)議和系統(tǒng)及應(yīng)用水平測(cè)試。主要文檔解決如通信、汽車(chē)電子行業(yè)、消費(fèi)電子及多媒體、工業(yè)自動(dòng)化、網(wǎng)絡(luò)、存儲(chǔ)、計(jì)算機(jī)硬件和外設(shè)的嵌入式系統(tǒng)測(cè)試。6.1 國(guó)外嵌入式軟件測(cè)試服務(wù)國(guó)外的嵌入式軟件測(cè)試服務(wù)有:黑盒測(cè)試、功能測(cè)試、單元測(cè)試、回歸測(cè)試、配置測(cè)試、壓力測(cè)試、UI測(cè)試、安裝測(cè)試、模塊化測(cè)試、集成測(cè)試、手動(dòng)黑盒測(cè)試、負(fù)載測(cè)試、驗(yàn)收測(cè)試。提供給用戶的測(cè)試結(jié)果主要為:測(cè)試規(guī)劃、測(cè)試用例、驗(yàn)收測(cè)試用例、用戶手冊(cè)、缺陷報(bào)告、改進(jìn)建議等。6.2

13、國(guó)內(nèi)嵌入式軟件測(cè)試服務(wù)國(guó)內(nèi)的嵌入式軟件測(cè)試服務(wù)還處于起步階段,并且主要限于嵌入式應(yīng)用軟件、工業(yè)控制軟件,測(cè)試的主要內(nèi)容包括:1 功能測(cè)試依據(jù)ISO/IEC9126-1量*II型,驗(yàn)證系統(tǒng)是否滿足明確和隱含要求功能。功能測(cè)試覆蓋實(shí)用性、準(zhǔn)確性、互操作性、互用性、保密安全性、功能依從性。2 可靠性測(cè)試依據(jù)ISO/IEC9126-1量*II型,測(cè)試在指定條件使用時(shí),軟件產(chǎn)品維持規(guī)定的性能級(jí)別的能力??煽啃詼y(cè)試覆蓋成熟性、容錯(cuò)性、易恢復(fù)性等質(zhì)量特性。3 性能測(cè)試依據(jù)ISO/IEC9126-凝量*II型,檢測(cè)在規(guī)定條件下,軟件產(chǎn)品執(zhí)行其功能時(shí),提供適當(dāng)?shù)捻憫?yīng)和處理時(shí)間以及吞吐量的能力以及使用合適的數(shù)量和

14、類型的資源的能力。4 安全性測(cè)試文檔依據(jù)ISO/IEC9126-凝量*II型,測(cè)試在指定條件使用時(shí),軟件產(chǎn)品維持規(guī)定的性能級(jí)別的能力??煽啃詼y(cè)試覆蓋成熟性、容錯(cuò)性、易恢復(fù)性等質(zhì)量特性。5 易用性測(cè)試依據(jù)ISO/IEC9126-頌量*II型,測(cè)試在指定條件使用時(shí),軟件產(chǎn)品被理解、學(xué)習(xí)、使用和吸引用戶的能力。測(cè)試覆蓋易理解性、易學(xué)性、易操作性、吸引性。6 可移植性測(cè)試依據(jù)ISO/IEC9126-既量*II型,測(cè)試軟件產(chǎn)品從一種環(huán)境遷移到另外一種環(huán)境的能力,測(cè)試覆蓋適應(yīng)性7、嵌入式培訓(xùn)課程嵌入式軟件測(cè)試的培訓(xùn)在國(guó)內(nèi)還沒(méi)有相成規(guī)模,絕大部分是在軟件測(cè)試中穿插幾個(gè)課時(shí)進(jìn)行嵌入式軟件測(cè)試的簡(jiǎn)單培訓(xùn),并且主

15、要集中于以下幾個(gè)方面:1嵌入式領(lǐng)域軟件工程與軟件質(zhì)量的保證:嵌入式軟件危機(jī)與軟件缺陷,軟件質(zhì)量的過(guò)程與控制,嵌入式軟件的特點(diǎn),嵌入式軟件的開(kāi)發(fā)過(guò)程。2 嵌入式軟件測(cè)試技術(shù):掌握白盒測(cè)試、黑盒測(cè)試、灰盒測(cè)試,測(cè)試覆蓋率、回歸測(cè)試等重要概念,掌握單測(cè)試、集成測(cè)試、系統(tǒng)測(cè)試等測(cè)試過(guò)程,測(cè)試的誤區(qū)和經(jīng)驗(yàn)。3 嵌入式測(cè)試過(guò)程與測(cè)試管理:了解測(cè)試過(guò)程及測(cè)試管理的主要內(nèi)容,掌握測(cè)試需求確立、測(cè)試計(jì)劃和測(cè)試大綱制定、測(cè)試用例設(shè)計(jì)、測(cè)試用例執(zhí)行、測(cè)試結(jié)果收集和測(cè)試結(jié)果分析,以及測(cè)試錯(cuò)誤反饋和測(cè)試報(bào)告生成等工作。掌握測(cè)試過(guò)程輔助支持工具的使用。4 結(jié)合目前主流應(yīng)用,了解嵌入式測(cè)試工具支持及操作和使用,搭建嵌入式軟

16、件的測(cè)試平臺(tái),掌握嵌入式測(cè)試的思想和方法:軟件工程與質(zhì)量保證支撐系統(tǒng)(Panorama+測(cè)試自動(dòng)化工具(Vectorcast、硬件輔助的實(shí)時(shí)在線白盒測(cè)試工具(Codetest、黑盒測(cè)試工具(GESTE基于全數(shù)字仿真的嵌入式軟件綜合測(cè)試工具(CRESTS/ATA節(jié)CRESTS/TES兼入式軟件仿真工具Eurosim。文檔5 通過(guò)經(jīng)典嵌入式測(cè)試安全分析,學(xué)會(huì)設(shè)計(jì)嵌入式軟件測(cè)試的解決方案。鑒于嵌入式測(cè)試的特殊要求,嵌入式測(cè)試課程應(yīng)側(cè)重以下幾個(gè)主要內(nèi)容:1嵌入式系統(tǒng)概要:主要包括嵌入式發(fā)展、特點(diǎn)、行業(yè)涵蓋、新技術(shù)趨勢(shì)等;2嵌入式硬件平臺(tái):主要包括ARM、DSPFPGACPLD單片機(jī)、SSI12c12s

17、EPLwDMAUARTIrDA、USBEthernet、MCI、SDCANPWM、QELGPIQJTA潴;3嵌入式編程語(yǔ)言和環(huán)境概要:主要包括C、C+、Ada、匯編、JavaKEILIAREmbeddedWorkbench、SourceryG+、CodeRedTechnoloigy、CCstudioIDE等;4嵌入式測(cè)試的內(nèi)容:主要包括設(shè)計(jì)方案測(cè)試、嵌入式軟件代碼測(cè)試、專項(xiàng)要求測(cè)試、嵌入式軟件標(biāo)準(zhǔn)、嵌入式軟件測(cè)試標(biāo)準(zhǔn)、嵌入式文檔規(guī)范評(píng)測(cè)等;5嵌入式測(cè)試工具使用:主要包括CodeTes、tVectorCAST、CRESTS/ATATLOGISCORELogicAnalyzerOscilloscope等;6嵌入式測(cè)試過(guò)程管理與報(bào)告生成:主要包括測(cè)試規(guī)劃、人員管理、測(cè)試用例、驗(yàn)收測(cè)試用例、用戶手冊(cè)、缺陷報(bào)告、改進(jìn)建議等。其中,嵌入式測(cè)試的內(nèi)容、工具使用、過(guò)程管理與報(bào)告生成是嵌入式軟

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論