軟件測試是軟件質(zhì)量保證的重要手段之一,軟件測試模型則是軟件測試的工作框架,用于指導(dǎo)軟件測試過程。今天,我們就來介紹幾個基本的軟件測試模型——V-模型廊谓、W-模型和前置測試模型瑟慈。
一桃移、V-模型:
? ??在傳統(tǒng)的瀑布型軟件開發(fā)過程中,僅僅把測試過程作為在需求分析、概要設(shè)計葛碧、詳細設(shè)計及編碼之后的一個階段,對軟件測試過程沒有進一步的描述。V-模型針對瀑布模型對軟件測試過程進行了補充过吻。V-模型最早由已故的Paul Rook在80年代后期提出进泼。在該模型中,測試過程被加在開發(fā)過程的后半部分,如下圖所示。
在開發(fā)階段一側(cè),先從定義業(yè)務(wù)需求開始,然后把需求轉(zhuǎn)換為軟件規(guī)格,再轉(zhuǎn)換到概要設(shè)計和詳細設(shè)計中,最后進行編碼成為程序代碼纤虽。在測試執(zhí)行階段一側(cè),先進
行單元測試,然后是集成測試乳绕、系統(tǒng)測試,最后是驗收測試,這些測試形成了軟件測試的不同層次(級別),并與開發(fā)過程的相應(yīng)階段相對應(yīng)。
二逼纸、W-模型:
軟件開發(fā)過程各階段都可能產(chǎn)生錯誤洋措。據(jù)國外對一些大型軟件系統(tǒng)的統(tǒng)計,需求分析與設(shè)計階段產(chǎn)生的錯誤占64%,編碼錯誤占36%。軟件錯誤具有傳遞性,即需求分析產(chǎn)生的錯誤如果沒有發(fā)現(xiàn),會依次傳遞到設(shè)計和編碼杰刽。軟件錯誤的發(fā)現(xiàn)和解決具有放大性菠发。據(jù)估計,在分析設(shè)計階段產(chǎn)生的錯誤,如果在編碼結(jié)束后的測試過程才被發(fā)現(xiàn),其代價約為在分析設(shè)計階段發(fā)現(xiàn)和解決錯誤的代價的10倍。如果該錯誤在產(chǎn)品交付使用后才發(fā)現(xiàn)和解決,則其代價將超過100倍贺嫂。因此,測試工作越早進行,發(fā)現(xiàn)和解決錯誤的代價越小,風(fēng)險越小滓鸠。根據(jù)這個觀點,Systeme Evolutif公司在V-模型的基礎(chǔ)上,提出了W-模型,如下圖所示。
??圖中,W-模型由兩個“V”重疊而成第喳。其中一個“V”表示開發(fā)過程,包括需求分析糜俗、規(guī)格書生成、軟件設(shè)計曲饱、代碼編程悠抹、軟件構(gòu)建、系統(tǒng)構(gòu)建以及安裝等階
段扩淀。另一個“V”表示測試過程,包括需求測試楔敌、規(guī)格測試、設(shè)計測試引矩、單元測試梁丘、集成測試、系統(tǒng)測試以及驗收測試等活動旺韭。軟件測試的各項測試活動與開發(fā)過程
的各個階段相對應(yīng)氛谜。
三、前置測試模型:
? ??前置測試是一個將測試和開發(fā)緊密結(jié)合的模型,其示意圖如下圖区端。
? ? 前置測試模型將開發(fā)和測試的生命周期整合在一起,標(biāo)識了項目生命周期從開始到結(jié)束之間的關(guān)鍵活動值漫。如果其中有些活動沒有得到很好的執(zhí)行,那么項目成功的可能性就會因此而有所降低。