【りぐれっしょんてすと】
リグレッションテスト(回帰テスト) とは?
最終更新:
💡 変更で、これまで動いた機能が壊れていないか確かめる
ソフトウェアの変更後に、変更箇所や関連する既存機能へ悪影響が出ていないかを確認するテスト。修正した不具合が直ったことを確かめる確認テストとは、目的が異なる。
📌 このページのポイント
- バグ修正や機能追加などの変更による悪影響を調べる
- 変更箇所だけでなく、関連する機能や接続先も対象になり得る
- 影響範囲やリスク、実行時間から対象のテストを選ぶ
- 繰り返し実行するため自動化に向くが、手動でも実施できる
ログインのバグを直したら、何をテストする?
まず、元の不具合が直ったかを確かめるね。それに加えて、ログインや注文など、変更の影響を受けそうな既存機能が動くかを調べる。この悪影響の確認が回帰テストだよ。
直した箇所をもう一度試すのと違う?
修正した不具合が直ったかを見るのは確認テストだね。回帰テストは、その変更が別の不具合を引き起こしていないかを見る。同じ箇所を対象にすることもあるけれど、目的を分けて考えるんだ。
毎回、全部のテストを実行する?
必ず全件とは限らないよ。変更の影響範囲やリスクを分析して対象を選ぶ。時間や環境にも制約があるので、重要な業務や関連する機能を考え、選び方を見直すんだ。
自動化しないと回帰テストにならない?
手動でも行えるよ。繰り返すテストは自動化に向いていて、CIでも実行できる。ただし自動化しても実行時間や対象の選定、テスト自体の保守は必要だね。
全部PASSなら、絶対に不具合はない?
実行した条件で期待どおりだったことが分かるんだ。未確認の条件まで保証するものではないよ。変更に合わせてテストを追加・更新し、失敗した場合も製品とテストのどちらに原因があるか調べるんだ。
まとめ:ざっくりこれだけ覚えればOK!
「リグレッションテスト」って出てきたら「変更で既存機能が壊れていないか確認するテスト」と思えばだいたいOK!
📖 おまけ:英語の意味
「Regression Testing」 = 回帰テスト、退行を調べるテスト
💬 Regressionには退行・後戻りという意味があるよ。変更によって、これまで動作していた機能に悪影響が出ていないかを調べるんだ。