このレッスンの到達目標
正常動作だけでは見つからない問題をテストする。
音声とインタラクティブ図解で学ぶ音声を再生すると、下のインタラクティブ図解と本文の段落ハイライトが連動して動きます。
INDEPENDENT TEST ORACLE LAB · AUDIO & INTERACTIVE
独立テストオラクル計算器(値引き順序・端数処理・境界値比較)
AIの実装式をなぞるテストではなく、合意した業務ルール(単価×数量・値引き率・切り捨て/切り上げ/四捨五入)から独立して期待値を導きます。
ルール別の期待値比較(税対象外)切り捨て:2703円 / 切り上げ:2702円 / 四捨五入:2703円
端数が出る入力(例:1,001円×3個=3,003円、10%=300.3円)を用意することで、切り捨て(2,703円)と切り上げ(2,702円)の実装ミスを確実に検出できます。
オラクル設計の原則AIが書いた実装コードをコピーしてテスト期待値を作らない
正常値だけでなく、値引き0%、対象外取引先、上限超え、保存失敗時のロールバック状態も期待結果に含めます。
条件の境目と、失敗の途中を考える
値引き率なら未入力、0、上限、上限超え、負数、桁数などを確認します。さらに権限不足、通信切断、同時更新、途中失敗、再実行を業務に応じて選びます。
単体テストだけでなく、DBや連携先を含む結合テスト、利用者の操作に沿った確認も組み合わせます。テスト件数が多いことだけでは、必要な条件を網羅したとはいえません。
既存テストが足りないとき
現在の動作を記録し、変更前後を比較する確認を用意します。ただし現行動作を固定するテストと、合意した業務要件を確かめるテストは区別します。
回帰テストでは関連機能を選び、選んだ根拠を残します。実行できないテスト、使えない環境、未検証の性能は、残るリスクとして示します。
判断の練習
テスト一覧には、条件、入力、期待結果、実測、判定、実施環境を残します。失敗時には再現情報を付け、未実施の項目と混在させないようにしてください。
回帰対象を選ぶときは、同じ共通部品を使う箇所、同じデータを読む機能、連携先を調べます。対象外にした範囲も理由とリスクを記録します。
押さえておきたいこと
- 条件からテストを選ぶ
- 現行動作と正しい要件を区別する
- 未検証を結果に含める
読了記録と習熟度の確認は別です。