リグレッションテスト 【regression testing】 デグレードテスト / 回帰テスト / ノンデグレードテスト / ノンデグテスト / 退行テスト / レグレッションテスト / 無影響確認テスト

概要

リグレッションテスト(regression testing)とは、ソフトウェアテストの一つで、プログラムの一部を変更・修正した際に、その変更によって予想外の影響が現れていないか確かめるもの。
リグレッションテストのイメージ画像

ソフトウェア開発の過程で不具合が発見されたり、新たな機能を追加や挙動の変更を行うためにプログラムが修正されることはよくあるが、その修正の影響を受けてそれまで正常に動作していた部分が異状をきたすようになったり、隠れていたバグが露見することがある。

このような現象を「デグレード」あるいは「リグレッション」などという。これを避けるため、機能追加やバグ修正などでコードの一部が改修されたあと、それまでの動作に意図しない変更や問題が生じていないか確かめるテストをリグレッションテストという。

範囲や対象を絞らず行うテストを「フルリグレッションテスト」というが、一部を変更するたびにすべての機能やコードをテストし直すのは時間やコストの負担が大きいため、修正箇所が影響する可能性があるプログラムの範囲を見極め、重要な機能を優先してテストするといった運用が行われることが多い。

また、開発環境の変更や、運用開始後のオペレーティングシステム(OS)やプログラム実行環境、データベース管理システム(DBMS)などのミドルウェアの更新(アップデートおよびアップグレード)に伴ってデグレードが起きることもあり、このような環境変更の際にもリグレッションテストが実施される。

(2023.4.18更新)

他の用語辞典による「リグレッションテスト」の解説 (外部サイト)

資格試験などの「リグレッションテスト」の出題履歴

▼ 基本情報技術者試験
令5修1 問49】 回帰テスト(リグレッションテスト)の説明として,適切なものはどれか。
令4修12 問48】 ソフトウェアのテストの種類のうち,ソフトウェア保守のために行った変更によって,影響を受けないはずの箇所に影響を及ぼしていないかどうかを確認する目的で行うものはどれか。
令3修7 問48】 ソフトウェアのテストの種類のうち,ソフトウェア保守のために行った変更によって,影響を受けないはずの箇所に影響を及ぼしていないかどうかを確認する目的で行うものはどれか。
令1修12 問48】 ソフトウェアのテストの種類のうち,ソフトウェア保守のために行った変更によって,影響を受けないはずの箇所に影響を及ぼしていないかどうかを確認する目的で行うものはどれか。
平30修6 問49】 ソフトウェアのテストの種類のうち,ソフトウェア保守のために行った変更によって,影響を受けないはずの箇所に影響を及ぼしていないかどうかを確認する目的で行うものはどれか。
平29修1 問50】 ソフトウェアのテストの種類のうち,ソフトウェア保守のために行った変更によって,影響を受けないはずの箇所に影響を及ぼしていないかどうかを確認する目的で行うものはどれか。
平26秋 問49】 ソフトウェアのテストの種類のうち,ソフトウェア保守のために行った変更によって,影響を受けないはずの箇所に影響を及ぼしていないかどうかを確認する目的で行うものはどれか。
平25修6 問51】 ソフトウェアのテストの種類のうち,ソフトウェア保守のために行った変更によって,影響を受けないはずの箇所に影響を及ぼしていないかどうかを確認する目的で行うものはどれか。
平24修1 問52】 システムの一部に修正を加えたときに,修正部分がほかに悪影響を及ぼさずに正しい結果が得られることを検証するテストはどれか。
平23秋 問48】 ソフトウェアのテストの種類のうち,ソフトウェア保守のために行った変更によって,影響を受けないはずの箇所に影響を及ぼしていないかどうかを確認する目的で行うものはどれか。
平22修7 問51】 ソフトウェアの保守に当たり,修正や変更がほかの部分に影響していないことを確認するテストはどれか。
平22修1 問49】 ソフトウェアのテストの種類のうち,ソフトウェア保守のために行った変更によって,影響を受けないはずの箇所に影響を及ぼしていないかどうかを確認する目的で行うものはどれか。
平21修6 問49】 稼働中のシステムにおいて,ソフトウェアのバグによる障害が発生した。障害原因となったプログラムを修正した後,今まで正常に動作していた部分に影響がないかどうかを検証するために行うテストはどれか。