1. 程式人生 > >軟體測試學習:動態黑盒測試$

軟體測試學習:動態黑盒測試$

一.動態黑盒測試

1.概述

不深入程式碼細節的軟體測試方法稱為動態黑盒子測試。它是動態的,因為程式正在執行。動態黑盒測試常常被稱為行為測試。

2.測試用例

①概述

測試用例是指進行測試時使用的特定輸入,以及測試軟體的過程步驟。下圖是Windows計算器加法功能的測試用例:


②測試用例的重要性

選擇測試用例是軟體測試員最重要的一項任務

不正確的選擇可能導致

  • 測試量過大
  • 測試量過小
  • 測試目標不對
準確評估風險,把無窮盡的可能性減少到可以控制的範圍

二. 通過性測試和失效性測試

通過性測試:確認軟體至少能做什麼,而不考驗其能力。只運用最簡單,最直觀的 測試用例。

失效性測試:純粹為了破壞軟體而設計和執行的測試案例。

設計和執行測試案例時,總是首先進行通過測試。在破壞性試驗之前看看軟體基本功能是否實現是很重要的,否則在正常使用軟體時就會奇怪為什麼有那麼多的軟體缺陷。常見的測試案例就是設法迫使軟體出現錯誤提示資訊。   

三.等價類劃分

1.概述

等價類劃分(equivalence partitioning)有時稱為等價分類(equivalence classing)

分步驟地把海量(無限)的測試用例集減小,但過程同樣有效 —個等價類(equivalence class)或等價劃分(equivalence partition)是指測試相同的目標或者暴露相同軟體缺陷的一組測試用例 2.特點  等價類應具有
  • 無冗餘性:等價類為互不相交的一組子集
  • 完整性:所有子集(等價類)的合併是整個集合

等價類劃分有兩種不同的情況

  • 有效等價類 檢驗程式是否實現了預期的功能和效能
  • 無效等價類 檢驗對於無效數字的處理能力
3.劃分的原則

①在輸入條件規定了取值範圍或值的個數的情況下,則可以確立一個有效等價類和兩個無效等價類

②在輸入條件規定了輸入值的集合或者規定了“必須如何”的條件的情況下,可確立一個有效等價類和一個無效等價類

③在輸入條件是一個布林量的情況下,可確定一個有效等價類和一個無效等價類

④在規定了輸入資料的一組值(假定n個),並且程式要對每一個輸入值分別處理的情況下,可確立n個有效等價類和一個無效等價類

⑤在規定了輸入資料必須遵守的規則的情況下,可確立一個有效等價類(符合規則)和若干個無效等價類(從不同角度違反規則)

⑥在確知已劃分的等價類中各元素在程式處理中的方式不同的情況下,則應再將該等價類進一步的劃分為更小的等價類

  • 字母還要區分大小寫

4. 根據等價類選擇用例

劃分出等價類後,按以下三個原則設計測試用例:

  • 為每一個等價類規定一個唯一的編號.
  • 設計一個新的測試用例,使其儘可能多地覆蓋尚未被覆蓋地有效等價類,重複這一步.直到所有的有效等價類都被覆蓋為止.
  • 設計一個新的測試用例,使其僅覆蓋一個尚未被覆蓋的無效等價類,重複這一步.直到所有的無效等價類都被覆蓋為止

5. 等價類劃分法的總體步驟

  • 劃分等價類
  • 建立等價類表
  • 選擇覆蓋等價類的測試用例形成測試用例表