回帰テスト
en : Regression Testing
同義 : リグレッションテスト
System Under Test (SUT) を選択的に再テストして、変更によって意図しない効果が生じていないこと、および SUT が指定された要件に準拠していることを確認すること
場合によっては、変更が行われるたびに回帰テストによって提供される保証と、回帰テストを実行するために必要なリソースとの間でトレードオフがある
回帰テストは、テスト対象に応じた各テストレベルで実行できる
機能テスト (functional testing) と非機能テスト (non-functional testing) が含まれうる
非機能テストは、信頼性、アクセシビリティ、ユーザビリティ、保守性、変換、移行、互換性テストなど
テスト ケースの選択と最小化、既存のテストスイートへの優先順位付けアプローチの採用が含まれうる
回帰テストは、アジャイル、DevOps、テスト駆動開発 (TDD)、および継続的開発 (Continuous Development) の基本的なアクティビティ
通常、統合テストの後、本番または運用への展開前に実行される
nobuoka.icon 上に書いている、テスト対象に応じた各テストレベルで実行できる、という話と矛盾しそう?
『ISO/IEC/IEEE 29119 ソフトウェアテスト規格の教科書』 より
ISO/IEC/IEEE 29119-1:2013 より : テストアイテムまたはその動作環境を変更した後に、リグレッションによる故障が発生するかどうかを確認するために行われるテスト
『テスト駆動開発 (Beck)』 より
不具合が報告されたときにまずやるべきは、不具合を再現させる最小限のテストケースを書き、失敗を見届けること
回帰テストというのは、本来はコードを書いたときに同時に書かれるべきだったテスト
回帰テストを書く時には、書くべき時にどうやったら気づけたかを考える必要がある
アプリケーションレベルの回帰テストも、本来はどうあるべきかを顧客と話すときの拠り所として大きな意味がある
参考文献
SWEBOK V4 Beta