1 軟件單元測試
通常,我們可以將軟件單元測試理解為汽車軟件測試的最低級別。在此階段之后,軟件單元會在諸如SVN之類的代碼配置管理工具中發布,并可用于更上一級別的測試,即軟件組件集成測試。
-
測試目標:確保已實現的軟件能夠符合軟件詳細設計(即動態測試),并達到一定的代碼覆蓋率,以及符合代碼規則(即靜態測試)。
-
測試依據:動態測試用例來源于軟件詳細設計說明書,使用的用例設計技術一般有“等價類劃分”和“邊界值法”。
-
測試對象:一個單獨的軟件單元(如.c和.h文件),有時也直接面向一個代碼倉。
-
進入標準: 已review并發布的軟件單元測試用例與計劃,用例已達到一定的(如100%)的設計要求覆蓋率。
-
退出標準:已完成code review,已執行對應的測試用例,已達到一定的代碼覆蓋率(如90%~100%)。
-
負責角色:軟件開發人員。
2 軟件組件集成測試
軟件組件集成測試是汽車軟件測試的第二級別。在此階段之后,可以將軟件組件集成在一起,并可用于更上一級別的測試,即軟件集成測試。
-
測試目標:軟件組件的接口按預期工作,滿足資源消耗限制。
-
測試依據:架構設計書、接口文檔、資源消耗目標等。
-
測試對象:一個單獨的軟件組件,包含一個或多個屬于某個功能的單元。
-
進入標準:已review并發布的軟件組件集成測試用例與計劃,已完成軟件單元測試,已完成組件內所有單元的發布。
-
退出標準:已執行對應的測試用例。
-
負責角色:軟件開發人員。
3 軟件集成測試
軟件集成測試是汽車軟件測試的第三級別。在此階段之后,可以將軟件代碼、相關資源和其他必要文件打包對外發布,并可用于更上一級別的測試,即軟件需求測試。
-
測試目標:為集成的軟件組件符合軟件架構設計提供證據,包括軟件接口和數據流,以及滿足冒煙測試要求。
-
測試依據:架構設計書、架構模型、接口文檔、時序圖、非功能性需求書等。
-
測試對象:逐步集成并測試完整軟件系統的各個部分。在持續集成的框架內,每次測試運行時都會自動執行所有預定義的集成測試用例,即回歸測試。
-
進入標準:已review并發布的軟件集成測試用例與計劃,已完成軟件組件集成測試,已完成軟件架構的發布。
-
退出標準:已執行對應的測試用例。
-
負責角色:軟件集成人員。
注意,軟件組件集成測試一般更適用于較為復雜的軟件系統和大型組織,以達到更精細的分工顆粒度。視實際情況,可與軟件集成測試合并。
4 全文小結
本文簡單介紹了軟件單元測試、軟件組件集成測試和軟件集成測試,這都屬于軟件向測試發布軟件包之前的開發測試工作。
整體關注的是代碼規則、代碼覆蓋率、code review、接口、資源消耗、堆棧、時序等底層的基礎功能。
5 寫在最后
車離代碼太遠,壓力層層衰減,而且越來越抽象,所以,開發測試的被重視度普遍較低。
轉自水輕言