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