嵌入式軟件測試與軟件測試的同異_第1頁
嵌入式軟件測試與軟件測試的同異_第2頁
嵌入式軟件測試與軟件測試的同異_第3頁
嵌入式軟件測試與軟件測試的同異_第4頁
嵌入式軟件測試與軟件測試的同異_第5頁
已閱讀5頁,還剩1頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、嵌入式軟件測試與一般軟件測試之異同研究摘要:隨著計算機(jī)技術(shù)的普及,軟件系統(tǒng)已經(jīng)深入到生活的各個方面,從普通的計算機(jī)軟件,到銀行或超市的終端系統(tǒng),甚至到手機(jī)的軟件系統(tǒng)。對軟件的質(zhì)量要求也在不斷提高,軟件測試及其技術(shù)也有了飛速發(fā)展。在對軟件測試技術(shù)相關(guān)基本概念研究解析的基礎(chǔ)上,分析軟件測試起源與發(fā)展,保證軟件產(chǎn)品的質(zhì)量、提高產(chǎn)品的可靠性。對于嵌入式軟件系統(tǒng),因其多樣性,基于操作系統(tǒng),使用的開發(fā)環(huán)境,微控制器都是日益繁多的,所以嵌入式軟件測試與普通軟件測試相比有其自身的特點。關(guān)鍵字:軟件測試;嵌入式軟件測試;軟件質(zhì)量Abstract:As the population of using comput

2、er get growing, it is not doubt software has been rooted in every aspects of our daily life, from the common software you can get from the market to the high security software used in the blank and the terminator in the supermarket, even to the software which be put into Mobil phone,so the requireme

3、nt for its quality is never ignored,Software testing and its technology has evolved. On the basis of digging into the software test and analyses the history of it, which ensure the quality and stability value to the products. As embedded software on system, the diversity of the development environme

4、nt, the controller are more onerous, so embedded software testing compared to ordinary software testing has its own characteristics.Key words: software testing; embedded software; quality of software1引言 嵌入式軟件的開發(fā)和測試也就與普通軟件的開發(fā)和測試策略有了很大的不同,嵌入式軟件系統(tǒng)是一種針對特殊任務(wù)、特殊環(huán)境而進(jìn)行特殊設(shè)計的定制產(chǎn)品,有其專門的開發(fā)環(huán)境、軟硬件緊密結(jié)合、嚴(yán)格的實時要求等特點。

5、使得嵌入式軟件測試與普通軟件測試雖有相似之處,但有也有其自身獨特的特點。2軟件測試和嵌入式軟件測試2.1軟件測試的定義及目的軟件測試,即Software Testing。軟件測試的定義有很多,在1979年出版的一本經(jīng)典著作軟件測試藝術(shù)(The art of software testing)中,GLEMFORD J.MYERS曾經(jīng)對軟件測試下過如下定義:軟件測試就是為了發(fā)現(xiàn)錯誤而執(zhí)行程序或系統(tǒng)的過程。雖然它不太完善,但放在當(dāng)時的情況下是可以說的通的。隨著計算機(jī)和軟件技術(shù)的發(fā)展,軟件應(yīng)用的復(fù)雜性和規(guī)模的不斷擴(kuò)大,軟件測試技術(shù)的研究也取得了很大的突破。早期的定義已經(jīng)不適用了,許多專家對軟件測試提出

6、了各種各樣的定義。綜合起來,我們可以定義“軟件測試是由一個程序的行為在有限測試用例集合上,針對期望的行為的動態(tài)驗證組成,測試用例是從通常的無限執(zhí)行域中適當(dāng)選取的”。長期以來對軟件測試存在著兩種不同的認(rèn)識。一種觀點認(rèn)為,軟件軟件測試的目的是證明 軟件的正確性;而另一種觀點則認(rèn)為,軟件測試的目的是盡可能尋找軟件中隱藏的錯誤和缺陷。2.2軟件測試的特點1、大多數(shù)硬件實驗失敗的方式和方法是固定的,而軟件測試失敗則是毫無規(guī)律的,探索所有軟件測試失敗的模式是不可能的。2、軟件方面的許多缺陷都源于設(shè)計和實現(xiàn)上的錯誤,而不是源于生產(chǎn)制造方面的缺陷。3、軟件質(zhì)量保證的關(guān)鍵在于我們?nèi)绾巫尡苊猱a(chǎn)生錯誤和消除已經(jīng)產(chǎn)生

7、的錯誤,是程序中的錯誤密度達(dá)到盡可能低的程度。4、軟件測試是一個動態(tài)的執(zhí)行過程,體現(xiàn)在輸入、行為和行為的輸出結(jié)果上。5、軟件測試是一個有限的集合。2.3嵌入式軟件測試的定義及目的 嵌入式軟件是一種比較特出的軟件,軟件經(jīng)過分析,設(shè)計,編碼后只有燒入硬件環(huán)境中才可以看見,比如數(shù)字電視的中間件軟件,洗衣機(jī)的自動控制軟件,手機(jī)游戲軟件等等。嵌入式軟件測試/嵌入式測試或叫交叉測試(cross-test)的目的與普通軟件測試是相同的,都是為了發(fā)現(xiàn)軟件缺陷,而后修正缺陷以提高軟件的可靠性。嵌入式系統(tǒng)安全性的失效可能會導(dǎo)致災(zāi)難性的后果,即使非安全性失效,由于其應(yīng)用場合特殊也會導(dǎo)致重大經(jīng)濟(jì)損失。因此,往往嵌入式

