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

下載本文檔

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

文檔簡介

第第頁嵌入式軟件測試的10大秘訣嵌入式軟件測試的10大秘訣-軟件測試

發(fā)表于:2023-11-27來源::點擊數(shù):標簽:軟件測試嵌入式秘訣

嵌入式軟件測試的10大秘訣-軟件測試在嵌入式軟件開發(fā)過程中,一般來說,花在測試和花在編碼的時間比為3:1(實際上可能更多)。這個比例隨著你的編程和測試水平的提高而不斷下降,但不論怎樣,軟件測試對一般人來講很重要。很多年前,一位開發(fā)人員為了對嵌入

嵌入式軟件測試的10大秘訣-軟件測試

在嵌入式軟件開發(fā)過程中,一般來說,花在測試和花在編碼的時間比為3:1(實際上可能更多)。這個比例隨著你的編程和測試水平的提高而不斷下降,但不論怎樣,軟件測試對一般人來講很重要。很多年前,一位開發(fā)人員為了對嵌入式有更深層次的理解,向Oracle詢問了這樣的一個問題:我怎么才能知道并懂得我的系統(tǒng)到底在干些什么呢Oracle面對這個問題有些吃驚,因為在當時沒有人這么問過,而同時代的嵌入式開發(fā)人員問的最多的大都圍繞“我怎么才能使程序跑的更快”、“什么編譯器最好”等膚淺的問題。所以,面對這個不同尋常卻異乎成熟的問題,Oracle感到欣喜并認真回復(fù)了他:你的問題很有深度很成熟,因為只有不斷地去深入理解才有可能不斷地提高水平。并且Oracle為了鼓勵這位執(zhí)著的程序員,把10條關(guān)于嵌入式軟件開發(fā)測試的秘訣告訴了他:

1.懂得使用工具

2.盡早發(fā)現(xiàn)內(nèi)存問題

3.深入理解代碼優(yōu)化

4.不要讓自己大海撈針

5.重現(xiàn)并隔離問題

6.以退為進

7.確定測試的完整性

8.提高代碼質(zhì)量意味著節(jié)省時間

9.發(fā)現(xiàn)它,分析它,解決它

10.利用初學(xué)者的思維

這十條秘訣在業(yè)界廣為流傳,使很多人受益。本文圍繞這十條秘訣展開論述。

1.懂得使用工具

通常嵌入式系統(tǒng)對可靠性的要求比較高。嵌入式系統(tǒng)安全性的失效可能會導(dǎo)致災(zāi)難性的后果,即使是非安全性系統(tǒng),由于大批量生產(chǎn)也會導(dǎo)致嚴重的經(jīng)濟損失。這就要求對嵌入式系統(tǒng),包括嵌入式軟件進行嚴格的測試、確認和驗證。隨著越來越多的領(lǐng)域使用軟件和微處理器控制各種嵌入式設(shè)備,對門益復(fù)雜的嵌入式軟件進行快速有效的測試愈加顯得重要。

就象修車需要工具一樣,好的程序員應(yīng)該能夠熟練運用各種軟件工具。不同的工具,有不同的使用范圍,有不同的功能。使用這些工具,你可以看到你的系統(tǒng)在干些什么,它又占用什么資源,它到底和哪些外界的東西打交道。讓你郁悶好幾天的問題可能通過某個工具就能輕松搞定,可惜你就是不知道。那么為什么那么多的人總是在折騰個半死之后才想到要用測試工具呢?原因很多,主要有兩個。一個是害怕,另一個是惰性。害怕是因為加入測試用具或測試模塊到代碼需要技巧同時有可能引入新的錯誤,所以他們總喜歡寄希望于通過不斷地修改重編譯代碼來消除bug,結(jié)果卻無濟于事。懶惰是因為他們習(xí)慣了使用printf之類的簡單測試手段。下面來介紹一些嵌入式常用的測試工具。

.源碼級調(diào)試器[Source-levelDebugger]

這種調(diào)試器一般提供單步或多步調(diào)試、斷點設(shè)置、內(nèi)存檢測、變量查看等功能,是嵌入式調(diào)試最根本有效的調(diào)試方法。比如VxWorksTornadoII提供的gdb就屬于這一種。

.簡單實用的打印顯示工具[printf]

printf或其它類似的打印顯示工具估計是最靈活最簡單的調(diào)試工具。打印代碼執(zhí)行過程中的各種變量可以讓你知道代碼執(zhí)行的情況。但是,printf對正常的代碼執(zhí)行干擾比較大(一般printf占用CPU比較長的時間),需要慎重使用,最好設(shè)置打印開關(guān)來控制打印。

