ソフトウェアリグレッション
ソフトウェアリグレッション(英語: software regression)は、システムのアップグレード、システムの更新プログラム適用、夏時間への変更などの特定のイベントの後で、機能が意図したとおりに機能しなくなるソフトウェアのバグのこと。 ソフトウェアの後退・後戻り・先祖返り、またはデグレード(degrade、デグレ)とも呼ばれる。ソフトウェアパフォーマンスのリグレッションは、ソフトウェアが正常に機能しているにもかかわらず、パフォーマンスが遅くなったり、以前よりも多くのメモリやリソースを使用したりする状況のこと。
リグレッションは、多くの場合、ソフトウェア更新プログラムに含まれているバグ修正によって引き起こされる。この種の問題を回避するためには、回帰テストを行うことが一つのアプローチとなる。適切に設計されたテスト計画(英語版)は、ソフトウェアをリリースする前にリグレッションの可能性を防ぐことを目的としている。 自動化されたテストと適切に記述されたテストケースにより、リグレッションの可能性を減らすことができる。
ソフトウェアのリグレッションは、次の3つのタイプのいずれかになる。
ローカル – 変更により、変更されたモジュールやコンポーネントに新しいバグが発生する。
リモート – ソフトウェアの一部を変更することで、別のモジュールやコンポーネントの機能が損なわれる。
露呈 – 変更により、変更前には影響がなかった既存のバグが露呈する。