1.軟體測試生命周期模型
在軟體開發行業發展的實踐過程中,人們總結了很多的開發模型,比如瀑布模型,原型模型,型增模型,漸進模型和RUP模型等。與軟體開發工作緊密相的軟體測試行業之生了一告指導意義的測試模型。
軟體測試和軟體開發一樣,都遵循軟體工程原理,遵循管理學原理。測試專家通過實踐總結出很好的測試模型。這些模型将測試活動進行了抽象,明确了測試與開發之間的關系,是測試管理的重要依據。
1.1 瀑布模型的特點
1)為項目提供了按階段劃分的檢查點。
2)目前一階段完成後,您隻需要去關注後續階段。
3)可在疊代模型中應用瀑布模型。
4)增量代應用于瀑布模型。疊代先解決最大的問題。每次疊代産生一個可運作的版本,同時增加更多的功能。每次疊代必須經過品質和內建測試。
1.2、瀑布模型的缺點:
1)在項目各個階段之間極少有回報。
2)隻有在項目生命周期的後期才能看到結果。
3)通過過多的強制完成日期和裡程碑來跟蹤各個項目階段。
2.1 V模型
1、V模型的特點
1) V模型的價值在于它非常明确地标明了測試過程中存在的不同級别。
2) V模型中的過程從左到右,描述了基本的開發過程和測試行為。
3)能夠清楚地描述這些測試階段和開發過程期間各階段的對應關系。
2、V模型的缺點
1) 由于它的順序性,正式進入測試時,有些bug不容易找到其根源,代碼修改起來困難;
2) 由于需求變更較大,是以返工量大。
3)從模型圖中,可以直覺的觀察到測試過程的局限性,它把測試過程放在了需求分析、概要設計、詳細設計與編碼之後了,容易使人了解測試是軟體開發的最後一個階段,主要針對程式進行測試尋找錯誤了。而需求分析階段隐藏的問題隻能在最後才能發現。是以這個圖形,不能很好的反應軟體測試貫穿整個開發的過程。
3、W模型
據圖形,很容易看出,W模型比V模型更科學,它伴随着整個開發過程,而且測試對象不僅僅是程式,同時也測試需求與設計。
1、W模型的特點
)W模型由兩個V字型模型組成,分别代表測試與開發過程,也就是說,測試與開發是同步進行的。
2)測試的對象不僅僅是程式,還包括需求和設計。
3)盡早發現軟體缺陷可降低軟體開發的成本。
2、W模型的缺點
1)W模型存在局限性。在W模型中,需求、設計、編碼等活動被視為串行的,并且測試和開發保持着一種線性的前後關系,上階段完全結束,才能正式開始下階段工作。
2)無法支援選代的開發模型。對于目前軟體開發複雜多變的情況,W模型并不能解除測試管理面臨的困惑。
4、H模型
1、H模型的特點
H模型将測試活動完全獨立出來,形成了一個完全獨立的流程,貫穿于整個産品的生命周期,與其他流程并發地進行,某個測試點準備就緒時,就可以從測試準備階段進行到測試執行階段;軟體測試可以進行盡早的進行:軟體測試可以根據被測物的不同而分層次進行。
2、H模型的缺點
要有完整的測試團隊。
5、螺旋模型定義
1.螺旋模型的特點:
1)引入了其他模型不具備的風險分析,當存在重大風險時有機會停止,進行變更減小損失,特别适合于大型複雜的系統。
2)以小的分段來建構大型系統,使成本計算變得簡單容易。
3)客戶始終參與每個階段的開發,保證項目不偏離正确方向4)随着項目推進,客戶始終掌握項目的最新資訊。
5)對于新近開發,需求不明确的情況下,适合用螺旋模型進行開發,便于風險控制和需求變更!
2、螺旋模式的缺點:
1)建設周期長,需要需求方不斷跟進項目進展。
2)耗資較大,需要投入大量人力物力和财力。
6、X模型
X型的左邊描述的是針對單獨程式片段所進行的互相分離的編碼和測試,此後将進行頻繁的交接,通過內建最終成為可執行的程式,然後再對這些可執行程式進行測試。已認證內建測試的成品可以進行封,也可以作為更大規模和範圍内內建的一部分。多根并行的曲線表示變更可以在各個部分發生。
由圖中可見,X模型還定位了探索性測試,這是不進行事先計劃的特殊類型的測試,這一方式往往能幫助有經驗的測試人員在測試計劃之外發現更多的軟體錯誤。但這樣可能對測試造成人力、物力和财力的浪費,對測試員的熟練程度要求比較高。