測試理論之黑盒測試用例設計方法及選擇策略

說明:本文章非黑盒測試方法使用普及文章,僅闡述每個方法的原理、適用場景及使用技巧。

黑盒測試本質是數據驅動的測試。把程序看做黑盒,不考慮內部邏輯結構,僅根據規格說明設計測試用例,驗證其是否符合要求。

黑盒測試方法是窮舉輸入的測試方法,但實際上無法進行窮舉,所以用例設計需要講究方法和技巧,從而設計出有效且關鍵的測試用例。

黑盒測試用例設計方法

針對輸入或輸出條件:等價類劃分法、邊界值分析法

針對輸入或輸出條件之間的聯繫、互相組合:因果圖法、判定表驅動法

針對多因素、多水平組合(3個或3個以上的試驗因素):正交實驗法

針對狀態遷移和邏輯:功能圖法

針對業務流程、事件流:場景法

等價類劃分法

原理

把輸入或輸出數據劃分爲有效和無效等價類,從每個等價類中選取具有代表性的數據進行測試。

考慮範圍:輸入值、輸出值、內部值、時間關係、計算、測試前置或後置條件、配置等。

適用場景

只要有輸入或輸出。

使用技巧

  • 把儘可能多的有效等價類設計到一條測試用例中;
    • 採用邊界值分析法進行有效補充。
  • 每個無效等價類就是一條測試用例。
    • 子集不能相交;
    • 子集不能爲空;
    • 子集的合集應該等同於原始集合。

邊界值分析法

原理

針對輸入或輸出範圍的邊界值進行測試。

通常是針對有效等價類的邊界值進行測試。

考慮範圍:變量的最大值、最小值、中間值、比最大值大的值、比最小值小的值。

適用場景

有範圍的輸入或輸出。

使用技巧

通常結合等價類劃分法使用,是作爲對等價類劃分法的有效補充。

錯誤猜測法

原理

憑藉直覺和經驗推測某些可能的錯誤,針對這些錯誤設計測試用例的方法。

適用場景

幾乎所有場景。

使用技巧

沒有技巧,直覺和經驗堆積。

因果圖法

原理

根據輸入條件的組合、約束關係和輸出條件的因果關係,利用圖解法分析輸入條件的各種組合情況,寫出判定表,從而設計測試用例的方法。

因果圖法最終生成的就是判定表,它適合於檢查程序輸入條件的各種組合情況。

適用場景

多種輸入條件組合。

使用技巧

因果圖法和判定表結合使用。

判定表驅動法

原理

針對不同邏輯條件的組合值,分別執行不同的操作。

適用場景

多個邏輯條件組合會產生不同的操作情況。

使用技巧

  1. 規格說明以判定表形式給出,或很容易轉換成判定表。
  2. 條件的排列順序不會也不影響執行哪些操作。
  3. 規則的排列順序不會也不影響執行哪些操作。
  4. 每當某一規則的條件已經滿足,並確定要執行的操作後,不必檢驗別的規則。
  5. 如果某一規則得到滿足要執行多個操作,這些操作的執行順序無關緊要。

正交實驗法

原理

正交試驗法是研究多因素、多水平組合的一種試驗法,它是利用正交表來對試驗進行設計,通過少數的試驗替代全面試驗,根據正交表的正交性從全面試驗中挑選適量的、有代表性的點進行試驗,這些有代表性的點具備了“均勻分散,整齊可比”的特點。

適用場景

多因素、多水平組合(3個或3個以上的試驗因素)。

使用技巧

使用PICT工具。

功能圖法

原理

一個程序的功能說明通常由動態說明和靜態說明組成。動態說明描述了輸入數據的次序或轉移的次序。靜態說明描述了輸入條件與輸出條件之間的對應關係。用功能圖形象地表示程序的功能說明,並機械地生成功能圖的測試用例。

功能圖法實際上是一種黑盒和白盒相混合(灰盒)的用例設計方法。

功能圖法中要用到邏輯覆蓋和路徑測試的概念和方法(白盒測試方法)。

適用場景

狀態遷移(測試路徑)與邏輯模型。

使用技巧

功能圖中的每一條路徑即是一條測試用例。

場景法

原理

核心思想是站在用戶的角度上檢測軟件功能,發現軟件的錯誤。

場景法能夠以最少的測試成本,來發現最多的與用戶平時使用時息息相關的軟件缺陷或錯誤。

適用場景

業務流程清晰(工作流或場景)、參與者與系統交互過程。

使用技巧

  1. 理解業務需求,分析業務基本流和備選流上所有會影響數據流走向的的各種因素,從用戶操作角度拆分流程中各環節,同時考慮時間、網絡等因素。
  2. 組合場景中可能發生的事件序列。
  3. 將環境因素和事件序列進行組合並進行分析推導,得到不同的場景。

黑盒測試方法選擇策略

測試用例的設計方法不是單獨存在的,在實際情況中,往往是綜合使用各種方法纔能有效地提高測試效率和測試覆蓋率,這需要了解方法的原理,積累經驗,以提高測試水平。

  1. 對於業務流程清晰的系統,可以利用場景法貫穿整個測試案例過程,在案例中綜合使用各種測試方法。
  2. 如果有輸入條件的組合,可選擇因果圖法和判定表驅動法。
  3. 通過功能圖法針對不同時期條件的有效性設計不同的測試數據。
  4. 優先使用等價類劃分,包括輸入和輸出條件的等價劃分,把無限測試變成有限測試,減少工作量和提高測試效率的最有效方法。
  5. 在任何情況下都必須考慮邊界值分析法。
  6. 使用錯誤猜測技術增加更多的測試用例。
  7. 對於參數配置類,使用正交實驗法選擇較少的組合方式達到最佳效果。
  8. 對照程序邏輯,檢查已設計出的測試用例的邏輯覆蓋程度。如果沒有達到要求的覆蓋度量標準,應當再補充足夠的測試用例。

參考資料

-《軟件評測師教程》

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章