8、軟件對可靠性的要求比普通軟件高。這就要求對嵌入式軟件進(jìn)行嚴(yán)格的測試、確認(rèn)和驗證,以提高產(chǎn)品的可靠性。2.4嵌入式軟件測試的特點嵌入式軟件測試與普通軟件測試相比,有其自身的特點:1、 嵌入式軟件測試是在特定的硬件環(huán)境下才能運行的軟件。2、 嵌入式軟件測試除了要保證嵌入式軟件在特定環(huán)境下運行的高可靠性,還要保證嵌入式軟件系統(tǒng)的實時性。3、 嵌入式軟件產(chǎn)品為了滿足高可靠性的要求,不允許內(nèi)存在運行時有泄漏等情況發(fā)生,因此嵌入式軟件測試除了對軟件進(jìn)行性能測試、GUI測試、覆蓋分析測試是同普通軟件測試一樣都不可或缺之外,還要對內(nèi)存進(jìn)行測試。4、 嵌入式產(chǎn)品不同于一般軟件產(chǎn)品,在嵌入式軟件和硬件集成測試完成

9、之后,并不代表測試全部完成,在第一件嵌入式產(chǎn)品生產(chǎn)出來之后,還需對其進(jìn)行產(chǎn)品測試。5、 嵌入式軟件測試的最終目的是使嵌入式產(chǎn)品在能夠滿足所有功能的同時安全可靠的進(jìn)行。3嵌入式軟件測試與普通軟件測試的異同點3.1嵌入式軟件測試與普通軟件測試的相同點嵌入式軟件測試作為一種特殊的軟件測試,它的目的和原則與普通軟件測試是相同的,都是為了發(fā)現(xiàn)軟件缺陷,而后修正缺陷以提高軟件的可靠性。它們的中心任務(wù)都是驗證和確認(rèn)其實際實現(xiàn)是否符合需求要求,在驗證過程中發(fā)現(xiàn)系統(tǒng)缺陷。嵌入式軟件測試與普通軟件測試具有相同的信息流,如圖3-1。測試結(jié)果分析可靠性分析排錯軟件配置測試配置測試工具預(yù)期結(jié)果出錯率數(shù)據(jù)錯誤改正后的軟件

10、預(yù)測的可靠性 圖3-1 軟件測試信息流嵌入式軟件測和普通軟件測試對象相同,包括軟件中所有內(nèi)容,貫穿軟件定義與開發(fā)的整個過程。也就是說,需求分析、概要設(shè)計、詳細(xì)設(shè)計、程序編碼等各階段所得到的文檔及源程序,包括需求規(guī)格說明、概要設(shè)計規(guī)格說明、詳細(xì)設(shè)計規(guī)格說明以及源程序,都應(yīng)當(dāng)稱為軟件測試的對象。3.2嵌入式軟件測試與普通軟件測試的區(qū)別由于嵌入式系統(tǒng)的自身特點,如實時性(Real-timing),內(nèi)存不豐富,I/O通道少,開發(fā)工具昂貴,并且與硬件緊密相關(guān)CPU種類繁多,等等。嵌入式軟件的開發(fā)和測試也就與一般商用軟件的開發(fā)和測試策略有了很大的不同,可以說嵌入式軟件是最難測試的一種軟件。嵌入式系統(tǒng)由于自

11、己本身的特點,如實時性強(qiáng)、內(nèi)存不豐富、I/O通道少、開發(fā)工具昂貴并且與硬件緊密相關(guān)、CPU種類繁多等等,決定了不同的嵌入式系統(tǒng)必須有不同的測試方法。3.2.1嵌入式軟件測試的各個階段測試的環(huán)境是不一樣的嵌入式軟件開發(fā)和運行的環(huán)境是分開的,嵌入式軟件開發(fā)環(huán)境往往是交叉開發(fā)環(huán)境。因此,各個階段測試的環(huán)境是不一樣的。單元測試階段:所有的單元測試都可以在宿主機(jī)環(huán)境下進(jìn)行,只有個別情況下會特別指定單元測試要直接在目標(biāo)機(jī)環(huán)境下進(jìn)行。應(yīng)該最大化在宿主機(jī)環(huán)境下進(jìn)行軟件測試的比例,通過盡可能小的目標(biāo)單元訪問其指定的目標(biāo)單元界面,提高單元的有效性和針對性。在宿主機(jī)平臺上運行測試的速度比在目標(biāo)機(jī)平臺上快得多,當(dāng)在宿

