嵌入式系統(tǒng)測試方法介紹_第1頁
嵌入式系統(tǒng)測試方法介紹_第2頁
嵌入式系統(tǒng)測試方法介紹_第3頁
嵌入式系統(tǒng)測試方法介紹_第4頁
嵌入式系統(tǒng)測試方法介紹_第5頁
已閱讀5頁,還剩9頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

嵌入式系統(tǒng)測試方法介紹Madeby陳劭謙什么是軟件測試專家說法:測試是為了發(fā)現(xiàn)錯誤而執(zhí)行程序的過程軟件測試是對軟件建立信心的過程……IEEE1983:使用人工或自動手段來運(yùn)行某個(gè)系統(tǒng)的過程,其目的在于檢驗(yàn)它是否滿足規(guī)定的需求或是弄清結(jié)果與實(shí)際結(jié)果之間的差別軟件測試的重要性海灣戰(zhàn)爭期間,由于跟蹤軟件在運(yùn)行100小時(shí)后出現(xiàn)0.36秒的舍入誤差,導(dǎo)致未能成功攔截一枚飛毛腿導(dǎo)彈,致使28名聯(lián)軍士兵喪生。1963年美國宇航局事例(Fortran程序):

DO5I=1,3

誤寫成 DO5I=1.3;

一點(diǎn)之差導(dǎo)致火箭發(fā)射失敗1996年6月4日,阿利亞娜5型火箭首次發(fā)射失敗嵌入式軟件測試環(huán)境嵌入式軟件與其他軟件相比,具有專用性,它只能在需求所指定的硬件平臺上運(yùn)行。嵌入式軟件的開發(fā)環(huán)境和運(yùn)行環(huán)境往往互相分離,即采用交叉開發(fā)的方式:開發(fā)工具即編輯和編譯軟件運(yùn)行在宿主機(jī)上,編譯好的軟件需要下載到目標(biāo)機(jī)上,主機(jī)和目標(biāo)機(jī)建立起通訊連接,并傳輸調(diào)試命令和數(shù)據(jù)。軟件測試和嵌入式軟件測試一般來說,軟件測試有7個(gè)基本階段,即單元或模塊測試、集成測試、外部功能測試、回歸測試、系統(tǒng)測試、驗(yàn)收測試、安裝測試。嵌入式軟件測試在4個(gè)階段上進(jìn)行,即模塊測試、集成測試、系統(tǒng)測試、硬件/軟件集成測試。前3個(gè)階段適用于任何軟件的測試,硬件/軟件集成測試階段是嵌入式軟件所特有的,目的是驗(yàn)證嵌入式軟件與其所控制的硬件設(shè)備能否正確地交互。嵌入式軟件測試方法1.按階段可分為單元測試、集成測試、確認(rèn)測試和系統(tǒng)測試。(1)單元測試(Unittesting):完成對最小的軟件設(shè)計(jì)單元的驗(yàn)證工作,只有在該基礎(chǔ)之上才能保證后續(xù)的測試工作。主要采用白盒測試技術(shù),用來保證單元的最大覆蓋率和發(fā)現(xiàn)編碼和詳細(xì)設(shè)計(jì)中的錯誤。單元測試一般可以就在宿主環(huán)境上運(yùn)行。(2)集成測試(Integrationtesting):是把經(jīng)過單元測試的模塊按軟件的結(jié)構(gòu)組合在一起作為一個(gè)系統(tǒng)或一個(gè)子系統(tǒng)來綜合測試。主要是用來發(fā)現(xiàn)程序的架構(gòu)和體系結(jié)構(gòu)設(shè)計(jì)方面的錯誤。雖然白盒測試用來保證大部分的路徑覆蓋率,但黑盒測試在集成測試中還是挺流行的。集成測試一般是在宿主環(huán)境中進(jìn)行。(3)確認(rèn)測試(Validationtesting):是把軟件系統(tǒng)作為一個(gè)單一的執(zhí)行實(shí)體而進(jìn)行的需求有效性測試。其目的是驗(yàn)證我們的軟件是否滿足所有的功能、行為和執(zhí)行要求,這部分主要是用黑盒測試。(4)系統(tǒng)測試(SystemTesting):將系統(tǒng)的測試軟件系統(tǒng)和其他資源(硬件、人機(jī)交互信息資源和數(shù)據(jù)庫等)都綜合起來構(gòu)成完整的計(jì)算機(jī)應(yīng)用系統(tǒng)進(jìn)行測試的。是用來確保整個(gè)系統(tǒng)的性能、執(zhí)行強(qiáng)度、安全性和功能都達(dá)到了我們的要求。所以在這個(gè)階段是要和硬件結(jié)合,即和目標(biāo)板一起進(jìn)行測試,在目標(biāo)環(huán)境中進(jìn)行。嵌入式軟件測試方法2.根據(jù)測試時(shí)是否運(yùn)行被測試的程序,軟件測試技術(shù)還可分為靜態(tài)測試方法和動態(tài)測試方法。靜態(tài)測試方法的主要特征就是不運(yùn)行被測試的程序,主要采用檢查、技術(shù)復(fù)審和代碼靜態(tài)分析來檢查被測軟件的錯誤,對于嵌入式軟件來說該測試只需在主機(jī)上進(jìn)行就可以了;動態(tài)測試方法是使被測代碼在相對真實(shí)環(huán)境下運(yùn)行,從多角度觀察程序運(yùn)行時(shí)能體現(xiàn)的功能、行為、結(jié)構(gòu)等,并從中發(fā)現(xiàn)錯誤。它又分為白盒測試方法和黑盒測試方法。對于嵌入式軟件來說,為了保證測試的真實(shí)性,一般要求在目標(biāo)環(huán)境中進(jìn)行。嵌入式軟件測試方法3.從測試是否針對系統(tǒng)的內(nèi)部結(jié)構(gòu)和邏輯處理過程,通常可分為:白盒測試與黑盒測試。黑盒測試:若被測程序與特定的功能相聯(lián)系,我們可以針對功能設(shè)計(jì)測試,以證實(shí)各功能完全可執(zhí)行,同時(shí)在功能中尋找錯誤把測試對象看做一個(gè)黑盒子,完全不考慮程序內(nèi)部的邏輯結(jié)構(gòu)和內(nèi)部特性,只依據(jù)程序的需求規(guī)格說明書,檢查程序的功能是否正確。黑盒測試又叫做功能測試或數(shù)據(jù)驅(qū)動測試。黑盒測試類似于中醫(yī):使用望、聞、問、切白盒測試:若被測程序與特定的結(jié)構(gòu)相聯(lián)系,我們可以針對結(jié)構(gòu)設(shè)計(jì)測試,以確保內(nèi)部的“所有齒輪相吻合”,即軟件的內(nèi)部過程是合理的,是遵照規(guī)定執(zhí)行的白盒測試又稱玻璃盒測試。把測試對象看作一個(gè)透明的盒子,充分利用其邏輯結(jié)構(gòu)和有關(guān)信息,設(shè)計(jì)和選擇測試用例。白盒測試又稱為結(jié)構(gòu)測試或邏輯驅(qū)動測試白盒測試類似于西醫(yī)看病,通過X光、CT掃描等手段嵌入式軟件測試方法軟硬件集成測試過程軟硬件集成測試應(yīng)該在嵌入式軟件集成測試完成的基礎(chǔ)上進(jìn)行。此時(shí)軟件已按照功能模塊組裝成子系統(tǒng),為了有效驗(yàn)證該子系統(tǒng)軟件與硬件功能的協(xié)調(diào)性,保證軟件在特定的硬件平臺上能夠按照設(shè)計(jì)的要求進(jìn)行工作,完成其要求的功能、性能指標(biāo),就必須進(jìn)行嵌入式軟件的軟硬件集成測試。軟硬件集成測試主要是在軟件集成測試完成后,形成獨(dú)立的配置項(xiàng)后,加載到相應(yīng)的硬件平臺上進(jìn)行測試,以確定軟硬件是否能夠協(xié)同工作①目標(biāo)機(jī)上電、宿主機(jī)打開調(diào)試環(huán)境;②加載經(jīng)過集成測試的嵌入式軟件到目標(biāo)機(jī),并啟動運(yùn)行軟件;③根據(jù)評審?fù)瓿傻臏y試說明及測試計(jì)劃進(jìn)行軟硬件集成測試;④根據(jù)測試結(jié)果編寫測試報(bào)告;

