読み方 : どうちぶんかつ
同値分割【equivalence partitioning】同値分析

テスト対象のプログラムには、入力値の違いに係らず同じ処理経路をたどり同じ結果を返す範囲が存在する。同値分割ではこの範囲を「同値クラス」と呼び、クラス内のいずれかの値でテストに合格すれば、同クラスに属する他の値でも同様に動作するとみなす。これにより、全入力値を網羅せずとも十分な検証が成り立つ。
同値クラスは、仕様を満たす入力による「有効同値クラス」と、仕様を満たさない入力による「無効同値クラス」に大別される。例えば1から100までの整数のみを受け付ける入力欄であれば、「1~100の整数」「0以下の値」「101以上の値」「数値以外の入力」といった複数の同値クラスに分けられる。それぞれから代表値を選ぶことで、正常系と異常系の両方を効率よく検証できる。
同値分割と併用されることが多い手法に「境界値分析」(限界値分析)がある。同値クラスの内部を代表値で検証するだけでは、クラスの境界付近で生じる実装ミスを見落とす恐れがある。例えば「18歳以上」が条件であれば、17歳・18歳・19歳といった境界周辺の値を追加で検証することで、条件判定の誤りを発見しやすくなる。
同値分割はブラックボックステストの代表的な設計技法として位置付けられており、テスト技術者の国際的な資格認定を行うISTQB(International Software Testing Qualifications Board)のテスト設計技法にも含まれている。内部実装を参照せず入出力の仕様のみからクラスを導けるため、様々な開発現場で活用されている。
(2026.6.12更新)
関連用語
他の辞典等による「同値分割」の解説 (外部サイト)
資格試験などの「同値分割」の出題履歴
▼ 基本情報技術者試験
【平28秋 問48】 整数1~1,000を有効とする入力値が,1~100の場合は処理Aを,101~1,000の場合は処理Bを実行する入力処理モジュールを,同値分割法と境界値分析によってテストする。