軟件測試是軟件質(zhì)量保證的重要手段之一,軟件測試模型則是軟件測試的工作框架,用于指導(dǎo)軟件測試過程遵堵。今天譬猫,我們就來介紹幾個基本的軟件測試模型——V-模型豪硅、W-模型和前置測試模型。
一丽旅、V-模型:
? ? 在傳統(tǒng)的瀑布型軟件開發(fā)過程中,僅僅把測試過程作為在需求分析椰棘、概要設(shè)計、詳細(xì)設(shè)計及編碼之后的一個階段,對軟件測試過程沒有進(jìn)一步的描述榄笙。V-模型針對瀑布模型對軟件測試過程進(jìn)行了補(bǔ)充晰搀。V-模型最早由已故的Paul Rook在80年代后期提出。在該模型中,測試過程被加在開發(fā)過程的后半部分,如下圖所示办斑。
? ? 在開發(fā)階段一側(cè),先從定義業(yè)務(wù)需求開始,然后把需求轉(zhuǎn)換為軟件規(guī)格,再轉(zhuǎn)換到概要設(shè)計和詳細(xì)設(shè)計中,最后進(jìn)行編碼成為程序代碼外恕。在測試執(zhí)行階段一側(cè),先進(jìn)行單元測試,然后是集成測試、系統(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倍腺毫。因此,測試工作越早進(jìn)行,發(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í)行,那么項目成功的可能 性就會因此而有所降低
?概述
? ? ? –是由Robin FGoldsmith等人提出的
? ? ? –是一個將測試和開發(fā)緊密結(jié)合的模型
? ? ? –提供了輕松的方式踏堡,可以使你的項目加快速度
?優(yōu)點
? ? ? –質(zhì)量保證和質(zhì)量控制嚴(yán)格猎唁,增強(qiáng)測試質(zhì)量
? ? ? –測試貫穿于開發(fā)的時時刻刻,有效地提高了測試
? ? ? –對驗收測試非常強(qiáng)調(diào)顷蟆,并用雙重方式測試诫隅,保證系統(tǒng)能成功驗收
?缺點
? ? ? –流程管理復(fù)雜
? ? ? –需求變化時很難應(yīng)付
? ? ? –對文檔、質(zhì)量管理帐偎、配置管理逐纬、項目管理要求較高