一、軟件開發的生命周期
軟件生命周期是指從軟件產品的設想開始到軟件不再使用而結束的時間。
二、瀑布模型(Waterfall Model)
瀑布模型的特點
從上一項活動接受本項活動的工作對象,作為輸入;
利用這一輸入實施本項活動應完成的內容;
給出本項活動的工作成果,作為輸出傳給下一項活動。
瀑布模型使用場合
在需求不明確的情況下,就無法采用瀑布模型
瀑布模型的優缺點
- 優點:
強調開發的階段性;
強調早期計划及需求調查;
強調產品測試。 - 缺點:
依賴於早期進行的唯一一次需求調查,不能適應需求的變化;
由於是單一流程,開發中的經驗教訓不能反饋應用於本產品的過程;
風險往往遲至后期的開發階段才顯露,因而失去及早糾正的機會。
三、軟件測試的生命周期
需求分析 → 測試計划 → 測試設計 、測試開發 → 測試執行 → 測試評估
四、軟件測試流程概述
軟件測試流程
- 測試需求分析
- 測試計划階段
- 測試設計和開發階段
- 測試實施階段
- 測試評估階段
軟件測試流程圖(需求階段)
軟件測試流程圖(計划階段)
軟件測試流程圖(設計編碼階段)
軟件測試流程圖(測試執行)
五、軟件測試模型
V模型
V模型最早是由Paul Rook在20世紀80年代后期提出的 ,目的是改進軟件開發的效率和效果。是瀑布模型的變種明確的標注了測試過程中存在的不同類型的測試,並且清楚的描述了這些測試階段和開發過程期間各階段的對應關系
V模型指出,單元和集成測試應檢測程序的執行是否滿足軟件設計的要求;系統測試應檢測系統功能、性能的質量特性是否達到系統要求的指標;驗收測試確定軟件的實現是否滿足用戶需要或合同的要求
局限性:僅僅把測試作為在編碼之后的一個階段,未在需求階段就進入測試
- V模型的局限性在於沒有明確的說明早期的測試,不能體現“盡早地和不斷地進行軟件測試”的原則
- 因為實際上開發是“V”, 在V模型中增加軟件各開發應同步進行的測試,被演化為一種W模型,測試也是與之並行的“V”,也稱為雙V模型
W模型
W模型增加了軟件各開發階段中應同步進行的驗證和確認活動。W模型由兩個V字型模型組成,分別代表測試與開發過程,圖中明確表示出了測試與開發的並行關系。
W模型特點:測試的對象不僅是程序,需求、設計等同樣要測試,測試與開發是同步進行的
W模型優點:有利於盡早地全面的發現問題。例如,需求分析完成后,測試人員就應該參與到對需求的驗證和確認活動中,以盡早地找出缺陷所在。同時,對需求的測試也有利於及時了解項目難度和測試風險,及早制定應對措施,顯著減少總體測試時間,加快項目進度。
局限性:需求、設計、編碼等活動被視為串行的;測試和開發活動也保持着一種線性的前后關系,上一階段完全結束,才可正式開始下一個階段工作。無法支持迭代的開發模型。對於當前軟件開發復雜多變的情況,W模型並不能解除測試管理面臨着困惑
敏捷模型
敏捷模型的特點是高度迭代,並且能夠及時、持續地響應客戶的頻繁反饋
強調從客戶的角度,即從使用系統的用戶角度,來測試系統。
重點關注持續迭代地測試新開發的功能,而不再強調傳統測試過程中嚴格的測試階段。
開發與測試高度並行
敏捷開發是一種以人為核心、迭代、循序漸進的方法,強調技術人員與用戶之間的緊密協作、面對面的溝通(認為比書面的文檔更有效)、頻繁交付新的軟件版本、更注重軟件開發中人(含客戶和技術人員)的作用
測試模型-后話
- 任何模型都不是完美的
- 應該盡可能地去應用模型中對項目有實用價值的方面,但不強行地為使用模型而使用模型
- 在實際工作中,我們要靈活地運用各種模型的優點。如,在W模型的框架下,運用敏捷模型的思想進行獨立地測試,並同時將測試和開發緊密結合,尋找恰當的就緒點開始測試並反復迭代測試,最終保證按其完成預定目標。