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


