リグレッションテスト(Regression Test)とは、プログラムを変更した際に、システムに予想外の影響が表れていないかどうかを確認するテストのことです。詳しい内容や注意点について見ていきましょう。
リグレッションには「回帰」「退行」の意味があり、リグレッションテストは「回帰テスト」「退行テスト」という呼び方で知られることもあります。
リグレッションテストと似た意味で使われる「デグレード」は、プログラムの変更によって機能が劣化・バグが復活したなどの悪い影響が出ている状態を意味する言葉です。テストの名称が「リグレッションテスト」、状態の名称が「デグレード」と使い分けられています。
リグレッションテストの目的は、プログラムの変更・改修によってすでに検証した部分に悪影響が及ぼされていないかどうか、新たに不具合が引き起こされていないかどうかを確認することにあります。
既存のモジュールやメソッド、基盤になっているコードなどを変更した場合には、多くの機能に影響を及ぼすリスクがあります。影響範囲が広かったり、わずかな修正によって深刻な事態が招かれたりといったケースがあるため、プログラムの変更や修正を行う際には必ずリグレッションテストが実施されるのです。
ソフトウェアテストの悩みは、そのほとんどが「品質・コスト・納期(QCD)」に関わる課題です。しかも早急に対応が必要なことが多いので、QCDの課題解決に長年携わってきた、実績の豊富な第三者検証会社に依頼するのがベター。このサイトでは、「テスト対象別」におすすめの3社を詳しく紹介しています。ぜひ以下のボタンからチェックしてみてください。
リグレッションテストを実施する上では、以下のポイントに注意が必要です。
リグレッションテストを行うべきタイミングは、バグの発生時や単体・結合・総合テストなどのテストの後が一般的とされています。バグが発生し、それを修正した際に同様のテストを行って不具合がないかを確認します。リグレッションテストを行う際には、通常のテストと同じようにテストケースも作成する必要があります。
リグレッションテストを行う際、一か所だけではなく全範囲を最初からテストしなおすことを「フルリグレッションテスト」と呼びます。ただし、効率的な開発が望ましい場合にはテスト範囲を絞って一定の基準を設定した上でリグレッションテストが行われることがほとんどです。
バグの修正が影響する箇所のみにテスト範囲を絞り込むことで、リグレッションテストの工数を削減できます。
リグレッションテストはツールを導入することによって自動化もできます。自動化ではテストの工数を減らせる反面で、テストの作成やメンテナンスなど自動化に工数・時間がかかってしまうのもデメリットです。その中で単体テストは自動化に向いているとされています。
プログラムの変更や改修によって生じた悪影響をそのままにはできませんが、問題解消のためのテスト実施にはコストが増加し、人的リソースも不足します。こうした問題点を解消するためにも、テスト専門会社に外部リソースとして活躍してもらうのは有効でしょう。
テスト専門会社は第三者としてのテスト作業に高い専門性を持っていますから、自社では見落としがちな不具合や確認の漏れなども、幅広くカバーしてもらえるというメリットもあります。
経済を支え続ける産業製品や、IoTとして進化する家電・自動車。
ARやVRなど新たな技術でさらに加速していくエンタメ分野。
仮想通貨の登場や貯金→投資シフトで市場規模が拡大するFintechの3つから、
それぞれおすすめの検証会社をご紹介しています。
1995年の創業以来、1,200件以上のテスト実績を持ち、豊富な経験で製品の品質向上を支援。テストだけでなく、IoT機器の分野でも改善提案も対応。
医療機器/電子工学機器/スマートホームデバイス/自動車・車載ソフトウェア/OA機器/産業用ロボット
機能検証だけでなく、UIUX・キャラクター性能バランス・クエスト難易度・ランダム要素の公平性などユーザー視点でフィードバック。
ゲーム開発/マンガアプリ/ライブ配信サービス/VR/イラスト・アニメーション/WEBサイト
生保会社出身や損保系システム検証経験者など、同業界内の知識を持つエンジニアが多く在籍するほか、脆弱性診断やペネトレーションテストも依頼可能。
キャッシュレス決裁サービス/金融商品取引/会計ツール/不動産投資/金融システム開発・保守