回帰テスト(リグレッションテスト / 退行テスト)は、プログラムの一部を修正したり機能追加をしたりした際に、その変更によって「これまで正常に動作していた他の機能に、予期しないバグや悪影響(エンバグ)が発生していないか」を確認するための再テストです。
ソフトウェア開発では、ある場所のバグを修正したことが、全く関係ないはずの他の処理(共通ライブラリの書き換えなどによる影響)を壊してしまうトラブルがしばしば発生します。これを防ぐため、修正を行ったモジュールだけでなく、影響が及ぶ可能性のある既存モジュールに対して、過去に実施したテストケースを再度実行します。
システムが大規模になるほど、変更のたびにすべてのテストを手動で行うのは時間的に不可能になります。そのため、回帰テストは「テスト自動化」との親和性が非常に高いのが特徴です。テストスクリプトを作成しておき、コードがコミットされるたびに自動的にすべての回帰テストを実行する仕組み(CI/CDパイプライン)を構築することで、常にシステム全体の品質と品質後退のない状態を維持します。
試験でのポイント