V模型分析<1>
在本文中我要把V模型作為不好的模型的典型來進(jìn)行分析。選擇V模型作為分析的典型是因?yàn)閂模型是最廣為人知的測試模型。
最典型的V模型版本一般會在其開始部分對軟件開發(fā)過程進(jìn)行描述,如下圖所示:
V模型的各級開發(fā)階段
這是古老的瀑布模型。作為開發(fā)模型,它有很多問題,不過這里不作討論。盡管它的各種狀態(tài)是我們接著要討論的大家最熟悉的V模型的基礎(chǔ)。我的批評意見同時也針對其它的裝飾在一些更好的開發(fā)模型之上的測試模型,例如螺旋模型[Boehm88]。
在V模型中,測試過程被加在開發(fā)過程的后半部分,如下圖所示:
V模型示意圖
單元測試所檢測代碼的開發(fā)是否符合詳細(xì)設(shè)計(jì)的要求。集成測試所檢測此前測試過的各組成部分是否能完好地結(jié)合到一起。系統(tǒng)測試所檢測已集成在一起的產(chǎn)品是否符合系統(tǒng)規(guī)格說明書的要求。而驗(yàn)收測試則檢測產(chǎn)品是否符合最終用戶的需求。
對于測試設(shè)計(jì),顯而易見的是,V模型的用戶往往會把執(zhí)行測試與測試設(shè)計(jì)分開對待。在開發(fā)文檔準(zhǔn)備就緒后,就可以開始進(jìn)行相關(guān)的測試設(shè)計(jì)。如下圖所示,相應(yīng)的測試設(shè)計(jì)覆蓋在了相關(guān)的開發(fā)過程之上:
將測試設(shè)計(jì)覆蓋了開發(fā)過程后的V模型
V模型有著很吸引人的對稱外形,并且把很多人都帶入了歧途。本文將集中討論它在單元測試和集成測試中引起的問題。
為了說明的方便,這里專門制作了以下圖片,圖中包括一個單獨(dú)的單元,以及一個單元組,我稱之為子系統(tǒng)(subsystem)。
相關(guān)推薦:考試吧策劃:2010年軟件水平考試完全指南北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內(nèi)蒙古 |