まず結論

テストにはブラックボックス(外部仕様から)とホワイトボックス(内部構造から)の2種類があります。テストの段階(単体→結合→システム→受け入れ)と、境界値分析・同値分析が試験頻出です。

ブラックボックステストとホワイトボックステスト

ブラックボックステスト

内部実装を見ずに入力と出力のみで確認。仕様書ベースでテスト設計。

技法:同値分析・境界値分析・デシジョンテーブル

ホワイトボックステスト

内部構造(コード)を確認しながらテスト。網羅率(カバレッジ)を指標に。

技法:命令網羅・分岐網羅・条件網羅

テストの段階(V字モデル)

要件定義
受入テスト
基本設計
システムテスト
詳細設計
結合テスト
実装
単体テスト
左側:開発フェーズ → 右側:対応するテストフェーズ(V字型)
テスト段階目的担当
単体テスト(UT)関数・モジュール単位の動作確認開発者
結合テスト(IT)モジュール間の連携確認開発者
システムテスト(ST)システム全体の要件達成確認テストチーム
受入テスト(UAT)ユーザーが実環境で要件確認顧客・ユーザー

同値分析と境界値分析

同値分析(同値クラス)

入力を「同じ結果が期待される」グループに分けて、各グループから代表値を1つ選んでテスト。

例:1〜100が有効なら代表値=50。0以下と101以上は無効クラス。

境界値分析

境界の値(直上・直下)をテスト。バグが境界に集中しやすい性質を利用。

例:有効範囲が1〜100なら → 0, 1, 100, 101をテスト。

境界値分析の例:「年齢が20以上65未満の場合、割引適用」
テストすべき境界値:19(無効)・20(有効)・64(有効)・65(無効)

🎯 試験での出方

⚠️ よくある間違い

✍️ 確認クイズ

Q1. 入力値1〜100が有効な仕様で、境界値分析のテストケースとして適切なものはどれか。
✅ 正解は③。境界値分析では有効範囲の境界(1と100)と、その直外(0と101)をテストします。バグは境界付近に集中しやすいため、この4値が最も重要なテストケースです。
Q2. 受入テスト(UAT)は主に誰が実施するか。
✅ 正解は③。受入テスト(UAT:User Acceptance Test)は顧客やエンドユーザーが実際の業務環境で要件を満たすかを確認するテストです。V字モデルの最終段階に対応します。
Q3. コードの内部構造を考慮せず、入出力の仕様のみからテストケースを設計する手法はどれか。
✅ 正解は②。ブラックボックステストは内部実装(コード)を見ずに、仕様書の入出力仕様からテストケースを設計します。同値分析・境界値分析が代表的な技法です。
Q4. ホワイトボックステストの「命令網羅(C0)」と「分岐網羅(C1)」の違いとして正しいものはどれか。
✅ 正解は②。命令網羅(C0)は全ての命令文が少なくとも1回実行されること。分岐網羅(C1)はif文などの条件分岐で、TRUEとFALSEの両方のパスを通ること。C1の方が厳格で、C0を満たしてもC1は満たさない場合があります(例:if文がTRUEのケースしかテストしていない)。
Q5. 回帰テスト(リグレッションテスト)の目的として正しいものはどれか。
✅ 正解は②。回帰テスト(リグレッションテスト)はバグ修正や機能追加後に、既存の正常な機能が壊れていないか(デグレードしていないか)を確認するテストです。変更のたびに既存テストケースを再実行します。自動テストツールを使うと効率的に実施できます。

Sponsor Link