天天看點

測試需求分析

一、什麼是測試需求分析

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:

應用條件:當需求中設計多種狀态時,一般采用狀态圖

應用條件:①涉及多種狀态,最好是同一對象的多種狀态,否則把多個對象的多種狀态都放在一個模型表達,容易混淆。

       ②各個狀态之間可以發生互相轉換,狀态可逆

需求分析關注點:①梳理狀态,勿遺漏

        ②狀态之間可以轉換操作,有哪些操作可以模拟實作,勿遺漏

        ③記錄狀态是否存在不同的前提條件,是否需要開發代碼特殊模拟實作

測試需求分析