【どうちぶんかつ】

同値分割 とは?

💡 「同じ仲間」をまとめて代表1人だけテストする効率化術
📌 このページのポイント
同値分割 ― 同じ結果のグループから代表を選ぶ 無効クラス 0 有効クラス(1〜120歳) 120 無効クラス 例: 年齢入力フィールド -5 代表値 50 代表値 200 代表値 全パターンをテストする必要なし 各クラスの代表値1つで同等の検証効果が得られる
同値分割のイメージ
ひよこ ひよこ

同値分割って、どういう考え方なの?

ペンギン先生 ペンギン先生

たとえば年齢入力で「1〜120歳が有効」だとしたら、1〜120は全部同じ「有効」という結果になるよね。だから全部テストしなくても代表として「50」を1つテストすれば十分、という考え方だよ

ひよこ ひよこ

無効なデータもグループ分けするの?

ペンギン先生 ペンギン先生

もちろん!「0以下」「121以上」「数字じゃない入力」みたいに無効クラスも分けるよ。有効クラスと無効クラスの両方から代表値を選ぶことで、正常系も異常系も効率的にテストできるんだ

ひよこ ひよこ

境界値分析とはどう違うの?

ペンギン先生 ペンギン先生

同値分割が「グループの代表値」をテストするのに対して、境界値分析は「グループの境目」をテストするんだ。年齢の例なら0、1、120、121が境界値だね。両方を組み合わせるのが定番で、これだけでかなり多くのバグを見つけられるよ

ひよこ ひよこ

実際のプロジェクトではどう使う?

ペンギン先生 ペンギン先生

入力フォームのバリデーションテストが典型的だけど、APIパラメータや設定ファイルの値などにも使えるよ。テストケースが爆発的に増えるのを防ぎつつ、効果的なテストを設計するための基本中の基本の技法なんだ

ペンギン
まとめ:ざっくりこれだけ覚えればOK!
「同値分割」って出てきたら「同じ結果になるグループから代表1つを選んでテストする技法」と思えればだいたいOK!
📖 おまけ:英語の意味
「Equivalence Partitioning」 = 同値分割
💬 equivalence は「等価」、partitioning は「分割」で、等価なデータを分割するという意味だよ
← 用語集にもどる