嵌入式軟件覆蓋測試的純軟件模式實現
時間:2009-02-25 11:13:15來源:zhangting
導語:?覆蓋測試是驗證軟件功能結構正確性、查找問題的非常重要的方法,這需要借助一定的工具才能取得較好的效果,滿足軟件在質量和時間上的雙重要求。
摘 要:覆蓋測試是驗證軟件功能結構正確性、查找問題的非常重要的方法,這需要借助一定的工具才能取得較好的效果,滿足軟件在質量和時間上的雙重要求。如何利用好這方面比較成熟的工具,對其機理的研究及適應性改造是很重要。本文以結合測試工具Testbed 和嵌入式軟件開發平臺LambdaPRO 搭建純軟件模式的嵌入式軟件覆蓋測試環境為例,論述了純軟件模式的嵌入式覆蓋測試環境搭建過程中需要解決的問題及該環境的優缺點。
關鍵字:嵌入式系統;覆蓋測試;插樁;探針;目標機;歷史信息
0 引言
軟件測試是個很廣的概念,從其貫穿軟件生命周期全過程來看,測試可分為模塊測試、集成測試、系統測試等階段;測試可分為靜態檢查和動態運行測試兩大類,而在動態運行測試中,又可有基于程序結構的白盒測試(或稱為覆蓋測試)和基于功能的黑盒測試;測試不僅關注程序的功能,還有性能測試、強度測試等等。
覆蓋是一種白盒測試方法,測試人員必須擁有程序的規格說明和程序清單,以程序的內部結構為基礎,來設計測試案例。其基本準則是用測試案例來盡可能多地覆蓋程序的內部邏輯結構,以發現其中的錯誤和問題。所以,覆蓋測試一般應用在軟件測試的早期即單元測試階段。
常見的覆蓋方法或策略包有:語句覆蓋、判定覆蓋、條件覆蓋、判定/條件覆蓋、條件組合覆蓋。其它一些覆蓋策略還包括:修改的條件/判斷覆蓋(通常簡稱為MCDC)、路徑覆蓋、函數覆蓋、調用覆蓋、線性代碼順序和跳轉覆蓋、數據流覆蓋、目標代碼分支覆蓋、循環覆蓋、關系操作符覆蓋等。隨著軟件規模的增長,實現全面的覆蓋所需的測試案例的數目也越來越龐大,因此根據被測軟件對象的特點選擇適當的覆蓋策略是非常重要的;同時,要確定合理的測試目標,達到100%的覆蓋往往要付出很大的代價,而應該同形式化評審等方法結合,以發現更多的軟件故障。
嵌入式軟件覆蓋測試的純軟件模式實現全文下載