【うけいれてすと】

受け入れテスト とは?

💡 「これで本当にOK?」の最終チェック
📌 このページのポイント
テストレベルと受け入れテストの位置づけ 単体テスト 個々の関数・ モジュールを検証 1 結合テスト モジュール間の 連携を検証 2 システムテスト システム全体を 統合して検証 3 受け入れ テスト ユーザー視点で 要件を最終確認 4 開発者 開発者 QAチーム 発注者/ユーザー ← テスト範囲が広がる → 開発側のテスト(①〜③) 「正しく作ったか?」を検証 仕様書どおりに動作するか確認 受け入れテスト(④) 「正しいものを作ったか?」を検証 ビジネス要件を満たすか確認
テストレベルの比較(受け入れテストの位置づけ)
ひよこ ひよこ

単体テストや結合テストとの違いは?

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

単体テストは個々の関数やクラスが正しく動くか確認する。結合テストは複数のモジュールが連携して動くか確認する。受け入れテストは「ユーザーの要件を満たしているか」をビジネス視点で確認する。技術的な正しさではなく、業務として使えるかどうかがポイントだよ

ひよこ ひよこ

誰がテストするの?

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

理想的にはクライアント(発注者)やプロダクトオーナーが実施する。開発者が作ったものを開発者自身がOKと言っても客観性がないからね。ただし実際にはクライアントの時間が取れないことも多く、QAチームや業務に詳しいメンバーが代行することもあるよ

ひよこ ひよこ

おもしろい!アジャイルでの受け入れテストは?

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

アジャイルではユーザーストーリーごとに「受け入れ条件(Acceptance Criteria)」を事前に定義する。「ログインボタンを押すとダッシュボードに遷移する」「パスワードが8文字未満ならエラーメッセージが表示される」のように具体的な条件を書く。スプリントレビューでこれを確認するのが受け入れテストに相当するよ

ひよこ ひよこ

受け入れテストの自動化はできる?

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

できるよ。Cucumber(Gherkin記法)やGaugeを使えば、ビジネス要件を自然言語に近い形で記述してテストを自動実行できる。「Given ユーザーがログイン画面にいる When 正しいパスワードを入力する Then ダッシュボードが表示される」のように書く。BDD(振舞駆動開発)と相性が良いアプローチだね

ペンギン
まとめ:ざっくりこれだけ覚えればOK!
「受け入れテスト」って出てきたら「要件を満たしているか最終確認するテスト」と思えればだいたいOK!
📖 おまけ:英語の意味
「Acceptance Test」 = 受け入れ試験
💬 Accept(受け入れる)+ Test。納品物を「受け入れてOK」かどうかを判定する試験だよ
← 用語集にもどる