摘 要 軟件測(cè)試過程模型是對(duì)測(cè)試過程的抽象,主要用于定義軟件測(cè)試的流程和方法,其質(zhì)量直接影響測(cè)試結(jié)果的準(zhǔn)確性和有效性,因此,選取合適的模型指導(dǎo)軟件測(cè)試過程至關(guān)重要。本文深入分析了經(jīng)典軟件測(cè)試過程模型的優(yōu)點(diǎn)及局限性,為軟件測(cè)試過程的順利實(shí)施、盡快盡早地發(fā)現(xiàn)軟件缺陷提供科學(xué)合理的依據(jù)。
關(guān)鍵詞 過程模型;V模型;W模型;H模型
前言
軟件測(cè)試是軟件開發(fā)過程中的重要組成環(huán)節(jié),是發(fā)現(xiàn)軟件缺陷和提高軟件質(zhì)量的重要舉措。軟件測(cè)試過程模型是用于指導(dǎo)軟件測(cè)試過程如何開展的理論模型,模型的優(yōu)劣直接影響測(cè)試的質(zhì)量,因此根據(jù)實(shí)際情況正確選取過程模型是一個(gè)不容忽視的關(guān)鍵問題。
1V模型
V模型是最具代表性的測(cè)試模型,最早由Paul Rook于20世紀(jì)80年代后期提出。該模型從左到右描述了基本開發(fā)過程和測(cè)試行為。V模型之所以應(yīng)用廣泛主要基于其在軟件測(cè)試領(lǐng)域中的兩大貢獻(xiàn)。明確地將軟件測(cè)試按過程分為不同類型,即單元測(cè)試、集成測(cè)試、系統(tǒng)測(cè)試和驗(yàn)收測(cè)試,每個(gè)階段完成不同的測(cè)試目標(biāo)和任務(wù),從而采用不同的測(cè)試技術(shù)及工具。描述了軟件測(cè)試階段與開發(fā)過程之間的對(duì)應(yīng)關(guān)系。如單元測(cè)試對(duì)應(yīng)詳細(xì)設(shè)計(jì)階段,則表明單元測(cè)試過程中,測(cè)試策略的選取、測(cè)試用例的設(shè)計(jì),均依據(jù)于詳細(xì)設(shè)計(jì)階段的成果,即軟件詳細(xì)設(shè)計(jì)說明書。隨著人們對(duì)軟件測(cè)試?yán)斫獾牟粩嗌钊耄琕模型的局限性也日益暴露出來。V模型是瀑布模型的簡(jiǎn)單變體,因此與瀑布模型類似,都是將軟件的概念狹隘地理解為程序代碼,將軟件測(cè)試等同于程序測(cè)試,默認(rèn)測(cè)試在程序代碼開發(fā)完畢之后、運(yùn)行維護(hù)之前進(jìn)行,容易導(dǎo)致缺陷發(fā)現(xiàn)不夠及時(shí),從而大大增加修復(fù)的成本。V模型強(qiáng)調(diào)各階段之間的線性關(guān)系,對(duì)于大中型系統(tǒng)而言不適用,任何一個(gè)階段都不可能在下一階段開始之前完全結(jié)束[1]。
2W模型
為了盡快盡早開展測(cè)試,解決V模型的第一大局限性問題,Evolutif公司提出了W模型。該模型由兩個(gè)V字形模型組成,分別代表測(cè)試過程與開發(fā)過程。
較之V模型,W模型的優(yōu)勢(shì)主要體現(xiàn)在強(qiáng)調(diào)測(cè)試伴隨著整個(gè)軟件開發(fā)周期,而且測(cè)試的對(duì)象不僅僅是程序,需求、設(shè)計(jì)等同樣要測(cè)試,也就是說,測(cè)試與開發(fā)是同步進(jìn)行的。W模型提供兩大機(jī)制用于體現(xiàn)測(cè)試與開發(fā)的同步性。
(1)驗(yàn)證和確認(rèn)。驗(yàn)證(Verification)強(qiáng)調(diào)過程的正確性,關(guān)注軟件開發(fā)各階段的每個(gè)步驟產(chǎn)品是否正確無誤,與前一階段成果進(jìn)行比對(duì)。以概要設(shè)計(jì)階段為例,驗(yàn)證比對(duì)的雙方為概要設(shè)計(jì)說明書和需求規(guī)格說明書。確認(rèn)(Validation)強(qiáng)調(diào)結(jié)果的正確性,關(guān)注最終軟件產(chǎn)品是否正確無誤,與最終用戶需求進(jìn)行比對(duì)。此類活動(dòng)需要最終用戶的參與,雖然可能增加測(cè)試的預(yù)算和成本,但卻可以最大限度地降低需求變更帶來的不利影響。以概要設(shè)計(jì)階段為例,確認(rèn)比對(duì)的雙方為概要設(shè)計(jì)說明書和最終用戶需求。通過對(duì)每個(gè)階段的驗(yàn)證和確認(rèn)工作,有利于盡早地全面地發(fā)現(xiàn)軟件缺陷,最大限度減少修復(fù)缺陷所花費(fèi)的時(shí)間和成本。
(2)測(cè)試準(zhǔn)備。整個(gè)測(cè)試流程以編碼作為中軸線,被分為了兩個(gè)組成部分。在編碼完成之前、每個(gè)開發(fā)階段結(jié)束后,除了對(duì)該階段成果物進(jìn)行確認(rèn)和驗(yàn)證以外,還需為對(duì)應(yīng)的測(cè)試階段做前期準(zhǔn)備工作,主要包括確定測(cè)試策略、準(zhǔn)備測(cè)試用例、相關(guān)人員培訓(xùn)、測(cè)試環(huán)境搭建等,充分的準(zhǔn)備工作是測(cè)試順利進(jìn)行的保障。反之,如果所有工作推遲至測(cè)試執(zhí)行前進(jìn)行,則勢(shì)必影響測(cè)試的進(jìn)度和效果。從上述分析可以看出,軟件測(cè)試從軟件生命周期的第一個(gè)階段開始,并貫穿于整個(gè)軟件生命周期中,體現(xiàn)了近代軟件工程的新思想。但整個(gè)模型中的軟件開發(fā)過程和軟件測(cè)試過程,依然強(qiáng)調(diào)各階段之間的線性關(guān)系,導(dǎo)致其無法支持迭代的開發(fā)模型,進(jìn)而無法指導(dǎo)大中型系統(tǒng)的開發(fā)和測(cè)試過程[2]。
3H模型
為了體現(xiàn)不同測(cè)試活動(dòng)的迭代關(guān)系以及時(shí)間上的交叉性,解決V模型的第二大局限性問題,H模型應(yīng)運(yùn)而生。深入觀察和分析W模型會(huì)發(fā)現(xiàn),對(duì)于測(cè)試活動(dòng)而言,以編碼作為中軸線,每個(gè)測(cè)試階段經(jīng)歷了類似的過程。比如概要設(shè)計(jì)結(jié)束后,對(duì)該階段進(jìn)行驗(yàn)證和確認(rèn),接著為集成測(cè)試做準(zhǔn)備;單元測(cè)試完畢后,用于發(fā)現(xiàn)模塊內(nèi)部缺陷的任務(wù)已經(jīng)完成,則通過手工或自動(dòng)化的方式,開展集成測(cè)試的執(zhí)行工作。詳細(xì)設(shè)計(jì)結(jié)束后,對(duì)該階段進(jìn)行驗(yàn)證和確認(rèn),接著為單元測(cè)試做準(zhǔn)備;編碼完成后,模塊已經(jīng)具備了基本的運(yùn)行條件,則通過手工或自動(dòng)化的方式,開展單元測(cè)試的執(zhí)行工作。在整個(gè)軟件生命周期內(nèi),每個(gè)軟件測(cè)試階段都經(jīng)歷了一個(gè)類似的“微循環(huán)”,為了方便理解,以編碼作為中軸線,編碼之前稱為“測(cè)試準(zhǔn)備”活動(dòng),編碼之后稱為“測(cè)試執(zhí)行”活動(dòng),至于兩者之間真正的分界線,除了編碼完成之外,還需具備一定的執(zhí)行資格,這一點(diǎn)需視具體情況而定。軟件開發(fā)過程和軟件測(cè)試過程都是反復(fù)觸發(fā)、迭代的,并且軟件測(cè)試存在于軟件開發(fā)的每一個(gè)階段,兩者是并行進(jìn)行的。在這個(gè)思路的引導(dǎo)下,H模型將測(cè)試活動(dòng)完全獨(dú)立出來,形成了一個(gè)完全獨(dú)立的流程,測(cè)試流程貫穿產(chǎn)品整個(gè)生命周期,與設(shè)計(jì)、編碼等其他流程并發(fā)的進(jìn)行。與此同時(shí),將整個(gè)測(cè)試流程嚴(yán)格的劃分為測(cè)試準(zhǔn)備活動(dòng)和測(cè)試執(zhí)行活動(dòng)兩部分,兩者的分界線通過“測(cè)試就緒點(diǎn)”表示。從上述分析可以看出,H模型對(duì)迭代軟件測(cè)試過程的順利實(shí)施具有重要指導(dǎo)意義。
4結(jié)束語(yǔ)
隨著人們對(duì)軟件測(cè)試過程認(rèn)識(shí)的不斷深入,軟件測(cè)試過程模型也在不斷優(yōu)化、完善,通過準(zhǔn)確抽象測(cè)試活動(dòng),并與開發(fā)活動(dòng)進(jìn)行有機(jī)結(jié)合,能夠有效指導(dǎo)軟件測(cè)試過程的順利實(shí)施,并盡早地全面地發(fā)現(xiàn)軟件缺陷,提高軟件測(cè)試的效率和有效性。
軟件測(cè)試過程模型所描述的“微循環(huán)”過程被抽象為測(cè)試準(zhǔn)備活動(dòng)和測(cè)試執(zhí)行活動(dòng)兩個(gè)部分,而每個(gè)測(cè)試階段的準(zhǔn)備和執(zhí)行活動(dòng)所具體包含的內(nèi)容需通過軟件測(cè)試生命周期進(jìn)行詳細(xì)描述。因此,軟件測(cè)試過程模型的發(fā)展與完善對(duì)軟件測(cè)試生命周期管理同樣具有重要意義。
參考文獻(xiàn)
[1] 佟偉光.軟件測(cè)試(第2版)[M]. 北京:人民郵電出版社,2015:71.
[2] 劉凱.軟件測(cè)試過程模型研究[J].計(jì)算機(jī)科學(xué),2018,45(11A):518-521.
作者簡(jiǎn)介
蘇晶(1981-),女,山東省濱州市人;學(xué)歷:碩士研究生,職稱:講師,現(xiàn)就職單位:山東理工大學(xué),研究方向:軟件工程、軟件測(cè)試。