1. 程式人生 > >第1回 V模型,我的完整詮釋

第1回 V模型,我的完整詮釋

 

事開頭難,第一回起頭自然比較難,我選擇了“V模型,我的完整詮釋”作為開始。因為,軟體測試的思想方法是建立在軟體開發過程模型(思想)基礎之上,例如測試驅動開發來源於敏捷開發思想。在這裡,也是假定V模型是大家更好理解軟體測試思想和方法的基礎。

現在談V模型,是否落後於時代?不一定,實際許多軟體過程思想是相通的,例如迭代模型、增量模型和螺旋模型都可以歸為“分階段開發”思想這一類。極限程式設計(XP)對於現在Internet服務模式的軟體開發很有效,也只適合軟體開發的小團隊。V模型適合企業級的軟體開發,它更清楚地揭示了軟體開發過程的特性及其本質。

V模型是在快速應用開發 (RADRap Application Development)

模型基礎上演變而來,由於將整個開發過程構造成一個V字形而得名。V模型強調軟體開發的協作和速度,將軟體實現和驗證有機地結合起來,在保證較高的軟體質量情況下縮短開發週期。

下面通過對這種模型的水平和垂直的關聯和比較分析,理解軟體開發和測試的關係,理解V模型具有面向客戶、效率高、質量預防意識等特點,能幫助我們建立一套更有效的、更具有可操作性的軟體開發過程。

1.從水平對應關係看

左邊是設計和分析,是軟體設計實現的過程,同時伴隨著質量保證活動——稽核的過程,也就是靜態的測試過程;右邊是對左邊結果的驗證,是動態測試的過程,即對設計和分析的結果進行測試,以確認是否滿足使用者的需求。如:

l需求分析和功能設計對應驗收測試,說明在做需求分析、產品功能設計的同時,測試人員就可以閱讀、審查需求分析的結果,從而瞭解產品的設計特性、使用者的真正需求,確定測試目標,可以準備用例(Use Case)

並策劃測試活動。

l當系統設計人員在做系統設計時,測試人員可以瞭解系統是如何實現的,基於什麼樣的平臺,這樣可以設計系統的測試方案和測試計劃,並事先準備系統的測試環境,包括硬體和第三方軟體的採購。因為這些準備工作,實際上是要花去很多時間。

l當設計人員在做在做詳細設計時,測試人員可以參與設計,對設計進行評審,找出設計的缺陷,同時設計功能、新特性等各方面的測試用例,完善測試計劃,並基於這些測試用例以開發測試指令碼。

l在程式設計的同時,進行單元測試,是一種很有效的辦法,可以儘快找出程式中的錯誤,充分的單元測試可以大幅度提高程式質量、減少成本。

從中可以看出,V模型使我們能清楚地看到質量保證活動和專案同時展開,

專案一啟動,軟體測試的工作也就啟動了,避免了瀑布模型所帶來的誤區——軟體測試是在程式碼完成之後進行

2.從垂直方向看

水平虛線上部表明,其需求分析、定義和驗收測試等主要工作是面向使用者,要和使用者進行充分的溝通和交流,或者是和使用者一起完成。水平虛線下部的大部分工作,相對來說,都是技術工作,在開發組織內部進行,主要是由工程師、技術人員完成。

從垂直方向看,越在下面,白盒測試方法使用越多,到了整合、系統測試,更多是將白盒測試方法和黑盒測試方法結合起來使用,形成灰盒測試方法。而在驗收測試過程中,由於使用者一般要參與,使用黑盒測試方法。

預知後事如何,請讀下回分解:
第2回 究竟什麼是軟體測試?

系列討論的目錄,詳見:
 軟體測試演義——中高階系列(序)

Trackback: http://tb.blog.csdn.net/TrackBack.aspx?PostId=965507