軟件測試流程一般按照以下幾個階段進行:
1.需求分析階段:閱讀需求,理解需求,主要是對業務的學習,分析需求點,並參與需求評審會議。
如何進行需求分析呢?
(1).確認需求(業務功能、輔助功能、數據約束、易用性需求、編輯約束、參數需求、權限需求、性能約束)
1、業務功能:與用戶實際業務直接相關的功能或者細節
2、輔助功能:輔助完成業務功能的一些功能或者細節,例如:設置過濾條件
3、數據約束:功能的細節,主要是用於控制在執行功能時,數據的顯示范圍,數據之間的關系等
4、易用性需求:功能的細節,產品中必須提供,便於功能操作使用的一些細節,例如:快捷鍵等
5、編輯約束:功能的細節,在功能執行時,對輸入數據項目的一些約束條件,例如:只能輸入數字等
6、參數需求:功能的細節,在功能執行時,需要根據參數設置不同,進行不同處理的細節
7、權限需求:功能的細節,在功能執行的過程,根據不同的權限進行不同的處理,不包括直接限制某個功能的權限
8、性能約束:功能的細節,執行功能時,必須滿足的性能需求
(2).場景分析
1、考慮場景的調用者:考慮每一個場景提供的服務是供哪些外部模塊或者系統調用的,找出所有調用者。調用前提,約束都要考慮。每一個調用都可以考慮成一個大的業務流程(一般和外部有交互的業務出錯率比較大,需要重點關注)
2、考慮系統內部各個場景之間:形成內部業務流程,需要分析每個場景之間的約束關系,執行條件,組織出各種業務流程圖
(3).挖掘隱形需求
這需要測試工程師的經驗積累:1)常用的或者規定的業務流程 2)各個業務流程分支的遍歷 3)明確規定不可使用的業務流程 4)沒有明確規定但是應該不可使用的業務流程 5)其他異常或者不符合規定的操作
2.制定測試計划:主要任務是編寫測試計划,參考軟件需求規格說明書、項目總體計划,內容包括測試范圍(來自需求文檔)、進度的安排,人力物力的分配,整體測試策略的制定,和風險的評估與規避措施有一個制定,一般有測試負責人編寫,當然我們也會參與相關的評審工作。
3.測試用例設計,評審與編寫:測試用例是測試工作最核心的模塊,在執行測試之前,首先必須完成測試用例的編寫。測試用例是指導執行測試 ,幫助證明軟件功能或者發現軟件缺陷的一種說明。用例設計好之后需要進行評審,避免出現設計遺漏,確認細節規則和測試結果的准確性。
如何進行測試用例的設計呢?
編寫測試用例之前我們需要對項目的需求有清晰的了解,對要測試什么,按照什么順序測試,覆蓋哪些需求做到心里有數,我們不僅要了解常見的測試用例編寫方法,同時需要了解被測軟件的設計、功能規格說明、用戶試用場景和程序的結構。
1、測試需求分析:按照項目需求規格說明書。對需求進行分析,通過自己的分析,理解,整理成為測試需求,清楚分析出被測試對象有哪些功能,明確測試用例與需求的關系。
2、業務流程分析:需求分析完成后,明確各個功能的業務處理流程,不同的功能點作為業務的組合。復雜的測試用例設計前 ,可以先畫出軟件的業務流程,明確主流程、條件備選流程、數據的流向、關鍵的判斷條件。
3、測試用例設計:功能測試用例,應盡量考慮邊界、異常的情況,以便發現更多的隱藏問題。設計用例的常見方法有:1)等價類 2)邊界值 3)因果圖 4) 判定表 5) 狀態遷移 6) 正交實驗 7) 場景法 8) 錯誤推斷
4、編寫完成之后自我檢查與項目內部評審:1)用例本身描述是否清晰,語言准確,是否存在二義性 ;2)用例內容是否完整,步驟和輸入與預期結果是否清晰;3)用例中的數據是否恰當,准確;4)用例執行的效率;5)用例是否完全覆蓋需求;
5、測試用例的更新完善:用例編寫好之后要不斷完善,在需求更改或者功能新增時,對應用例必須進行修改更新;在測試過程中發現用例設計考慮不周,需要對用例進行修改完善。
4.測試階段:首先搭建測試環境,准備測試數據,進行冒煙測試,冒煙測試通過后,按照測試用例進入正式測試,有效的測試執行可以將測試用例發揮最大的價值。測試用例規范執行有助於更好的發現代碼中存在的缺陷。在用例執行過程中,包含了功能測試階段,缺陷跟蹤階段,回歸測試階段,系統測試階段,驗收測試階段等。按照已經評審過的測試用例依次執行,執行過程中及時記錄問題,將問題及時提交到缺陷管理系統,跟蹤缺陷。等修復后進行回歸測試,確認修復后關閉缺陷。
5.測試評估階段:通過不斷測試、追蹤,直到被測軟件達到測試需求要求,並沒有重大bug. 出測試報告,可以上線,否則終止上線。測試報告是把測試的過程和結果寫成文檔,對發現的問題和缺陷進行分析,為糾正軟件存在的質量問題提供依據,同時為軟件驗收和交付打下基礎。測試報告是測試階段最后的文檔產出物。一般包含1)目的 2)測試背景 3)環境與配置 4)測試概要 5)測試結果-BUG趨勢圖,BUG嚴重程度,BUG引入原因,BUG狀態分布 6)測試結論 7)經驗教訓