一、什麼是測試需求分析
1.測試需求分析不足的後果
需求模糊-測試點不明确-風險未知-計劃不準确-缺陷遺漏
2.測試需求分析不足的代價
官方調查資料統計圖
修複缺陷的成本會升高:可以看出需求階段消除缺陷的代價最小,越往後,代價就和幾何倍增加。
3.測試需求分析與需求分析的差別
需求分析 測試需求分析
執行者:需求分析師 測試工程師
來源:客戶以及客戶描述 需求規格說明書
動作:确認需求,保證需求完整,無遺漏 分析分解需求,指定測試政策
結果:需求規格說明書 功能點,驗證需求實作
注:功能點:能夠單獨完成某個具體業務流程,例如登入、注冊就是兩個功能點
測試點:對功能點的一個分解,源于項目需求嗎,例如對登入的輸入框進行各種測試、
例子:
客戶說我想買電腦
需求:買電腦
需求分析:1.款式:買筆記本還是台式
2.品牌:dell、蘋果、聯想
3.預算:2000-3000、3000-4000、4000-5000、5000-6000以此類推
4.主要用途:打遊戲,商用,家用休閑
測試需求分析:将所有的列出來,進行一個結合分析,例如2000的筆記本電腦用于打遊戲的有多少種,哪種結合使用者的需求時比較适合的。
4.為什麼要做測試需求分析
(1)不直覺-直覺
測試範圍明确
功能點細化
業務場景明确
(2)不明确-明确
明确輸入輸出以及中間處理
(3)不可度量-可度量
測試範圍
任務量
工作工時
5.測試需求分析産物
明确需求-分解需求-發現疑問-測試點-識别風險
二、如何進行測試需求分析
1.學會閱讀需求
(1)輸入件:将手中的需求輸入文檔進行整合
(2)畫思維導圖:使用xmind進行邏輯梳理,畫出大緻的功能流程圖,要注意異常流程和功能交叉的情況
分解需求,包含哪些大點,逐漸細分
(3)記錄:記錄疑問點、問題點、測試難點、風險點
2.在閱讀需求時,測試需求的分析思路-MFQ
M:單功能:基于模型的單功能測試分析與測試設計-可以獨立測試的單功能子產品
F:功能互動:功能互動測試分析與測試設計-單功能與單功能之間,可能存在互動點,功能互動,比如功能繼承,一緻性等
Q:品質屬性:品質屬性測試分析與測試設計-非功能的品質屬性,比如性能,相容性等
3.測試分析方法PPDCS
流程P:
應用條件:适用于業務流程(有明顯的業務流程,如淘寶購買商品,需考慮各種分支/異常流程(異常:比如餘額不足情況))
特征:1.有多個步驟,各步驟間有一定的前後限制關系,所有步驟共同完成一件事
2.整個過程可能涉多于一個的執行者/觸發者
需求關注分析點:①分解需求,整理各個狀态節點,梳理主業務流程
②仔細推敲,考慮流程中任何一個異常流程,各個節點的流轉
③分解需求,找準流程特性需求點,把握功能流程的顆粒度
④主流程減少異常流程,流程簡單
⑤适用于M、F相關功能點分析
參數P:
特點:①“參數值的個數有限,可以通過周遊的方式來測試覆寫到”
②系統會對不同的“參數值”做出不同的處理或響應
需求分析關注點:①識别參數,整理參數取值範圍
②增加參數對已有業務影響
③使用判定表/判定樹等方式分析
④适用于M、F類
資料D:
應用條件:①當需求緊急圍繞着一些資料,每個資料有明确的取值範圍時,一般使用等價類和邊界值
特征:①資料之間沒有明顯的“各種組合關系進而構成某種規則”,各資料之間的邏輯關系時互相比較獨立的
②各資料的取值之間有可能存在一些限制關系
需求分析關注點:①明确顯性資料範圍,比如編輯框長度、可輸入字元
②發掘隐藏資料,比如性能、智能通道數及達到或超出的反應
③等價類、邊界值分析,M類比較多
組合C:
應用條件:需求圍繞一些因子,各因子有幾種不同的狀态,但是因子之間組合數目龐大,人工難以窮舉,是以用組合類的方法正交實驗法來設計
特征:①因子個數多
②每個因子有多種可能存在的狀态
③因子之間可能存在一些邏輯限制關系
需求分析點:主要是為了減少測試用例數,已較少的用例數覆寫較多的測試點,在有選擇情況下,不如其他四種模組化方式
狀态S:
應用條件:當需求中設計多種狀态時,一般采用狀态圖
應用條件:①涉及多種狀态,最好是同一對象的多種狀态,否則把多個對象的多種狀态都放在一個模型表達,容易混淆。
②各個狀态之間可以發生互相轉換,狀态可逆
需求分析關注點:①梳理狀态,勿遺漏
②狀态之間可以轉換操作,有哪些操作可以模拟實作,勿遺漏
③記錄狀态是否存在不同的前提條件,是否需要開發代碼特殊模拟實作