常見黑盒測試方法【轉】

1.常見黑盒測試用例設計方法

等價類劃分法、邊界值分析法、因果圖法、狀態遷移法、斷定表法、流程分析法、正交試驗法、錯誤猜想法、輸入/輸出域測試法、異常分析法、工具

2.等價類劃分法

  概念:某個輸入域的集合,在這個集合中每一個輸入條件都是等效的。性能

 原則:測試

A.規定了取值範圍或值的個數,則可肯定一個有效等價類和兩個無效等價類spa

B.規定了輸入值的集合,或是規定了必須如何的條件,則可肯定一個有效等價類和一個無效等價類設計

C.布爾量,則可肯定一個有效等價類和一個無效等價類遊戲

D.輸入數據的一組值假定N個,而且程序要對每個輸入值分別處理,則可肯定N個有效等價類和一個無效等價類事件

E.輸入數據必須遵照什麼的狀況下,則可肯定一個有效等價類和若干個無效等價類ci

F.已劃好了等價類,各元素在程序處理中的方式不一樣,則應該進一步的劃分table

步驟:基礎

  1. 劃分等價類
  2. 爲有效等價類設計測試用例
  3. 爲每個無效等價類至少設計一個測試用例

3.邊界值分析法

  邊界值使用條件:

  1. 輸入條件明確了一個值的取值範圍,或是規定了值的個數
  2. 輸入條件明確了一個有序集合      

  邊值點定義:上點、離點、內點

        原則:

  1. 輸出條件規定了取值範圍或個數,則應該選邊界內或邊界附近的值
  2. 輸出條件規定了值的個數,則最大值、最小值、最大值+一、最小值-一、
  3. 輸出條件是一個有序的集合,則集合的第一個和最後一個
  4. 若使用了內部數據,則應選擇這個內部數據的邊界值

步驟:

  1. 分析輸入參數的類型(從SRS中)
  2. 等價類劃分(可選)
  3. 肯定邊界
  4. 相關性分析(可選)
  5. 造成測試項

4.等價類+邊界值

  適用範圍:輸入與輸入之間、輸出與輸出之間各項無牽制關係的狀況。

例如:用戶註冊

適用的測試類型:功能測試、性能測試、GUI測試、配置測試等

5.斷定表法

概念:是分析和表達多邏輯條件下執行不一樣操做的狀況的工具。

應用:

  1. 基於斷定表的測試是最爲嚴格、最具備邏輯性的
  2. 針對不一樣邏輯條件的組合值

組成:條件樁、條件項、動做樁、動做項

步驟:

  1. 肯定規則的個數
  2. 列出全部的條件項樁和動做樁
  3. 填入條件項
  4. 填入動做項,獲得初始決策表
  5. 簡化決策表,合併類似規則(可選)
  6. 將每條規則轉化爲用例

優勢:能把複雜的問題按各類可能的狀況一一列舉出不,簡明而易於理解,可避免遺漏。

缺點:合併存在漏測。

適用範圍:

  1. 規格說明以斷定表的形式給出,或很容易轉換成斷定表
  2. 條件、規則的排列順序不影響執行結果
  3. 每條規則都相對獨立
  4. 一條規則能夠轉化成一條或多條用例,規則的用例數取決於轉化的條件

6.因果圖法

是把規格轉化爲斷定表的系統化方法。它適合檢查輸入條件的各類組合狀況。

步驟:  1.把大的系統規格劃分解成能夠測試的規格片斷(可選)

      2.找出哪些是緣由,哪些是結果

3.畫出因果圖

4.將因果圖轉換爲斷定表

5.簡化斷定表(可選)

6.生成測試用例

優勢:

  1. 等價類中多個輸入條件組合起來出錯的狀況被忽略
  2. 設計多個輸入條件組合用例
  3. 能指出程序規格說明描述中存在什麼問題

