この記事では、ISTQB Foundation Level(CTFL)シラバス 4.0 の「テストレベル(Test Levels)」の中から、システムテスト(System Testing) について詳しく解説します。
コンポーネントテストや統合テストとの違い、目的、そしてどんな観点で行うのかをわかりやすくまとめました。
システムテストとは?
システムテスト(System Testing) とは、
完成したソフトウェア全体を対象に、システム全体の動作・品質を確認するテストレベルです。
これまでのテスト(コンポーネントテスト、統合テストなど)では、プログラム単体や複数モジュールの連携を検証してきました。
しかしそれだけでは、実際の環境で「アプリ全体が正しく動くかどうか」は分かりません。
そこで登場するのが「システムテスト」です。
これは製品全体を「1つの完成したシステム」として扱い、エンドユーザー視点で動作を確認する重要な工程です。
なぜシステムテストが必要なのか?
多くの人は「コンポーネントや統合テストをやったなら十分では?」と思うかもしれません。
しかし、システム全体の動作を確認するには本番に近い環境が必要です。
たとえば以下のような要素は、部分テストでは確認できません:
-
実際の ハードウェア構成 や OS環境 での動作
-
設定や環境依存の不具合(例:ブラウザ互換性、ポート競合など)
-
システム間の連携(例:他システムや外部サービスとの通信)
つまり、システムテストは「本番に最も近い状態で行う最初のテスト」 なのです。
システムテストで確認する内容
システムテストでは、主に以下の2つの観点をカバーします。
① 機能面(Functional Testing)
-
アプリ全体が要件通りに動作しているかを検証
-
「エンドツーエンド(End-to-End)」の業務フローを確認
-
画面遷移、入力処理、データ保存などの総合的な動作を確認
② 非機能面(Non-Functional Testing)の準備
-
システムテストを終えることで、性能テスト・セキュリティテストなどの非機能テストへ移行可能になります。
-
実際の非機能テスト(パフォーマンス、互換性、移植性、インストール性など)は次の段階ですが、その前提となる機能の安定性を確認するのがシステムテストの役割です。
テスト環境と独立性の重要性
システムテストは、本番環境を模した専用のテスト環境(Staging / Pre-production)で実施します。
本番環境(Production)で直接行うことはありません。
また、この段階では独立したテストチームが担当することが多く、開発者とは別の視点で品質を確認します。
ISTQBではこれを「テストの独立性(Independence)」と呼びます。
不完全な要件を補うテスト
システムテストの重要な役割のひとつに、要件定義時に明確でなかった部分を明らかにする という点があります。
例えば、フードデリバリーアプリ「Zomato」を例にしましょう。
ユーザーからのレビューを「どのタイミングで収集するか」という仕様が曖昧だった場合、
実際にアプリ全体を動かしてみて初めて、「配達完了時にポップアップを出すのが最適」と判断できます。
このように、実際のシステムを通してしか見えない要件やリスクを発見できるのも、システムテストならではの価値です。
製品リスク(Product Risk)への対応
システム全体を通して、次のような製品リスクも明らかになります。
-
異なるOSやブラウザでの動作不良
-
外部サービス連携時の通信エラー
-
負荷が集中した際の処理落ち
これらのリスクを早期に検出し、リリース前に対処できるようにするのも、システムテストの大きな目的です。
まとめ:システムテストは“全体を見渡す最終チェックポイント”
システムテストは、単に「機能が動くか」を確認する段階ではありません。
アプリ全体の品質・安定性・ユーザー体験を保証する重要なプロセスです。
ここをしっかり行うことで、非機能テストや受け入れテスト(Acceptance Testing)へスムーズに進めることができます。
✅ ポイントまとめ
-
システムテストはアプリ全体を対象に実施する最終的な機能テスト。
-
実際の環境を再現し、設定・互換性・パフォーマンスの基礎を確認。
-
非機能テストの前段階として必須。
-
独立したテストチームが実施するのが望ましい。
-
不完全な要件や潜在的なリスクを明確化できる。
🎓 ISTQB学習におすすめ
システムテストは ISTQB Foundation Level(CTFL)試験の出題範囲 2.2.1「Test Levels」 に含まれる重要トピックです。
この内容をしっかり理解しておくことで、試験本番でも高得点が狙えます。



コメント