回帰テスト
Regression Test
かいきてすと
他の資格での定義
プログラムの修正や変更を行った後に、既存の機能に悪影響(デグレード)が生じていないか確認するテスト。リグレッションテストとも呼ばれ、変更箇所以外の部分が正常に動作することを検証する。
プログラムの修正や変更が、既存の機能に悪影響を与えていないかを確認するテスト。リグレッションテストとも呼ばれ、変更後に以前のテストケースを再実行して、デグレード(品質低下)を検出する。
ソフトウェアの変更後に、既存の機能が正しく動作することを確認するテスト。リグレッションテストとも呼ばれる。修正や機能追加によるデグレード(品質劣化)を検出する目的で行い、テスト自動化の主要な対象となる。
プログラムの変更・修正後に、既存の機能が影響を受けていないことを確認するテスト。変更箇所だけでなく、関連する既存機能も再テストする。自動化が効果的で、CI/CDパイプラインに組み込まれることが多い。
関連キーワードの用語
プログラムの内部構造(ソースコード)に基づいてテストケースを設計するテスト手法。命令網羅、分岐網羅、条件網羅、パス網羅などのカバレッジ基準を用いる。組込みソフトウェアの単体テストで広く使用される。
プログラムの仕様に基づき、内部構造を考慮せずにテストケースを設計するテスト手法。同値分割、境界値分析、デシジョンテーブルなどの技法がある。システムテストや受入テストで使用される。
テストによってプログラムのどの部分が実行されたかを測定する分析手法。ステートメントカバレッジ(C0)、ブランチカバレッジ(C1)、条件カバレッジ(C2)、MC/DC(修正条件判定カバレッジ)などの基準がある。安全規格ではMC/DCが求められることがある。
プログラムを実行せずにソースコードを解析し、潜在的なバグ、セキュリティ脆弱性、コーディング規約違反などを検出する手法。バッファオーバーフロー、未初期化変数、メモリリークなどの問題を早期に発見できる。
テストの進行に伴うバグの累積検出数の推移をグラフ化したもの。S字カーブを描くのが理想的で、バグ検出が収束に向かう(曲線が寝る)段階でテスト完了の判断材料とする。ゴンペルツ曲線やロジスティック曲線で近似する。
テストコードを先に書き、そのテストを通過するコードを実装する開発手法。Red(テスト失敗)→Green(テスト成功)→Refactor(リファクタリング)のサイクルを繰り返す。コードの品質向上とリグレッション防止に効果的。