1. 程式人生 > >測試用例的常用方法

測試用例的常用方法

需求 最大 style 產生 require only 互斥 輸出 無法

1、等價類劃分法

應用場合:界面中只要有數據輸入的地方,就可以使用等價類劃分法。從無窮多的數據中,挑選少量代表數據進行測試。

1)分析需求,劃分等價類:有效等價類和無效等價類

2)從每個等價類中,至少挑選1個代表數據進行測試

如:姓名3-20個字符

  有效數據:大於等於3個字符,小於等於20個字符

  無效數據:小於3個字符

     大於20個字符

2、 邊界值法

應用場合:界面中有數據輸入的地方,一般可以使用,邊界值法往往和等價類劃分法一起使用,形成一套更為完善的測試方案。

找到有效數據和無效數據之間的分界點(邊界值)

測試:最小邊界值-1,最小邊界值,最大邊界值+1,最大邊界值

如:姓名3-20個字符

  有效數據:大於等於3個字符,小於等於20個字符

  無效數據:小於3個字符

     大於20個字符

最小邊界值:3個字符

最大邊界值:4個字符

最小邊界值-1:2個字符

最大邊界值+1:5個字符

3、因果圖及判定表法

應用場合:在一個界面中有多個控件,如果控件之間有組合關系或者限制關系,不同的控件組合會產生不同的輸出結果。為了弄清不同的輸入組合會產生怎樣的輸出結果,可以使用因果圖或判定表法。

1)基本 : 表達的是因(輸入結果)和果(輸出結果)之間的關系。

  A 恒等

 如果a=0那麽b=0;如果a=1那麽b=1

  B 與(^)

   幾個輸入條件都成立結果才成立,如果輸入其中任何一個輸入條件不成立,結果都不成立。

  C 或(v)

   多個輸入條件有任何1個成立結果都成立,只有所有的輸入條件都不成立的時候,結果才不成立。

  D 非

  A=1時B=0;A=0時B=1

2)約束(限制): 限制的是同一類的,要麽限制的同為輸入條件,要麽限制的同為輸出結果

  A 互斥E(Exclude)

   只能有1個是成立(1),但是可以都不選(都是0)

B 唯一O(Only)

表示在多個條件中,有且僅有1個成立。

C 要求R(Required)

   若a=1則要求b必須為1,不允許出現a=1,b=0的情況,反之a=0時b的值無所謂。

D 包含 I ( include ) [多選]

必須得選,但是可以多選

E 屏蔽 M ( Masked )

當a=1時b必須是0;當a=0時b的值不一定。

4、正交表

適用場合:在一個界面中有多個控件,每個控件有多個取值,測試時考慮不同的控件不同取值之間的多種組合,但組合數量巨大(>20種,20種以下一般考慮判定表因果圖),沒有必要全部測試,如何從所有的組合中挑選最少、最優的組合進行測試,可以使用正交排列法。

正交表公式Ln(mk)

m:根據每個控件有幾個值確定

K:根據控件的個數進行確定。

n:表示有幾條測試用例。

如果沒有合適的正交表:

 1)選擇K(控件的個數),如果沒有正好符合的值,選擇最接近的在一點的,用不到的列可以刪掉。
2)選擇m(每個控件的取值),如果每個控件的取值個數不同
  方案1、少數服從多數原則:取值數相同的控件個數最多的那個值。
    分析案例:取3個值的控件有兩個是最多的,所以m=3;
    公式是:34
    註意:1)盡量保證公平、均勻的添加。
        2)檢查是滯有完全重復的等式,如果發現可以修改或刪除(盡量改)
  方案2、最大值原則(推薦):看哪個控件的取值個數最多,m就選這個值。
    此案例:打印內容的控件取值是4個,是最多的,所以m=4
    公式是:應該是44,實際上44沒有,選擇45,然後刪除1列

正交表的測試思想

1)使用每個控件的每個取值參與組合的次數是基本相等的(均勻的)

2)在所有的組合數據中,選取數據時,應該均勻的選取,而不能從局部選取。

3)如果時間允許,盡可能的多測一些組合

5、測試大綱法

適用場合:程序包含多個窗口,每個窗口中又有多個功能,這些功能之間又有一定的聯系。為了梳理清楚窗口之間以及窗口不同功能之間的聯系,使用測試大綱法。

如:安裝程序的測試

  1) 分析需求列出窗口以及每個窗口中的功能

  2) 根據大綱,找到窗口及功能之間的關系,編寫測試用例

6、場景法

適用場合:大多數的業務比較復雜的軟件系統都適合使用場景法(便於將各個功能點串起來,便於形成完整的業務感覺)是一種基於軟件業務的測試方法,把自己當成最終用戶,盡可能的模擬用戶在使用此軟件的操作。

熟悉所測軟件的業務邏輯:

1)模擬用戶正確操作的業務流程---驗證軟件的業務功能是否實現

2)模擬用戶錯誤的操作的情形---驗證軟件的異常處理能力(健壯性)

總結:先關註功能的整體業務流程是否能夠實現(場景法),當整體業務流程完成之後,再去關註細節(等價類、邊界值等方法)。

註意一個場景可能對應多條測試用例,或者一條用例可能對應多個場景。

7、錯誤推斷法

基於經驗和直覺推測程序中所有可能存在的各種錯誤 , 從而有針對性的設 計測試用例的方法 .

1)程序中所有可能的錯誤

2) 容易發生錯誤的特殊情況

3) 以前產品測試中曾經發現的錯誤

8、隨機測試

隨意測試,不考慮任何用例和需求,完全站在一個用戶或者的角度對產品進行使用。

適用場景:

1) 所有之前設定的用例已經 執行完畢

2)海量的條件組合無法一遍 歷的時候

測試用例的常用方法