[[TEF/テスト技法]]
#contents(fromhere=true)
*技法名 同値分割法 [#ja445e5c]
*技法名(英語) equivalence partitioning [#x5a74116]
*説明 [#baa2a969]
仕様ベースのブラックボックステスト技法の1つで、全てのテスト技法において適用できます。
この技法は、ソフトウェアの仕様から、同一の処理がされ同様の結果をもたらすことを期待できる入力セットや出力を想定し、テストケースを設計する方法です。
このとき、同じとみなせる入力領域(入力セット)や出力領域のことを同値クラスと呼びます。
同値クラスには、正常系の同値クラスである有効同値クラスと、異常系の同値クラスである無効同値クラスに分かれます。有効・無効とはあくまでもソフトウェアにとっての話ですので、入力ができるかどうかとは無関係です。
*使用例 [#wdf863f1]
JRの料金体系は、
|おとな|12歳以上(12歳でも小学生は「こども」です)|
|こども|6歳〜12歳未満(6歳でも小学校入学前は「幼児」です)|
|幼児|1歳〜6歳未満|
|乳児|1歳未満|
となっています。&br;
年齢を符号なし4バイト整数(unsigned int)とし、幼児クラスの年齢について、同値分割を行うと、
・無効同値クラス: UNIT_MIN(-4,294,967,296)以上、1歳未満&br;
・有効同値クラス: 1歳以上、6歳未満&br;
・無効同値クラス: 6歳以上、UNIT_MAX(4,294,967,295)以下
となります。
同値分割法によってテストを実施する場合には、それぞれのクラスから代表を選びますので、例えば、{-10歳、3歳、15歳}が入力値となります。&br;
この場合の期待結果は{幼児ではない、幼児、幼児ではない}です。
*補足 [#ic438536]
出力の同値クラスを考えることを忘れがちなので注意しましょう。&br;
たとえば、出力の桁数が増えるといったことです。
*参考文献 [#n8572b25]
書籍: ソフトウェアテストの基礎
total &counter(total); today &counter(today); yesterday &counter(yesterday);
RIGHT:[[TEF/index]]に戻る