嵌入式系統(tǒng)測試與調(diào)試_第1頁
嵌入式系統(tǒng)測試與調(diào)試_第2頁
嵌入式系統(tǒng)測試與調(diào)試_第3頁
嵌入式系統(tǒng)測試與調(diào)試_第4頁
嵌入式系統(tǒng)測試與調(diào)試_第5頁
已閱讀5頁,還剩31頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

嵌入式系統(tǒng)測試與調(diào)試第一頁,共三十六頁,2022年,8月28日接下來介紹本章第二節(jié)內(nèi)容嵌入式軟件開發(fā)環(huán)境嵌入式軟件測試嵌入式系統(tǒng)調(diào)試嵌入式軟件的固化運行第二頁,共三十六頁,2022年,8月28日第二節(jié)介紹嵌入式軟件測試嵌入式軟件測試策略嵌入式系統(tǒng)測試工具第三頁,共三十六頁,2022年,8月28日嵌入式軟件測試嵌入式產(chǎn)品的特點應(yīng)用系統(tǒng)日趨復(fù)雜競爭要求產(chǎn)品快速上市開發(fā)技術(shù)日新月異硬件發(fā)展的日益穩(wěn)定軟件故障日益突出軟件的重要性逐漸引起人們的重視嵌入式系統(tǒng)的測試勢在必行第四頁,共三十六頁,2022年,8月28日嵌入式軟件測試首先簡單介紹軟件的定義軟件是計算機(jī)系統(tǒng)中與硬件相互依存的另一部分軟件包括:程序相關(guān)數(shù)據(jù)說明文檔第五頁,共三十六頁,2022年,8月28日嵌入式軟件測試首先簡單介紹軟件的定義(續(xù))程序是按照事先設(shè)計的功能和性能要求執(zhí)行的指令序列;數(shù)據(jù)是是程序能正常操縱信息的數(shù)據(jù)結(jié)構(gòu);文檔是與程序開發(fā)維護(hù)和使用有關(guān)的各種圖文資料。第六頁,共三十六頁,2022年,8月28日嵌入式軟件測試軟件測試的目的軟件測試的目的是發(fā)現(xiàn)程序中的錯誤是為了證明軟件有錯而不是證明軟件無錯第七頁,共三十六頁,2022年,8月28日嵌入式軟件測試嵌入式軟件測試的特點由于嵌入式系統(tǒng)自身特點,如:實時性內(nèi)存不豐富I/O通道少開發(fā)工具昂貴與硬件緊密相關(guān)CPU種類繁多,等等。嵌入式軟件的開發(fā)和測試不同于桌面系統(tǒng)開發(fā)和測試是最難測試的一種軟件。第八頁,共三十六頁,2022年,8月28日嵌入式軟件測試如何解決嵌入式軟件測試難的問題?使用有效的測試策略是唯一的出路由于嵌入式系統(tǒng)使用交叉開發(fā)環(huán)境,相應(yīng)的測試定義為host-target測試或cross-testing。那么,是在目標(biāo)機(jī)上測試還是在宿主機(jī)上測試?第九頁,共三十六頁,2022年,8月28日嵌入式軟件測試假如測試都在目標(biāo)機(jī)上,看看有什么問題:1)可能會與開發(fā)者爭奪時間、資源避免它只有提供更多的目標(biāo)環(huán)境;2)目標(biāo)環(huán)境可能還不可行;3)比起主機(jī)平臺環(huán)境,目標(biāo)環(huán)境通常是不精密和不方便;4)提供給開發(fā)者的目標(biāo)環(huán)境和聯(lián)合開發(fā)環(huán)境通常很昂貴;5)開發(fā)和測試工作可能會妨礙目標(biāo)環(huán)境已存在持續(xù)的應(yīng)用。第十頁,共三十六頁,2022年,8月28日嵌入式軟件測試測試建議:從經(jīng)濟(jì)和開發(fā)效率的角度考慮軟件開發(fā)周期中盡可能大的比例在主機(jī)系統(tǒng)環(huán)境中進(jìn)行,其中包括測試。第十一頁,共三十六頁,2022年,8月28日嵌入式軟件測試確定host-target測試環(huán)境后,開發(fā)測試人員又會遇到什么問題?1)多少開發(fā)人員會卷入測試工作?2)多少軟件應(yīng)測試,測試花多長時間?3)在主機(jī)環(huán)境和目標(biāo)環(huán)境有哪些軟件工具,價格怎樣,適合程度如何?4)多少目標(biāo)環(huán)境可提供給開發(fā)者,何時?5)主機(jī)和目標(biāo)機(jī)之間如何連接,以何種方式實現(xiàn)主機(jī)與目標(biāo)機(jī)間的通訊?6)被測軟件下載到目標(biāo)機(jī)有多快?7)使用主機(jī)與目標(biāo)環(huán)境之間有什么限制?第十二頁,共三十六頁,2022年,8月28日接下來介紹嵌入式軟件測試嵌入式軟件測試策略嵌入式系統(tǒng)測試工具第十三頁,共三十六頁,2022年,8月28日嵌入式軟件測試策略針對上述問題應(yīng)采用一些測試策略1.單元測試2.集成測試3.確認(rèn)測試4.系統(tǒng)測試第十四頁,共三十六頁,2022年,8月28日嵌入式軟件測試策略1.單元測試單元測試指對源程序中每一個程序單元進(jìn)行測試檢查各個模塊是否正確實現(xiàn)規(guī)定的功能從而發(fā)現(xiàn)模塊在編碼中的錯誤該階段涉及編碼和詳細(xì)設(shè)計的文檔第十五頁,共三十六頁,2022年,8月28日嵌入式軟件測試策略1.單元測試(續(xù))所有單元級測試都可在主機(jī)環(huán)境上進(jìn)行除非少數(shù)情況,特別指定了單元測試在目標(biāo)環(huán)境進(jìn)行在主機(jī)平臺上運行,測試速度比在目標(biāo)平臺上快的多最大化在主機(jī)環(huán)境進(jìn)行軟件測試的比例,通過盡可能小的目標(biāo)單元訪問所有目標(biāo)指定的界面。第十六頁,共三十六頁,2022年,8月28日嵌入式軟件測試策略1.單元測試(續(xù))當(dāng)在主機(jī)平臺完成測試,也可在目標(biāo)環(huán)境上重復(fù)作一個簡單的確認(rèn)測試以確定一些未知的,未預(yù)料到的,未說明的主機(jī)與目標(biāo)機(jī)的不同例如,目標(biāo)編譯器可能有bug,但在主機(jī)編譯器上沒有通過目標(biāo)環(huán)境上的確認(rèn)測試,確認(rèn)不會因為主機(jī)和目標(biāo)機(jī)的不同而產(chǎn)生不同的測試結(jié)果第十七頁,共三十六頁,2022年,8月28日嵌入式軟件測試策略2.集成測試在單元測試的基礎(chǔ)上,將所有模塊按照設(shè)計要求組裝成一個完整的系統(tǒng)而進(jìn)行的測試檢查與設(shè)計相關(guān)的軟件體系結(jié)構(gòu)的有關(guān)問題第十八頁,共三十六頁,2022年,8月28日嵌入式軟件測試策略2.集成測試(續(xù))軟件集成也可在主機(jī)環(huán)境上完成在主機(jī)平臺上模擬目標(biāo)環(huán)境運行當(dāng)然在目標(biāo)環(huán)境上重復(fù)測試也是必須的在此級別上的確認(rèn)測試將確定一些環(huán)境上的問題,比如內(nèi)存定位和分配上的一些錯誤。第十九頁,共三十六頁,2022年,8月28日嵌入式軟件測試策略2.集成測試(續(xù))在主機(jī)環(huán)境上的集成測試,依賴于目標(biāo)系統(tǒng)的具體功能有些嵌入式系統(tǒng)與目標(biāo)環(huán)境耦合非常緊密,在主機(jī)環(huán)境做集成是不切實際的一個大型軟件的開發(fā)可以分幾個級別的集成低級別的軟件集成在主機(jī)平臺上完成有很大優(yōu)勢越往后的集成越依賴于目標(biāo)環(huán)境第二十頁,共三十六頁,2022年,8月28日嵌入式軟件測試策略3.確認(rèn)測試和系統(tǒng)測試所有的確認(rèn)測試和系統(tǒng)測試必須在目標(biāo)環(huán)境下執(zhí)行當(dāng)然在主機(jī)上開發(fā)和執(zhí)行系統(tǒng)測試,然后移植到目標(biāo)環(huán)境重復(fù)執(zhí)行是很方便的但對目標(biāo)系統(tǒng)的依賴會妨礙將主機(jī)環(huán)境上的系統(tǒng)測試移植到目標(biāo)系統(tǒng)且只有少數(shù)開發(fā)者參與系統(tǒng)測試所以有時放棄在主機(jī)環(huán)境上執(zhí)行系統(tǒng)測試可能更方便。第二十一頁,共三十六頁,2022年,8月28日嵌入式軟件測試策略3.確認(rèn)測試和系統(tǒng)測試(續(xù))確認(rèn)測試最終的實施舞臺必須在目標(biāo)環(huán)境中。系統(tǒng)的確認(rèn)必須在真實系統(tǒng)之下測試,這關(guān)系到嵌入式軟件的最終使用。第二十二頁,共三十六頁,2022年,8月28日總結(jié)一下Cross-test時的策略:A)使用測試工具的插樁功能(主機(jī)環(huán)境)執(zhí)行靜態(tài)測試分析,并且為動態(tài)覆蓋測試準(zhǔn)備好一插樁好的軟件代碼。B)使用源碼在主機(jī)環(huán)境執(zhí)行功能測試,修正軟件錯誤和測試腳本中的錯誤。C)使用插樁后的軟件代碼執(zhí)行覆蓋率測試,添加測試用例或修正軟件的錯誤,保證達(dá)到所要求的覆蓋率目標(biāo)。D)在目標(biāo)環(huán)境下重復(fù)(B),確認(rèn)軟件在目標(biāo)環(huán)境中執(zhí)行測試的正確性。E)若測試需要達(dá)到極端的完整性,最好在目標(biāo)系統(tǒng)上重復(fù)(C),確定軟件的覆蓋率沒有改變。第二十三頁,共三十六頁,2022年,8月28日接下來介紹嵌入式軟件測試嵌入式軟件測試策略嵌入式系統(tǒng)測試工具第二十四頁,共三十六頁,2022年,8月28日嵌入式軟件測試工具測試工具能夠用來輔助測試的工具主要用來支持測試人員的工作本身不能直接用來進(jìn)行測試測試工具一般都是通用工具測試人員應(yīng)該根據(jù)實際情況對它們進(jìn)行適當(dāng)?shù)恼{(diào)整。第二十五頁,共三十六頁,2022年,8月28日嵌入式軟件的測試工具嵌入式軟件測試中經(jīng)常用到的測試工具有:內(nèi)存分析工具性能分析工具覆蓋分析工具缺陷跟蹤工具等

第二十六頁,共三十六頁,2022年,8月28日嵌入式軟件的測試工具內(nèi)存分析工具

嵌入式系統(tǒng)的內(nèi)存資源通常是受限的,內(nèi)存分析工具可以用來處理在進(jìn)行動態(tài)內(nèi)存分配時產(chǎn)生的缺陷。當(dāng)動態(tài)分配的內(nèi)存被錯誤地引用時,產(chǎn)生的錯誤通常難以再現(xiàn),出現(xiàn)的失效難以追蹤,使用內(nèi)存分析工具可以很好地檢測出這類缺陷。第二十七頁,共三十六頁,2022年,8月28日嵌入式軟件的測試工具目前常用的內(nèi)存分析工具有軟件和硬件兩種:基于軟件的內(nèi)存分析工具可能會對代碼的執(zhí)行性能帶來很大影響,從而影響系統(tǒng)的實時性;基于硬件的內(nèi)存分析工具對系統(tǒng)性能影響小,但價格昂貴,并且只能在特定的環(huán)境中使用。

第二十八頁,共三十六頁,2022年,8月28日嵌入式軟件的測試工具性能分析工具

嵌入式系統(tǒng)的性能通常是一個非常關(guān)鍵的因素開發(fā)人員一般需要對系統(tǒng)的某些關(guān)鍵代碼進(jìn)行優(yōu)化來改進(jìn)性能。第二十九頁,共三十六頁,2022年,8月28日嵌入式軟件的測試工具性能分析工具(續(xù))可以提供有關(guān)數(shù)據(jù),幫助確定哪些任務(wù)消耗了過多的執(zhí)行時間,從而可以決定如何優(yōu)化軟件,以獲得更好的時間性能。引導(dǎo)開發(fā)人員發(fā)現(xiàn)在系統(tǒng)調(diào)用中存在的錯誤以及程序結(jié)構(gòu)上的缺陷。

第三十頁,共三十六頁,2022年,8月28日嵌入式軟件的測試工具覆蓋分析工具

在進(jìn)行白盒測試時,可以使用代碼覆蓋分析工具追蹤哪些代碼被執(zhí)行過分析過程一般通過插樁來完成插樁可以是在測試環(huán)境中嵌入硬件也可以是在可執(zhí)行代碼中加入軟件或者是兩者的結(jié)合第三十一頁,共三十六頁,2022年,8月28日嵌入式軟件的測試工具覆蓋分析工具(續(xù))開發(fā)人員通過對分析結(jié)果的總結(jié),可以確定哪些代碼被執(zhí)行過,哪些代碼被遺漏了目前常用的覆蓋分析工具一般都提供有關(guān)功能覆蓋、分支覆蓋、條件覆蓋等信息。第三十二頁,共三十六頁,2022年,8月28日測試工具實例:邏輯分析儀工作機(jī)理在不打斷被測程序運行流程的基礎(chǔ)上對程序運行中的相關(guān)信息進(jìn)行采集和分析通過真實再現(xiàn)程序運行的邏輯流程和分析程序運行數(shù)據(jù)幫助用戶優(yōu)化系統(tǒng)設(shè)計和解決出現(xiàn)的問題。第三十三頁,共三十六頁,2022年,8月28日測試工具實例:邏輯分析儀與調(diào)試工具的對比調(diào)

溫馨提示

  • 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

提交評論