同値分割とは?どうちぶんかつ
同値分割とは、入力の取り得る値を、プログラムが同じ扱いをするはずのグループ(同値クラス)に分け、各グループから代表の値を1つずつ選んでテストデータにする技法。プログラムの中身を見ずに仕様だけからテストを作るブラックボックステストの代表的な技法である。正しく処理されるべき値のグループ(有効同値クラス)だけでなく、はじかれるべき値のグループ(無効同値クラス)からも選ぶ。
最終更新:2026-10-10
この語が出る過去問を解く →背景
入力の値をすべて試すことはできない。点数が0〜100点なら101通りで済むが、金額や日付になると桁違いに増える。一方で、同じ処理を通る値をいくつ試しても新しい誤りは見つからない。そこで「結果が同じになるはずの範囲ごとに1つ試せば足りる」と割り切り、少ない件数で仕様の場合分けをもれなく確かめるために生まれた。
具体例
楽天市場の多くのショップは、購入金額が3,980円(税込)以上で送料無料になる。これを処理するプログラムなら、同値クラスは「0円以下(無効:範囲の誤り)」「数値でない入力(無効:形の誤り)」「1〜3,979円(送料あり)」「3,980円以上(送料無料)」の4つに分かれ、代表値として−1円、「abc」、2,000円、5,000円の4件を選ぶ。範囲の誤りと形の誤りはプログラムが別々の扱いをする(前者は金額の範囲を確かめる処理ではじき、後者は数値かどうかを確かめる処理ではじく)ので、1つの無効クラスにまとめず分けて試す。境目の3,979円と3,980円を足すのが限界値分析で、両方を組み合わせて使うのが普通である。
試験での引っ掛け
限界値分析との区別が定番。同値分割はグループの中から代表値を選び、限界値分析はグループの境目のすぐ内側と外側の値を選ぶ。また、有効な値だけを試して無効同値クラスを忘れる誤りもよく問われる。ブラックボックステストの技法なので、「命令をすべて通るようにデータを作る」(命令網羅)のようなプログラムの内部を見る技法とも混同しない。稼働中のシステムから実データを無作為に抜き出す方法は、場合分けを網羅できないので同値分割ではない。
関連用語
出た過去問
問題文で直接問われたものと、解説の中で触れられたものが含まれます。
出典:平成28年度 秋期 基本情報技術者試験 午前 問48(IPA)
整数1~1,000を有効とする入力値が,1~100の場合は処理Aを,101~1,000の場合は処理Bを実行する入力処理モジュールを,同値分割法と境界値分析によっ…
正解:8
要点:境界値は各クラスの内外を挟む値を漏れなく数える
同値クラスは、1未満の無効、1から100の有効、101から1,000の有効、1,001以上の無効の4つに分かれる。条件①より有効な2クラスから境界値でない値を1つずつ選び2個、条件②より境界値として0、1、100、101、1,000、1,001の6個を選ぶ。合わせて8個が最小となる。
出典:平成30年度 春期 基本情報技術者試験 午前 問48(IPA)解説で登場
ブラックボックステストのテストデータの作成方法のうち、最も適切なものはどれか。
正解:機能仕様から同値クラスや限界値を識別し、テストデータを作成する。
要点:ブラックボックステストは同値分割と限界値分析でデータを作る
ブラックボックステストは内部構造を見ず、仕様どおりに動くかを外部から確認する。そのため仕様上の入力範囲を同値クラスに分け、その代表値と境界付近の限界値をテストデータとして選ぶのが基本である。
出典:令和4年度 公開問題 基本情報技術者試験 科目A 問40(IPA)解説で登場
モジュールの内部構造を考慮することなく、仕様書どおりに機能するかどうかをテストする手法はどれか。
正解:ブラックボックステスト
要点:ブラックボックステストは仕様だけを見て入出力を確認する
ブラックボックステストは、モジュールの中身を見ずに、仕様に定められた入力に対して期待どおりの出力が得られるかだけを確認する手法である。同値分割や限界値分析でテストデータを設計する。内部構造に着目して網羅率を測るのはホワイトボックステスト、トップダウンとボトムアップは結合テストの進め方の分類である。
出典・参考
解説は資格暗記が独自に作成しています。過去問の出典は各問題に記載のとおりです。