【かいきてすと】
回帰テスト(リグレッションテスト) とは?
💡 直したつもりが別の場所が壊れた!を防ぐ安全確認テスト
📌 このページのポイント
- コード変更後に、既存機能が正しく動作し続けるかを確認するテスト
- バグ修正や機能追加のたびに実施し、デグレード(品質の後退)を早期発見する
- テスト自動化と組み合わせることで、CI/CDパイプラインに組み込んで効率化できる
- テスト範囲の選定が重要で、変更の影響範囲を見極める技術が求められる
回帰テストって何のためにやるの?
直したのに別の場所が壊れるってどういうことなの?
例えばログイン機能を修正したら、実はパスワードリセット機能が同じコードを使っていて、そっちが動かなくなった、というケースだよ。プログラムは色んな部分が繋がっているから、1箇所直すと別の場所に影響が波及することがあるんだ。これを「デグレード」って呼ぶんだね
毎回全部のテストをやり直すの?大変そう…
CI/CDと組み合わせて使うって聞いたことがあるよ!
テストケースはどんどん増えていくの?
増えるよ。バグが見つかるたびに、そのバグを検出するテストを追加するんだ。同じバグが二度と起きないようにする「バグ再発防止テスト」とも言えるね。ただし増えすぎると実行時間が膨大になるから、テストの優先度付けや並列実行で工夫するのがベテランの腕の見せどころだよ
まとめ:ざっくりこれだけ覚えればOK!
「回帰テスト」って出てきたら「修正後に他の機能が壊れていないか確かめるテスト」と思えればだいたいOK!
📖 おまけ:英語の意味
「Regression Testing」 = 回帰テスト・退行テスト
💬 Regressionは「後退」という意味で、品質が後退していないかを確認するテストだから回帰テストって呼ばれるんだよ