一:V模型
- V模型本身是軟件開發中瀑布模型的變種,它反映了測試活動與分析和設計的關係。
- V模型標明瞭測試過程中本身存在的不同階段,從左到右,描述了開發過程和測試過程間的階段對應關係。
需求分析、概要設計、詳細設計、編碼、單元測試、集成測試、系統測試、驗收測試
-
需求分析
用戶需求、業務需求、需求規格說明書 -
概要設計
系統架構、模塊劃分、模塊與模塊之間的接口。 -
詳細設計
模塊內部實現的邏輯和方法。 -
編碼
實現上面的設計。 -
單元測試:又稱模塊測試,針對單一的程序模塊進行的測試
-
集成測試:又叫組裝測試,在單元測試的基礎上,對所有模塊進行測試
-
系統測試:將整個軟件看做一個整體來進行測試,包括功能、性能、兼容性
-
驗收測試:
(1)、內測版(alpha):內部交流版本,可能存在很多bug,不建議用戶安裝。
(2)、公測版(beta):面向所有用戶,通過用戶的反饋再去修改細節。
(3)、候選版(gamma):與正式軟件相差無幾。
1. V模型的優點
- 包含了底層測試(單元測試)和高層測試(系統測試)
- 清楚的標識了開發和測試的各個階段
- 自上而下逐步求精,每個階段分工明確,便於整體項目的把控
2. v模型的缺點
- 自上而下的順序導致了,測試工作在編碼之後,就導致錯誤不能及時的進行修改
- 實際工作中,需求經常變化,導致v模型步驟,反覆執行,返工量很大,靈活度較低。
改良:每個步驟都可以進行小的迭代工作。
二:W模型
定義:開發一個v;測試一個v組合起來的模型(w模型也叫雙v模型)
1. W模型的優點
- 開發和測試伴隨着整個開發週期,需求和設計同樣要測試
- 更早的介入測試,可以發現初期的缺陷,修復成本低
- 分階段工作,方便項目整體管理
2. W模型的缺點
- 開發和測試依然是線性的關係,需求的變更和調整,依然不方便
- 如果沒有文檔,根本無法執行w模型
- 對於項目組成員的技術要求更高!
三:H模型
測試流程
測試準備:所有測試執行活動的準備;判斷是否到測試就緒點;
測試就緒點:測試准入準則,即是否可以開始執行測試的條件;
測試執行:具體的執行測試的程序。
其他流程
具體開發中的流程,如:設計流程
1. H模型的優點:
- 開發的H模型揭示了軟件測試除測試執行外,還有很多工作;
- 軟件測試完全獨立,貫穿整個生命週期,且與其他流程併發進行;
- 軟件測試活動可以儘早準備、儘早執行,具有很強的靈活性;
- 軟件測試可以根據被測物的不同而分層次、分階段、分次序的執行,同時也是可以被迭代的。
2. H模型的缺點
- 管理型要求高:由於模型很靈活,必須要定義清晰的規則和管理制度,否則測試過程將非常難以管理和控制;
- 技能要求高:H模型要求能夠很好的定義每個迭代的規模,不能太大也不能太小;
- 測試就緒點分析困難:測試很多時候,你並不知道測試準備到什麼時候是合適的,就緒點在哪裏,就緒點的標準是什麼,這就對後續的測試執行的啓動帶來很大困難;
- 對於整個項目組的人員要求非常高:在很好的規範制度下,大家都能高效的工作,否則容易混亂。例如:你分了一個小的迭代,但是因爲人員技能不足,使得無法有效完成,那麼整個項目就會受到很大的干擾。
四. 總結
總結:v模型適用於中小企業,w模型適用於中大型企業(因爲人員要求高),h模型人員要求非常高,很少有公司使用。