V&V模型又叫雙V模型,是從V模型發展起來的。
所以先說壹下V模型。
V模型是最具有代表性的測試模型。V模型最早是由Paul?Rook在20世紀80年代後期提出的,V模型在英國國家計算中心文獻中發布,旨在改進軟件開發的效率和效果。
在傳統的開發模型中,比如瀑布模型,通常把測試過程作為在需求分析、概要設計、詳細設計和編碼全部完成之後的壹個階段,盡管有時測試工作會占用整個項目周期壹半的時間,但是有人仍認為測試只是壹個收尾工作,而不是主要的工程。V模型是軟件開發瀑布模型的變種,它反映了測試活動與分析和設計的關系。
局限性:把測試作為編碼之後的最後壹個活動,需求分析等前期產生的錯誤直到後期的驗收測試才能發現
優點:強調了在整個軟件項目開發中需要經歷的若幹個測試級別,並與每壹個開發級別對應;忽略了測試的對象不應該僅僅包括程序,沒有明確指出對需求、設計的測試
為了解決V模型的不足,就有了V&V模型。
V&V模型又叫W模型,由Evolutif公司公司提出,相對於V模型,W模型增加了軟件各開發階段中應同步進行的驗證和確認活動。W模型由兩個V字型模型組成,分別代表測試與開發過程,雙V圖明確表示出了測試與開發的並行關系。
W模型強調:測試伴隨著整個軟件開發周期,而且測試的對象不僅僅是程序,需求、設計等同樣要測試,也就是說,測試與開發是同步進行的。W模型有利於盡早地全面的發現問題。例如,需求分析完成後,測試人員就應該參與到對需求的驗證和確認活動中,以盡早地找出缺陷所在。同時,對需求的測試也有利於及時了解項目難度和測試風險,及早制定應對措施,這將顯著減少總體測試時間,加快項目進度。如果測試文檔能盡早提交,那麽就有了更多的檢查和檢閱的時間,這些文檔還可用於評估開發文檔。另外還有壹個很大的益處是,測試者可以在項目中盡可能早地面對規格說明書中的挑戰。這意味著測試不僅僅是評定軟件的質量,還可以盡可能早地找出缺陷所在,從而幫助改進項目內部的質量。參與前期工作的測試者可以預先估計問題和難度,這將可以顯著地減少總體測試時間,加快項目進度。
根據W模型的要求,壹旦有文檔提供,就要及時確定測試條件,以及編寫測試用例,這些工作對測試的各級別都有意義。當需求被提交後,就需要確定高級別的測試用例來測試這些需求。當概要設計編寫完成後,就需要確定測試條件來查找該階段的設計缺陷。
W模型也是有局限性的。W模型和V模型都把軟件的開發視為需求、設計、編碼等壹系列串行的活動。同樣,軟件開發和測試保持壹種線性的前後關系,需要有嚴格的指令表示上壹階段完全結束,才可以正式開始下壹個階段。這樣就無法支持叠代、自發性以及變更調整。對於當前很多文檔需要事後補充,或者根本沒有文檔的做法(這已成為壹種開發的文化),這樣就無法支持叠代的開發模型。對於當前軟件開發復雜多變的情況,W模型並不能解除測試管理面臨著困惑。