軟體測試生命週期和流程
一、軟體生命週期
1、瀑布型生命週期模型
自相而下,相互銜接
1)問題的定義及規劃
定義:確定軟體的開發目的及其可行性。制定專案總體開發計劃。(發現問題並規劃)
人員:【產品經理】,運營,開發老大,需求分析師,老闆,專案經理等
輸出:需求說明文件/原型圖/PRD
2)需求分析
在確定軟體開發可行的情況下,對軟體需要實現的各個功能進行詳細分析,明確客戶的需求,輸出需求規格說明書最終版(原型圖),提交評審。
人員:產品經理,開發人員,測試人員,UI設計(不是所有的人)
形式:會議
測試儘早介入的目的:1)瞭解需求,方便測試;2)提高使用者體驗度
3)設計
把需求分析得到的結果轉換為軟體結構和資料結構,形成系統架構。
概要設計:主要是架構的實現,指搭建架構、表述各模組功能、模組介面連線和資料傳遞的實現等項事務。
詳細設計:對概要設計中描述的各模組進行深入分析等。其中需要包含資料設計說明。
人員:程式設計師
輸出:概要設計和詳細設計
4)編碼
按照詳細設計好的模組功能表,程式設計人員編寫出計算機可執行的程式程式碼
5)軟體測試
在軟體設計完成後要經過嚴密的測試,以發現軟體在整個設計過程中存在的問題並加以糾正。測試方法主要有白盒測試和黑盒測試。建立詳細的測試計劃並嚴格按照計劃進行。
單元測試:主要是測試程式程式碼,為的是確保各單元模組被正確的編譯-----一般是開發來完成。
整合測試:單元測試後,將各單元組合成完整的體系,測試軟體各單位之間的介面是否正確、資料能否正常傳。-----比如說註冊和充值這兩個功能是否能夠連通
系統測試:把軟體系統搭建起來,按照軟體規格說明書中的要求,測試軟體其效能等是否和使用者需求相符合,在系統中執行是否存在等等。---根據測試用例,進行完整的系統測試
驗收測試:主要就是使用者在拿到軟體的時候,在使用現場,會根據前邊所提到的需求,以及規格說明書來做相應測試,以確定軟體達到符合效果的。----使用者對軟體進行驗收
6)執行維護
軟體維護是軟體生命週期中持續時間最長的階段。在軟體開發完成並投入使用後,由於多方面的原因,軟體不能繼續適應使用者的需求。要延續軟體的使用壽命,就必須對軟體進行維護。軟體的維護主要包括糾錯性維護和改進性維護兩個方面。
人員:運維
上線,版本迭代,bug修復
2、V模型生命週期模型
RAD:通過開發和測試同時進行的方式來縮短開發週期,提高開發效率
敏捷開發模型(產品需求-開發-測試)
二、軟體測試流程
1、測試工作會遇到哪些人?
開發,產品經理,UI設計,客戶,技術支援/實施/銷售
2、測試各階段的職責
1)測試設計階段
測試用例設計:參照需求說明文件/原型圖寫出測試用例
測試用例評審:與需求不一致,修正。需求變更,修改。
人員:產品經理,開發人員,測試組長
2)測試執行階段
執行測試用例
3)區分開發環境、測試環境、正式環境、準生產環境
開發環境:1)進行單元測試;2)程式碼的除錯
測試環境:1)單元測試;2)整合測試;3)系統測試;4)正式驗收測試;5)Alpha測試
正式環境:上線後,使用者使用
準生產環境:模擬生產環境
在測試環境後臺新增的資料和資訊,不能夠在生產環境看到。因為每個環境都是獨立的,不同的伺服器和資料庫
3、軟體測試的基本流程(重點)
1)測試需求分析階段:閱讀需求,理解需求,主要就是對業務的學習,分析需求點,參與需求評審會議。
2)測試計劃階段:主要任務是編寫測試計劃,參考軟體需求規格說明書,專案總體計劃,內容包括測試範圍(來自需求文件),進度的安排,人力物力的分配,整體測試策略的制定,和風險的評估與規避措施有一個制定,一般由測試負責人編寫,當然我們可能也會參與相關的評審工作。
3)測試設計階段:主要任務是編寫測試用例,會參考需求文件(原型圖),概要設計,詳細設計等文件,有不明確的也會及時和開發,產品經理溝通,用例編寫完成後會進行評審。
4)測試執行階段:首先搭建測試環境,執行預測(冒煙測試),以判定當前版本可測與否,如果預測通過,正式進入系統測試,遇到問題提交bug到缺陷管理平臺,並對bug進行跟蹤,直到被測軟體達到測試需求要求,沒有重大bug,測試結束----(完善測試用例)
5)測試評估階段:出測試報告,對整個測試的過程和版本質量做一個詳細的評估,確認是否可以上線。
軟體開發流程、測試流程梳理
6)開發人員的工作流程:需求分析-得知功能組成及設計軟體結構、資料結構(概要設計、詳細設計)-編寫程式碼單元測試-程式碼審查-打包提交測試部-等待測試提交bug-修復bug-等待測試迴歸bug-……N輪-版本上線-面向使用者使用
7)測試人員的工作流程:需求分析--編寫測試用例-評審測試用例-搭建測試環境-等待開發研發完成,提交測試包進行測試(醬油期)-部署測試包-冒煙測試(預測)-執行測試用例-bug跟蹤處理(提交及迴歸bug)……N輪-版本上線-面向客戶使用
三、常見筆試面試題
1、筆試題:
1)生命週期模型包括哪些階段?你們開發的模型是什麼?簡化文字
問題定義及規劃-需求分析-設計-編碼測試-執行維護
敏捷開發模型
2)測試流程包含哪些階段?
需求分析--編寫測試用例-評審測試用例-搭建測試環境-等待開發研發完成,提交測試包進行測試(醬油期)-部署測試包-冒煙測試(預測)-執行測試用例-bug跟蹤處理(提交及迴歸bug)……N輪-版本上線-面向客戶使用
2、面試題
1)你們公司的開發流程是怎麼樣的?
瞭解需求概要設計詳細設計編碼打包提交測試部-等待測試提交bug-修復bug-等待測試迴歸bug-……N輪-版本上線-面向使用者使用
2)你們公司的測試流程是怎麼樣的?各個階段的輸出是什麼?
測試需求階段:瞭解測試需求;
測試計劃階段:編寫測試計劃;
測試執行階段:編寫測試用例;
測試執行階段:提交bug到問題庫,直到沒有重大bug,測試結束,完善測試用例;
測試評估階段:確認是否可以上線,編寫測試報告