0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

ブラックボックステスト技法:”同値分割法”について

Posted at

■ 同値分割法とは?

ブラックボックステストで使用されるテスト設計技法の一つで、

テスト対象の入力値や出力値を、
性質や挙動が同じだとみなせる範囲(同値クラス)に分割し、
各クラスから代表的な値を選んでテストを行う方法です

この技法は、テストケースを効率的に設計し、網羅性を高めるために使用されます

特徴

 -> 効率的なテスト
同じクラス内の値は同じ処理が行われると仮定される為、
全ての値をテストする必要がなくクラスごとに代表値を1つ選べば十分です


 -> 網羅性の向上
異なる同値クラスをカバーすることで、全体的なテストの網羅性を高められます

同値クラスの種類

 -> 有効同値クラス:正常動作を期待する入力値の範囲
          [例] 入力が1~100の範囲の場合、「1~100」が有効同値クラス


 -> 無効同値クラス:異常動作を誘発する入力値の範囲

          [例] 入力が1~100の場合、「0以下」や「101以上」が無効同値クラス


image.png

【例】

ショッピングサイトにて、商品の購入数量に制限を設けている場合:

仕様:
・購入数量は「1~100」の範囲内で入力可能
・購入数量が「1~100」の場合は、カートに追加が可能
・購入数量が「0以下」または「101以上」の場合はエラーメッセージを表示

image.png

利点/欠点

利点
・テストケースの効率化:代表値を選ぶことで、テストケースの数を削減できる
・網羅性の向上:有効・無効クラスを網羅的にテストすることが可能
・重要なケースを見落とすリスクが減る
・設計の明確化:1.仕様を整理しやすく2.仕様の不明点も発見しやすい

 ■ 仕様を整理しやすい

 ・システムの仕様をもとに、
  入力データの有効(期待される動作)/無効(エラー処理対象)範囲を明確に定義できる

 ・入力値を整理する過程で、
  どの条件がカバーされていないかや、同じ条件が重複しているかを発見しやすくなる

 ・各同値クラスから代表値を1つ選べばよい為、テストケースが無駄なく効果的に設計可能
 
 ■ 仕様の不明点を発見しやすい

 ・"有効範囲と無効範囲の境界が明確でない"場合、
  どの値が有効なのか仕様書に書かれていないケースが発見できる
  (境界条件の曖昧さの発見)

  例:「1~100の数値が有効」と記載されているが、境界値である0や101の扱いが不明確

 ・無効な入力に対するエラーメッセージや処理が記載されていない場合が発見できる
  (例外条件の不足の発見)


欠点
・境界値に弱い:境界付近のテストが不足しやすい
・分割の難しさ:正しい同値クラスの分割が難しい場合がある
・網羅性の限界:クラス内の特殊ケースを見逃す可能性がある

※他の技法(例:境界値分析)と併用すると効果が高まります

まとめ


同値分割法は、テストの効率性、網羅性、設計の明確化など多くのメリットを持ち、

特に仕様が明確で入力範囲が広い場合に効果を発揮します

他の技法(境界値分析など)と組み合わせて活用することで、
より高品質なテスト設計が可能となります

「■ テスト技法:境界値分割」へ続く
https://qiita.com/aokimakiko/items/12da8b3ecf64415c7046

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?