12、主機(jī)平臺上完成測試后可以在目標(biāo)機(jī)環(huán)境下重復(fù)做一次簡單的確認(rèn)測試,確認(rèn)測試結(jié)果在宿主機(jī)和目標(biāo)機(jī)上沒有不同。在目標(biāo)機(jī)環(huán)境下進(jìn)行確認(rèn)測試將確定一些未知的、未預(yù)料到的、未說明的宿主機(jī)與目標(biāo)機(jī)的不同之處,例如,目標(biāo)機(jī)編譯器可能有缺陷,但在宿主機(jī)編譯器上沒有。集成測試階段:軟件集成也可在宿主機(jī)環(huán)境下完成,在宿主句平臺上模擬目標(biāo)環(huán)境運行,在此級別上的確認(rèn)測試可以確定一些與環(huán)境有關(guān)的問題,比如內(nèi)存定位和分配方面的一些錯誤。在宿主機(jī)環(huán)境上的集成測試的使用,依賴于目標(biāo)系統(tǒng)的具體功能有多少。有些嵌入式系統(tǒng)與目標(biāo)機(jī)環(huán)境耦合的非常緊密,這種情況下就不適合在宿主機(jī)環(huán)境下進(jìn)行集成。對于一個大型的軟件開發(fā)而言,集成可以分幾個

13、級別。低級別的軟件集成在宿主機(jī)平臺上完成有很大優(yōu)勢,級別越高,集成越依賴于目標(biāo)環(huán)境。系統(tǒng)測試和確認(rèn)測試:所有的系統(tǒng)測試和確認(rèn)測試必須在目標(biāo)機(jī)環(huán)境下執(zhí)行。當(dāng)然在宿主機(jī)上開發(fā)和執(zhí)行系統(tǒng)測試,然后移植到目標(biāo)機(jī)環(huán)境重復(fù)執(zhí)行是很方便的。對目標(biāo)系統(tǒng)的依賴性會妨礙將宿主機(jī)上的系統(tǒng)測試移植到目標(biāo)系統(tǒng)上,況且只有少數(shù)開發(fā)者會卷入系統(tǒng)測試,所以有時放棄在宿主機(jī)上執(zhí)行系統(tǒng)測試可能更方便。確認(rèn)測試最終必須在目標(biāo)機(jī)環(huán)境中進(jìn)行,因為系統(tǒng)的確認(rèn)必須在真實系統(tǒng)下完成,而不能在宿主機(jī)環(huán)境下模擬,這關(guān)系到嵌入式軟件的最終使用。3.2.2嵌入式軟件測試的復(fù)雜多樣 因為嵌入式系統(tǒng)的一個突出的特點,是其專用性,即一個嵌入式系統(tǒng)只進(jìn)行特

14、定的一項或幾項工作,嵌入式軟件運行的平臺都是為進(jìn)行這些工作而開發(fā)出來的專用硬件電路,他們的體系結(jié)構(gòu)、硬件電路,甚至所用的元器件都是不一樣的,所以嵌入式軟件運行的平臺也是復(fù)雜多樣的。由于開發(fā)平臺的復(fù)雜多樣性,使的嵌入式軟件的測試從測試環(huán)境的建立到測試用例的編寫也是復(fù)雜多樣的。與不同的開發(fā)平臺對應(yīng)的嵌入式軟件是肯定不相同的。嵌入式軟件測試在一定程度的上并不只是對嵌入式軟件的測試,很多情況下是對嵌入式軟件在開發(fā)平臺中同硬件的兼容性測試。因此,對于任何一套嵌入式軟件系統(tǒng),都需要有其自己的測試、創(chuàng)建其自己的測試環(huán)境、編寫其自己的測試用例。3.2.3 嵌入式軟件測試中對實時性有嚴(yán)格要求 由于嵌入式系統(tǒng)的實

15、時性,決定了嵌入式系統(tǒng)的運行時間也是受嚴(yán)格限制的。嵌入式軟件在測試時應(yīng)當(dāng)充分考慮系統(tǒng)實時響應(yīng)的問題,很多嵌入式系統(tǒng)會要求系統(tǒng)的響應(yīng)時間應(yīng)在多少毫秒之內(nèi)。在測試有嚴(yán)格響應(yīng)時間要求的嵌入式系統(tǒng)時要做負(fù)載測試。3.2.4 嵌入式軟件測試需要進(jìn)行插樁測試 嵌入式軟件最終的測試需要在目標(biāo)機(jī)平臺上進(jìn)行,在對目標(biāo)機(jī)進(jìn)行測試時,我們需要對在宿主機(jī)上編譯通過的代碼進(jìn)行插樁處理。插樁完成之后,需要重新對代碼進(jìn)行編譯,如果編譯通過,就可以將編譯好的代碼下載到目標(biāo)機(jī)上執(zhí)行。在目標(biāo)機(jī)執(zhí)行程序的時候,需要將插樁時預(yù)測好的數(shù)據(jù)返回到宿主機(jī)上,因此,宿主機(jī)和目標(biāo)機(jī)上要有能夠相互傳遞數(shù)據(jù)的網(wǎng)線或者串口線,宿主機(jī)上同時要有能夠處理返回的數(shù)據(jù)的處理程序或

溫馨提示

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

最新文檔

評論

0/150

提交評論