軟件測試策略先靜后動,從小到大,由黑到白先靜態(tài),后動態(tài)從代碼規(guī)則檢查做起測試開展得越早,付出的代價(jià)就越小靜態(tài)分析簡單、方便,成本低、見效快靜態(tài)分析為動態(tài)測試打下良好基礎(chǔ)大大降低了測試的成本先單元,后集成單元測試是集成測試的基礎(chǔ)單元測試得越好,集成測試的工作量就越小先黑盒后白盒先驗(yàn)證軟件功能是否滿足需求后驗(yàn)證程序覆蓋率,補(bǔ)充測試嵌入式軟件的測試工具測試工具對于軟件測試直觀重要,在軟件測試過程中,使用合適的測試工具可以提高測試效率。用于輔助嵌入式軟件測試的工具很多,下面對幾類比較有用的有關(guān)嵌入式軟件的測試工具加以介紹和分析。⑴內(nèi)存分析工具在嵌入式系統(tǒng)中,內(nèi)存約束通常是有限的。內(nèi)存分析工具用來處理在動態(tài)內(nèi)存分配中存在的缺陷。當(dāng)動態(tài)內(nèi)存被錯誤地分配后,通常難以再現(xiàn),可能導(dǎo)致的失效難以追蹤,使用內(nèi)存分析工具可以避免這類缺陷進(jìn)入功能測試階段。