缺點:

  1. 輸入條件與輸出結果的因果關係,有時難以從SRS中獲得
  2. 即便獲得了因果關係,也會由於因果關係複雜致使用例數目及其龐大

條件與結果:恆等、非、或、與

  1. 恆等關係:當輸入項發生,會產生對應輸出,當輸入項不發生,不會產生對應輸出
  2. 非關係:與恆等關係相反(誤區:若是前者不發生,則發生後者,前者發生,不發生後者)
  3. 或關係:多個輸入條件中,只要有一個發生,則會產生對應輸出
  4. 與關係:多個輸入條件中,只有全部輸入項發生時,纔會產生對應輸出

條件與條件:異、惟1、要求、或

  1. 異:最多一個輸入條件發生
  2. 或:至少一個輸入條件發生
  3. 惟一:全部輸入中有且僅有一個發生

要求:只要其中一個輸入發生,其餘輸入也會發生(誤區:爲何充值和充值成功不是這個,由於他們不是同屬輸入條件,而是由前後條件,沒什麼關係)

7.流程分析法

這是從白盒測試中路徑覆蓋分析法中推廣到黑盒測試中來的測試分析方法。

步驟:

  1. 畫出業務流程圖
  2. 定義狀態節點和條件分支
  3. 肯定測試路徑
  4. 構造測試用例

總結:重點在測試流程,流程測試沒有問題並不能說明系統功能就沒有問題

8.狀態遷移圖法

  1. 狀態機的測試主要關注在測試狀態轉移的正確性上面。
  2. 用這種方法能夠設計逆向的測試用例,如狀態和事件的非法組合。

概念:狀態遷移法其實是測試了各類狀態的轉換,這些狀態轉換的測試在實際工做中是很容易遺漏的,只要將這些狀態的轉換測試到,是否是採用狀態遷移法並不重要,由於狀態遷移圖只不過是給出一種將多個狀態的轉換串起來進行測試的思路

步驟:

1.畫出狀態遷移圖

2.列出狀態-事件表

3.畫出狀態轉換樹(列出每一個狀態,畫出全部從這個狀態出發的狀態)

4.從狀態轉換樹推導出測試路徑

5.根據測試路徑編寫合法測試用例

6.編寫非法測試用例

9.正交試驗法

概念:是從大量和試驗點中挑出適量的、有表明性的點,應用迦羅瓦理論導出的「正交表」,合理的安排試驗的一種科學的試驗設計方法

相關概念:指標、因子、因子的狀態

步驟:

  1. 構造因子狀態表
  2. 選擇正交表(當因子狀態數沒有時,選擇因子+1,去掉多的列)
  3. 對號入座
  4. 合併
  5. 映射
  6. 寫用例

總結:不考慮實際取值的意義,故刪除無效的組合,補充漏掉的常見組合。

10.輸入域測試法

只須要在使用完等價類、邊界值的基礎上再考慮特殊值和長時間輸入

11.輸出域覆蓋法

指望達到輸出或等價類覆蓋

12.異常分析法

容錯能力、故障恢復能力

13.錯誤猜想法

根據經驗猜測。只能做爲測試設計的補充,而不能單獨用來設計測試用例。

14.用例設計方法總結

方法名稱

特色

不足

測試類型

系統類型

備註

等價類,邊界值

分類、覆蓋

不考慮組合

全部類型

全部系統

須要關注數據背後的信息

斷定表因果圖

全排列組合、人工化簡

比較繁瑣

功能測試

控制系統、遊戲

用於測試比較複雜的處理過程

正交試驗

兩兩組合、自動選取

不關心組合的實際意義

功能測試、配置測試

全部系統

關鍵是正交表的選取

狀態遷移

測試修改

 

功能測試

手機、MP3

編輯修改功能也可採用

流程分析

測試流程

 

功能測試、安裝測試

金融系統、物流系統、電子 商務系統

業務流程複雜的系統適用,只檢查流程,不保證單功能正確

相關文章
相關標籤/搜索