総合テスト(システムテスト)とは、すべての機能が揃った完成版のシステム全体を対象に、本番と同じような環境で問題なく動作するかを検証する最終的なテストのことです。 [1]
英語では「System Test(ST)」 や「Product Test(PT)」 と呼ばれ、開発者が行う最後のテスト工程となります。 [2, 3]
🔍 開発プロセスにおける位置づけ
システム開発のテストは通常、以下の順番で徐々に規模を大きくしながら進められます。総合テストは、バラバラだった部品がすべてつながった状態で行われます。 [2, 4]
- 単体テスト (UT):プログラムの最小単位(機能ごと)で正しく動くか検証。
- 結合テスト (IT):複数のプログラムを組み合わせて、データの連携がうまくいくか検証。
- 🚀 総合テスト (ST):【本工程】システム全体が、最初の「要件定義(顧客の要望)」通りに動くか検証。
- 受入テスト (UAT):納品前に、発注元(ユーザー)が実際の業務で使えるか最終確認。 [2, 5, 6]
🛠️ 主なテストの観点(何を確認するか)
機能が正しく動くか(機能要件)だけでなく、使いやすさや安全性(非機能要件)など、多角的な視点でテストを行います。 [5]
- 機能要件の検証
- 画面遷移やデータの登録・削除が仕様書通りに動作するか。
- 実際の業務の流れに沿って、一連の操作がスムーズに行えるか(シナリオテスト)。 [2, 5]
- 非機能要件の検証
- 📊 負荷・性能テスト:大量のアクセスやデータが一度に集中しても、システムが遅くなったりダウンしたりしないか。
- 🔒 セキュリティテスト:不正アクセスや情報漏洩を防ぐ対策が機能しているか。
- ⏱️ ロングランテスト:長時間連続で稼働させても、メモリリークなどで重くならないか。
- ♿ ユーザビリティテスト:画面のデザインや操作性が、ユーザーにとって使いやすいか。 [2, 7]
💡 総合テストで重要なポイント
- 本番に近い環境の用意:ハードウェア、OS、ネットワーク、使用するデータなどを、実際の運用環境に極限まで近づけてテストを行います。開発環境では起きなかった「データの量」や「通信の遅延」による不具合を見つけるためです。 [1, 2, 8]
- 不具合対策のスケジュール:システム全体を動かすため、ここで見つかった不具合は修正の影響範囲が広くなりがちです。そのため、あらかじめ修正と再テストの期間を考慮した余裕のある計画が必要になります。 [2, 9]
総合テストについて、さらに具体的なテストケースの作り方や、結合テストとの細かい違いなど、詳しく知りたい部分はありますか?
[5] https://service.shiftinc.jp
