単体テスト・結合テスト・システムテストとは?たんたいてすと・けつごうてすと・しすてむてすと
単体テスト・結合テスト・システムテストとは、テストを対象の範囲で分けた区分。単体はモジュール単位、結合は複数モジュールを組み合わせた連携、システムは全体が要件を満たすかを検証する。データベースを使う開発では、どの段階でどれだけの件数のデータを積むかで見つかる不具合が変わり、件数が少ないうちは実行計画の誤りも同時実行の競合も表面化しない。
最終更新:2026-10-06
データベースSPを最短で暗記・合格する →背景
アプリ側のロジックは数十行のテストデータで十分に検証できるが、データベースの振る舞いは件数と同時実行数に依存する。オプティマイザは統計情報から件数を見積もって経路を選ぶので、少件数の環境では全表走査が最速となり、索引の設計ミスが正常として通ってしまう。ロックの競合も一人で流している限り起きない。だから段階ごとに何を確かめるかを分けて設計する必要がある。
具体例
単体では呼び出し先の代わりにスタブを置き、数十行で結果の正しさだけを見る。結合では複数の更新を同じトランザクションにまとめたときの更新順序を揃え、デッドロックが出ないかを二本同時に流して確かめる。システムテストでは本番同等の1,000万行を投入し、統計情報を採取し直したうえで応答時間を測る。
試験での引っ掛け
スタブ(呼び出される側の代役)とドライバ(呼び出す側の代役)の役割を取り違えやすい。またデータベース側の問題は段階を上げないと出ない。少件数のテストで通ったSQLが本番件数で全表走査に化ける、単独では起きないロック待ちが並行実行で顕在化する、という形で後段に現れる。
関連用語
出典・参考
解説は資格暗記が独自に作成しています。過去問の出典は各問題に記載のとおりです。