⑵性能分析工具在嵌入式系統(tǒng)中,程序的性能通常是非常重要的。經(jīng)常會有這樣的要求,在特定時(shí)間內(nèi)處理一個(gè)中斷,或生成具有特定定時(shí)要求的一幀。開發(fā)人面臨的問題是決定應(yīng)該對哪一部分代碼進(jìn)行優(yōu)化來改進(jìn)性能,常常會花大量的時(shí)間去優(yōu)化那些對性能沒有任何影響的代碼。性能分析工具會提供有關(guān)的數(shù)據(jù),說明執(zhí)行時(shí)間消耗的詳細(xì)信息。根據(jù)這些數(shù)據(jù),確定哪些例程消耗部分執(zhí)行時(shí)間,從而可以決定如何優(yōu)化軟件,獲得更好的時(shí)間性能。嵌入式軟件的測試工具⑶GUI測試工具很多嵌入式應(yīng)用帶有某種形式的圖形用戶界面進(jìn)行交互,有些系統(tǒng)性能測試是根據(jù)用戶輸入響應(yīng)時(shí)間進(jìn)行的。GUI測試工具可以作為腳本工具有開發(fā)環(huán)境中運(yùn)行測試用例,其功能包括對操作的記錄和回放、抓取屏幕顯示供以后分析和比較、設(shè)置和管理測試過程。⑷覆蓋分析工具在進(jìn)行白盒測試時(shí),可以使用代碼覆蓋分析工具追蹤哪些代碼被執(zhí)行過。分析過程可以通過插裝來完成,插裝可以是在測試環(huán)境中嵌入硬件,也可以是在可執(zhí)行代碼中加入軟件,也可以是二者相結(jié)合。測試人員對結(jié)果數(shù)據(jù)加以總結(jié),確定哪些代碼被執(zhí)行過,哪些代碼被遺漏了。覆蓋分析工具一般會提供有關(guān)功能覆蓋、分支覆蓋、條件覆蓋的信息。總結(jié)

軟件測試能夠發(fā)現(xiàn)軟件中存在的錯誤和缺陷,驗(yàn)證軟件的

溫馨提示

  • 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)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論