システム総合テストと受入検査 — 本番前の最終確認
導入
新しいシステムを本番稼働させた直後に重大なバグが発覚した、というニュースを耳にすることがあります。こうした事態を防ぐために、本番前に行う「総合テスト」と「受入検査」のプロセスが非常に重要な役割を果たしています。
なぜ重要か
システム開発において、テストは品質を保証するための最後の砦です。適切なテストを経ずにリリースされたシステムが障害を起こした場合、企業は金銭的な損失だけでなく社会的な信頼も失います。2016年に発生した某自治体の基幹システム障害では、十分な受入検査を行わなかったことが原因のひとつとして指摘されました。
ITパスポートのマネジメント系・テクノロジ系の両分野において、テスト工程の知識は必須です。「単体テスト→結合テスト→総合テスト→受入検査」という順序、それぞれの目的と実施者の違いは繰り返し出題されています。また、DX推進の現場では開発に直接関わらない立場でも受入検査の承認責任を担うケースが増えており、この知識は実務でも直接役立ちます。
くわしく知ろう
ソフトウェア開発のテスト工程は、単体テスト→結合テスト→総合テスト(システムテスト)→受入検査という順序で進められます。小さな単位から段階的に確認することで、問題の発見と修正を効率よく行えます。
総合テスト(システムテスト)は、システム全体を結合した状態で要件通りに動作するかを確認する工程です。機能要件だけでなく、非機能要件の検証も重要な位置を占めています。非機能要件とは、処理速度や同時アクセス数への耐性を確認する性能テスト、脆弱性や不正アクセスへの耐性を確認するセキュリティテスト、使いやすさを評価するユーザビリティテストなどを指します。
受入検査(受入テスト・UAT:User Acceptance Test)は、開発を依頼した発注者側が実施するテストです。仕様書通りに作られているかをユーザー視点で確認し、システムの引き渡しを承認するかどうかを判断する工程になっています。本番環境に近い条件で実施することが望ましいとされており、実際のデータや業務シナリオを使ってテストするのが一般的です。
テスト計画では、「何を・どの手順で・どの条件で確認するか」をあらかじめ文書化しておくことが重要です。テスト計画書・テスト仕様書・テスト結果報告書を作成し、品質の証跡として残すことが実務上の標準的な進め方となっています。
具体例で理解する
たとえば、新しい受発注システムの総合テストでは、同時アクセスが集中したときの応答速度(性能テスト)や、SQLインジェクション攻撃への耐性(セキュリティテスト)を確認します。その後、発注者側の担当者が実際の業務シナリオで注文・出荷・請求といった一連の操作を行い、業務フロー全体が滞りなく動作するかを確認するのが受入検査にあたります。開発者には見えていなかった「現場では使いにくい」という観点が発注者側のテストで初めて発見されることもあります。
試験での出題パターン
【パターン1:テスト工程の順序を問う問題】
「単体テスト・結合テスト・総合テスト・受入検査を実施順に並べよ」という4択問題が頻出です。選択肢には意図的に順序を入れ替えたものが用意されるため、順序を正確に記憶しておく必要があります。「小から大へ、開発者から発注者へ」という方向性を意識すると覚えやすくなります。
【パターン2:各テスト工程の目的や実施者を問う問題】
「受入検査を実施するのは誰か」という問いに対して「発注者(ユーザー)側」が正解になるパターンや、「システム全体を結合した状態で機能・非機能要件を確認するテストはどれか」という問いに「総合テスト(システムテスト)」が正解になるパターンがよく出ます。各工程の実施者と確認対象をセットで覚えておくことが大切です。
【パターン3:非機能要件のテスト分類を問う問題】
「性能テスト・セキュリティテスト・ユーザビリティテストはどの工程で行われるか」という問いが出題されることがあります。これらはいずれも総合テスト(システムテスト)の一環として実施されます。単体テストや結合テストの段階ではなく、システム全体が完成した後に実施する点を押さえておきましょう。
よくある間違い・紛らわしいポイント
【単体テストと結合テストの目的の混同】
単体テストはプログラムの最小単位(モジュール・関数など)を個別に確認するテストです。結合テストは複数のモジュールを組み合わせて、インタフェース(つなぎ目)が正しく動作するかを確認します。「プログラムを単独で動かす」のが単体テスト、「つなぎ合わせて動かす」のが結合テストと区別してください。
【総合テストと受入検査の実施者の取り違え】
総合テストは開発者(ベンダー)側が実施します。受入検査は発注者(ユーザー)側が実施します。同じシステムを対象にしていても実施主体が異なる点が重要です。試験では「誰が実施するか」という観点で選択肢が作られることが多いため、開発者側か発注者側かを常に意識してください。
【「受入検査=最終的なテスト」という誤解】
受入検査はあくまで「発注者側の確認」であり、品質保証の責任は開発者側の総合テストにあります。また、受入検査で問題が見つかった場合は開発者側に差し戻しが行われ、必要に応じて総合テストのやり直しから発生することもあります。受入検査は「終わり」ではなく「承認の判断」の工程です。
まとめ・試験ポイント
- テスト順序=単体→結合→総合テスト→受入検査(小から大へ、開発者から発注者へ)
- 単体テスト=最小単位のモジュールを個別確認(開発者側が実施)
- 結合テスト=複数モジュールのインタフェース確認(開発者側が実施)
- 総合テスト=システム全体で機能・非機能要件をまとめて確認(開発者側が実施)
- 非機能要件テスト=性能・セキュリティ・ユーザビリティなど(総合テストの一環)
- 受入検査(UAT)=発注者側がシステム引き渡し前に業務シナリオで実施
- 試験では各テスト工程の順序・実施者・目的を問う問題が頻出
学習した内容を試験形式で確認しよう。ITパスポート入門試験100問に挑戦できます。
入門試験100問に挑戦する