リグレッションテスト(回帰テスト)
Regression Test
りぐれっしょんてすと
他の資格での定義
プログラムの修正や変更を行った後に、既存の機能に悪影響(デグレード)が生じていないか確認するテスト。リグレッションテストとも呼ばれ、変更箇所以外の部分が正常に動作することを検証する。
プログラムの修正や変更が、既存の機能に悪影響を与えていないかを確認するテスト。リグレッションテストとも呼ばれ、変更後に以前のテストケースを再実行して、デグレード(品質低下)を検出する。
ソフトウェアの変更後に、既存の機能が正しく動作することを確認するテスト。リグレッションテストとも呼ばれる。修正や機能追加によるデグレード(品質劣化)を検出する目的で行い、テスト自動化の主要な対象となる。
ソフトウェアの変更(バグ修正、機能追加等)により、既存の機能に悪影響が出ていないかを確認するためのテスト。変更箇所だけでなく、関連する既存機能のテストを再実行する。自動化が重要であり、CI/CDパイプラインに組み込まれる。
関連キーワードの用語
条件の組み合わせと、それに対応する処理(アクション)を表形式で整理する技法。複雑な条件分岐をもれなく網羅的に記述でき、仕様の漏れや矛盾を発見するのに有効。テスト設計にも活用される。
内部構造を考慮せず、入力と出力の関係からテストケースを設計する手法。同値分割、境界値分析、デシジョンテーブル、状態遷移テストなどの技法がある。機能仕様に基づいてテストする。
プログラムの内部構造(制御フロー、データフロー)に基づいてテストケースを設計する手法。命令網羅、分岐網羅、条件網羅、パス網羅などのカバレッジ基準がある。ロジックの正確性を検証する。
テストによってどの程度のプログラムコードが実行されたかを示す指標。命令網羅率(C0)、分岐網羅率(C1)、条件網羅率(C2)などがある。カバレッジ100%でも完全な品質保証にはならない点に注意が必要。
個々のモジュールやクラスの機能を独立して検証するテスト工程。ドライバやスタブを用いて、テスト対象のモジュールを単独で動作させる。開発者が主体となって実施し、コードレベルの不具合を検出する。
単体テスト済みのモジュールを組み合わせ、モジュール間のインタフェースや連携を検証するテスト工程。トップダウンテスト、ボトムアップテスト、サンドイッチテスト(混合テスト)などの戦略がある。