嵌入式軟件測試的要點
嵌入式軟件測試
嵌入式系統(tǒng)的硬件般采用門的測試儀器進行測試,而軟件則需要有相關(guān)的測試技術(shù)和測試工具的支持,并要采用特定的測試策略。測試技術(shù)指的是軟件測 試的門途徑,以及能夠加有效地運用這些途徑的特定方法。在嵌入式軟件測試中,常常要在基于目標機的測試和基于宿主機的測試之間做出折衷,基于目標機的 測試需要消耗較多的時間和經(jīng)費,而基于宿主機的測試雖然代價較小,但畢竟是在仿真環(huán)境中進行的,因此難以*反映軟件運行時的實際情況。這兩種環(huán)境下的測 試可以發(fā)現(xiàn)不同的軟件缺陷,是要對目標機環(huán)境和宿主機環(huán)境下的測試內(nèi)容進行合理取舍。
測試工具指的是那些能夠用來輔助測試的工具,測試工具主要用來支持測試人員的測試工作,本身不能直接用來進行測試,測試工具般都是通用工具,測試 人員應(yīng)該根據(jù)實際情況對它們進行適當?shù)恼{(diào)整。嵌入式軟件測試中經(jīng)常用到測試工具主要有內(nèi)存分析工具、性能分析工具、覆蓋分析工具、缺陷跟蹤工具等。
1、內(nèi)存分析工具
嵌入式系統(tǒng)的內(nèi)存資源通常是受限的,內(nèi)存分析工具可以用來處理在進行動態(tài)內(nèi)存分配時產(chǎn)生的缺陷。當動態(tài)分配的內(nèi)存被錯誤地引用時,產(chǎn)生的錯誤通常難 以再現(xiàn),可出現(xiàn)的失效難以追蹤,使用內(nèi)存分析工具可以很好地檢測出這類缺陷。目前常用的內(nèi)存分析工具有軟件和硬件兩種,基于軟件的內(nèi)存分析工具可能會對代 碼的執(zhí)行性能帶來很大影響,從而影響系統(tǒng)的實時性;基于硬件的內(nèi)存分析工具價格昂,并且只能在特定的環(huán)境中使用。
2、性能分析工具
嵌入式系統(tǒng)的性能通常是個的因素,開發(fā)人員般需要對系統(tǒng)的某些代碼進行優(yōu)化來改進性能,而先遇到的問題自然就是確定需要對哪些代 碼進行優(yōu)化。性能分析工具可以為開發(fā)人員提供有關(guān)的數(shù)據(jù),說明執(zhí)行時間是如何消耗的,是什么時候消耗的,以及每個進程所使用的時間。這些數(shù)據(jù)可以幫助確定 哪些進程消耗了過多的執(zhí)行時間,從而可以決定如何優(yōu)化軟件,以獲得好的時間性能。此外,性能分析工具還可以引導開發(fā)人員發(fā)現(xiàn)在系統(tǒng)調(diào)用中存在的錯誤以及 程序結(jié)構(gòu)上的缺陷。
3、覆蓋分析工具
在進行白盒測試時,可以使用代碼覆蓋分析工具追蹤哪些代碼被執(zhí)行過,分析過程般通過插樁來完成,插樁可以是在測試環(huán)境中嵌入硬件,也可以是在可執(zhí) 行代碼中加入軟件,或者是兩者的結(jié)合。開發(fā)人員通過對分析結(jié)果進行總結(jié),可以確定哪些代碼被執(zhí)行過,哪些代碼被遺漏了。目前常用的覆蓋分析工具般都會提 供有關(guān)功能覆蓋、分支覆蓋、條件覆蓋等信息。