一.測試需求分析是什么
測試需求分析是測試工作的第一步,經過需求分析,對原始需求列表中列出的每一個需求點,找到我們需要測試的測試要點;針對所確定的測試要點,分析測試執行時對應的測試方案/方法。
簡單來講就是把不直觀的需求文檔簡化為直觀的需求(測試點)
1.使得測試范圍可以度量(有多少功能,有多少功能項)度量測試范圍(規定測試范圍)
2.使得該系統所有測試業務場景度量(各種各樣流程圖)
3.使得獨立的功能點對應的所有分支也可以獨立(細化大的功能點的功能范圍)
4.方便需求驗證(明確輸入-輸出結果)
二.為什么要做需求分析---活在自己世界里的人是可悲的,只憑感覺不做詳細了解就下定論的項目是失敗的。
如果把測試活動比作軟件生命周期,需求分析就是軟件需求規格,測試策略==軟件架構設計,測試用例就是軟件詳細設計,測試執行就是編碼過程。
三.不做需求分析的后果
不做需求分析或需求分析不到位,可能會產生很嚴重的問題,比如:
(1) 浪費時間和資源實現了用戶不需要的需求;
(2) 遺漏了需求文檔中沒提到,但很重要的需求,導致客戶滿意度降低。
(3) 需求分析不到位,錯誤的估計了測試的工作量,導致延誤發布周期,可能會降低發布質量。
(4) 編寫測試用例時候容易漏項
四.如何做需求分析?
1.通過需求文檔了解需求的實現背景---靜態測試的過程
拿到一個需求后,我們首先應該通讀需求文檔,先通過需求文檔,對要做的需求的背景有個整體的了解,其實這個過程也是對需求文檔測試的過程,對需求整體的了解后,我們可以先記錄自己的一些疑惑,為后面需求的分析做一個准備工作,這個環節我們應該更多的了解一些需求的目的和一些用戶的使用場景。
2.分析需求的合理性
通過業務分析需求的合理性----測試人員必備技能之一
而不是通過系統怎么實現來判斷需求是否合理
不盲目的給什么需求就測什么需求
需要有深厚的業務功底+系統現有的實現分析
3.確定測試范圍(關鍵)
結合需求文檔內和文檔沒包含的內容
開發實現及改造對功能的影響
羅列全部測試點並分析優先級
4.分析並細化測試點,以及對應的測試方法(關鍵)
特性和關鍵模塊可以單獨拿出來分析
5.回頭再重新梳理,查漏補缺
比如后續的需求變更
變更影響的關聯關系
變動帶來的風險和策略
一些問題
2.如何使用質量模型法開展測試需求分析?
軟件質量由ISO9126的6大項的27個質量特性子項來衡量,質量模型分析就是從軟件質量因子角度來分析的。從不同的測試目的出發、以不同的角度來分析和測試產品,不同類型的測試會發現不同類型的Bug。在測試分析設計活動中考慮質量模型分析,能夠使測試分析設計人員盡可能從多個方面和角度進行測試分析,能非常有效的提升測試完備性。質量特性表參見如下:
3.如何使用功能交互法開展測試需求分析?