境界値分析と等価分割
⚡ スマートサマリー
同値分割と境界値分析は、大きな入力範囲を同値クラスに圧縮し、分割境界をテストするブラックボックステスト手法であり、有効な入力と無効な入力の両方に対して効率的なカバレッジで強力な欠陥検出を実現します。

時間と組み合わせの制約により、網羅的なテストはめったに実行できません。同値分割と境界値分析は、グループ分けによってこの問題を解決します。ping 類似の入力データを用い、エッジ部分をターゲットにすることで、より少ないケースでより強力なカバレッジを実現する。
同値分割とは何ですか?
等価分割 (同値クラス分割またはECPとも呼ばれる)は、入力データを同値な値のグループに分割するブラックボックス手法です。テスターは、ソフトウェアがすべてのメンバーに対して同じように動作すると仮定して、各クラスから代表例を1つ選択します。
- 入力ドメインを有効な同値類と無効な同値類に分割します。
- すべての場合に適用されます テストのレベル—ユニット、統合、システム、および受け入れ。
境界値分析とは何ですか?
境界値分析 (BVA)範囲チェックとも呼ばれるBVAは、各同値クラスの両端を検証します。欠陥は範囲の限界に集中するため、BVAは次の5つの重要なポイントを対象とします。
- 最小
- 最低値をわずかに上回る
- 公称値
- 最大値のすぐ下
- 最大
BVAは同値分割を補完するものであり、クラスが定義されると、その境界値がオフバイワンやエッジバグとして顕在化する。
なぜ同値分割と境界値分析を用いるのか?
組み合わせが多すぎて網羅的にテストできない場合、賢明なテスト選択が不可欠です。これらの手法には次の3つの利点があります。
- 大量のテストケースを、扱いやすい大きさに圧縮する。
- 有効性を損なうことなく、テストデータを選択するための明確なルールを提供する。
- 数値変数を多数含む、計算負荷の高いアプリケーションに適しています。
同値分割の実行方法(例)
- 下記の「ピザを注文する」テキストボックスをご覧ください。
- 数量1~10は有効です。成功メッセージが表示されます。
- 数量11~99は無効です。 “ピザは10枚までしか注文できません”.
試験条件:
- 10を超える数値はすべて無効です。
- 1未満の数値はすべて無効です。
- Numbers 1~10は有効です。
- -100のような3桁の数字はすべて無効です。
すべての値をテストすると、100以上のケースが発生します。同値分割では、動作が同一のドメインをクラスにグループ化します。
これらのグループは 等価クラス各クラスにつき1つの値を選択します。その値が合格すれば、他のすべての値も合格となります。その値が不合格であれば、クラス全体が不合格となります。
境界値解析の実施方法(例)
BVAは、同じPizzaフィールドを使用して、名目値ではなくパーティションの境界をチェックします。テスターは、有効な境界と無効な境界を網羅する0、1、10、11を評価します。
1から10までの値を入力として受け入れる場合、境界テストケースは次のようになります。
| テストシナリオ Descriptexpression CMS | 期待される結果 |
|---|---|
| 境界値 = 0 | システムは受け入れるべきではありません |
| 境界値 = 1 | システムは受け入れる必要があります |
| 境界値 = 2 | システムは受け入れる必要があります |
| 境界値 = 9 | システムは受け入れる必要があります |
| 境界値 = 10 | システムは受け入れる必要があります |
| 境界値 = 11 | システムは受け入れるべきではありません |
同値分割と境界値分析の比較
どちらも検査量を削減するが、焦点とタイミングが異なる。
| 側面 | 等価分割 | 境界値分析 |
|---|---|---|
| フォーカス | 同等の入力のグループ | 各グループのエッジ |
| データの選択 | クラスごとに1つの値 | 最小値、最小値付近、公称値、最大値付近、最大値 |
| ベスト | 重複するケースを減らす | わずかな欠陥の発見 |
| 注文 | 最初に適用 | 次に適用 |
例:パスワードフィールドの検証
6~10文字を入力できるパスワード欄は、0~5文字、6~10文字、11~14文字の3つの区分に分けられ、それぞれの区分内で同等の結果が得られます。
| # | テストシナリオ | 期待される結果 |
|---|---|---|
| 1 | 0~5文字を入力してください | システムは受け入れるべきではありません |
| 2 | 6~10文字を入力してください | システムは受け入れる必要があります |
| 3 | 11~14文字を入力してください | システムは受け入れるべきではありません |
同値分割とBVAのベストプラクティス
検査数を管理しつつ、検査対象範囲をしっかりと維持するために、以下の手順に従ってください。
- すべてのドメインをマッピングする: まず、有効なパーティション、無効なパーティション、および特殊なケースのパーティションを一覧表示します。
- 各制限値の両側をテストする: オフバイワンエラーを検出するために、値のすぐ内側とすぐ外側の値を含めてください。
- テクニックを組み合わせる: 複雑なロジックには、決定表や状態遷移テストと組み合わせて使用します。
- エッジケースを自動化する: 回帰分析スイートが常に一貫して実行されるように、境界値をパラメータ化する。
主要なポイント(要点)
- 同値分割は類似した入力をグループ化します。クラスごとに1つの値で十分です。
- 境界値分析は、分割境界と有効/無効な境界を検証します。
- どちらも、数値フィールドまたは範囲ベースのフィールドに対するブラックボックス的な手法です。
- これらを組み合わせることで、欠陥検出の質を損なうことなく、テスト量を削減できる。
境界値分析と等価分割テストのビデオ
詳しくはこちら こちら ビデオにアクセスできない場合