.ICE或JTAG調(diào)試器[In-circuitEmulator]

ICE是用來仿真CPU核心的設(shè)備,它可以在不干擾運算器的正常運行情況下,實時的檢測CPU的內(nèi)部工作情況。像桌面調(diào)試軟件所提供的:復(fù)雜的條件斷點、先進的實時跟蹤、性能分析和端口分析這些功能,它也都能提供。ICE一般都有一個比較特殊的CPU,稱為外合(bond-out)CPU。這是一種被打開了封裝的CPU,并且通過特殊的連接,可以訪問到CPU的內(nèi)部信號,而這些信號,在CPU被封裝時,是沒法“看到”的。當和工作站上強大的調(diào)試軟件聯(lián)合使用時,ICE就能提供你所能找到的最全面的調(diào)試功能。但ICE同樣有一些缺點:昂貴;不能全速工作;同樣,并不是所有的CPU都可以作為外合CPU的,從另一個角度說,這些外合CPU也不大可能及時的被新出的CPU所更換。JTAG(JointTestActionGroup)雖然它最初開發(fā)出來是為了監(jiān)測IC和電路連接,但是這種串行接口擴展了用途,包括對調(diào)試的支持。AD公司為Blackfin設(shè)計的VisualDsp++就支持高速的JTAG調(diào)試。

.ROM監(jiān)視器[ROMMonitor]

ROM監(jiān)控器是一小程序,駐留在嵌入系統(tǒng)ROM中,通過串行的或網(wǎng)絡(luò)的連接和運行在工作站上的調(diào)試軟件通信。這是一種便宜的方式,當然也是最低端的技術(shù)。它除了要求一個通信端口和少量的內(nèi)存空間外,不需要其它任何專門的硬件。并提供了如下功能:下載代碼、運行控制、斷點、單步步進、以及觀察、修改寄存器和內(nèi)存。因為ROM監(jiān)控器是操作軟件的一部分,只有當你的應(yīng)用程序運行時,它才會工作。如果你想檢查CPU和應(yīng)用程序的狀態(tài),你就必須停下應(yīng)用程序,再次進入ROM監(jiān)控器。

.Data監(jiān)視器[DataMonitor]

這種監(jiān)視器在不停止CPU運行的情況下不僅可以顯示指定變量內(nèi)容,還可以收集并以圖形形式顯示各個變量的變化過程。

.OS監(jiān)視器[OperatingSystemMonitor]

操作系統(tǒng)監(jiān)視器可以顯示諸如任務(wù)切換、信號量收發(fā)、中斷等事件。一方面,這些監(jiān)視器能夠為你呈現(xiàn)事件之間的關(guān)系和時間聯(lián)系;另一方面,還可以提供對信號量優(yōu)先級反轉(zhuǎn)、死鎖和中斷延時等問題的診斷。

.性能分析工具[Profiler]

可以用來測試CPU到底耗在那里。profiler工具可以讓你知道系統(tǒng)的瓶頸在那里、CPU的使用率以及需要優(yōu)化的地方。

.內(nèi)存測試工具[MemoryTeseter]

可以找到內(nèi)存使用的問題所在,比如內(nèi)存泄露、內(nèi)存碎片、內(nèi)存崩潰等問題。如果發(fā)現(xiàn)系統(tǒng)出現(xiàn)一些不可預(yù)知的或間歇性的問題,就應(yīng)該使用內(nèi)存測試工具測測看。

.運行跟蹤器[ExecutionTracer]

可以顯示CPU執(zhí)行了哪些函數(shù)、誰在調(diào)用、參數(shù)是什么、何時調(diào)用等情況。這種工具主要用于測試代碼邏輯,可以在大量的事件中發(fā)現(xiàn)異常的那些。

.覆蓋工具[CoverageTester]

主要顯示CPU具體執(zhí)行了那些代碼,并讓你知道那些代碼分支沒有被執(zhí)行到。這樣有助于提高代碼質(zhì)量并消除無用代碼。

.GUI測試工具[GUITester]

很多嵌入式應(yīng)用帶有某種形式的圖形用戶界面進行交互,有些系統(tǒng)性能測試足根掘用戶輸入響應(yīng)時間進行的。GUI測試工具可以作為腳本工具有開發(fā)環(huán)境中運行測試用例,其功能包括對操作的記錄和回放、抓取屏幕顯示供以后分析和比較、設(shè)置和管理測試過程(Rational公司的robot和Mercury的Loadrunner工具是杰出的代表)。很多嵌入式設(shè)備沒有GUI,但常常可以對嵌入式設(shè)備進行插裝來運行GUI測試腳本,雖然這種方式可能要

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論