リグレッションとは?システムが後退する現象を解説

ざっくりと

  • システムが後退する現象
  • バグが復活すること
  • 改修で悪化する瞬間

リグレッションとは、システムが後退する現象です。

概要説明

リグレッションとはシステムが後退する現象である。なぜならば新しい機能を追加や修正をしたときに、以前のバグが復活したり、新たな問題が発生するから。

例えば、新しい機能を追加した後に、ログインできなくなることがある。そして、これを防ぐためにはリグレッションテストが必要。

つまり、改修前と改修後でシステムの動作を比較することである。だから、リグレッションテストは重要。

職業職種

  • ソフトウェアエンジニア
    リグレッションは、開発中に遭遇する。なぜなら、新しいコードが既存の機能に影響を与える可能性があるから。例えば、新しい機能の追加。
  • テストエンジニア
    リグレッションは、テストフェーズで確認する。なぜなら、システム全体の安定性を保つためには、既存の機能が正常に動作するかを確認する必要があるから。例えば、リグレッションテスト。
  • プロジェクトマネージャー
    リグレッションは、リスク管理に関わる。なぜなら、リグレッションが起きるとプロジェクトのスケジュールや品質に影響を与える可能性があるから。例えば、リリース前の最終確認。

リグレッションは、名前の由来は英語の「Regression」です。この言葉は「後退」や「逆行」といった意味があり、システムが元の状態より悪くなる現象を表しています。

代表例

  • Adobe Systems
    Adobe Systemsは、リグレッションで有名である。なぜなら、ソフトウェアの新しいバージョンで以前の機能が使えなくなることがあるから。例えば、Adobe Photoshopのアップデート。
  • Slack Technologies
    Slack Technologiesは、リグレッションで名高い存在である。なぜなら、新しい機能追加やバグ修正後に、以前のバージョンで使えた機能が使えなくなることがあるから。例えば、通知設定の変更。
  • Electronic Arts
    Electronic Artsは、リグレッションで世間に知られている。なぜなら、ゲームのアップデートで以前になかったバグが発生することがあるから。例えば、FIFAシリーズのアップデート。

手順例

以下は、リグレッションテストの手順です。
  1. テスト計画を作る
    テスト計画は、リグレッションテストの方針を決める。なぜなら、何をテストするのか、どのようにテストするのかを明確にする必要があるから。例えば、テストケースの選定。
  2. 既存のテストケースを確認する
    既存のテストケースは、以前のバージョンで動作確認をしたものである。なぜなら、これを使うことで効率よくテストできるから。例えば、ログイン機能のテスト。
  3. テスト環境を整える
    テスト環境は、リグレッションテストを行う場所である。なぜなら、実際の運用環境と同じ条件でテストする必要があるから。例えば、データベースの設定。
  4. テストを実行する
    テスト実行は、計画に基づいて行う。なぜなら、事前に決めたテストケースに従ってシステムの動作を確認する必要があるから。例えば、自動テストツールの使用。
  5. 結果を分析する
    結果分析は、テストが成功したか失敗したかを判断する。なぜなら、リグレッションが発生していないか確認する必要があるから。例えば、バグレポートの作成。

類似語

  • デグレード
    デグレードは、リグレッションの類似語である。なぜなら、システムやサービスが以前より劣化するという意味で使われるから。例えば、インターネットの速度が遅くなる。
  • 後退
    後退は、リグレッションの類似語である。なぜなら、進歩や改善が元に戻る、あるいは悪化するという意味で使われるから。例えば、スマホのバッテリー持ちが悪くなる。
  • 逆行
    逆行は、リグレッションの類似語である。なぜなら、前に進むべき方向とは逆に動いてしまうという意味で使われるから。例えば、ソフトウェアの安全性が低下する。

反対語

  • 進化
    進化は、リグレッションの反対語である。なぜなら、システムや機能が改善して、より良い状態になるから。例えば、バグがなくなって速度が上がる。
  • 最適化
    最適化は、リグレッションの反対語である。なぜなら、システムが効率的に動くように改善されるから。例えば、電力消費が減る。
  • 安定化
    安定化は、リグレッションの反対語である。なぜなら、システムが安全に、確実に動くようになるから。例えば、クラッシュしなくなる。

会話例

  • プロジェクトの進行中の会話
    「新しい機能を追加したけど、リグレッションテストはやった?」
    「うん、やったよ。前のバージョンと比べて問題ない。」
  • リリース前の確認会話
    「リリース前だけど、リグレッションの心配はない?」
    「大丈夫、テストでしっかり確認したから。」
  • バグ報告後の会話
    「このバグ、前に修正したよね?リグレッションじゃない?」
    「確認する。もしリグレッションなら、すぐに修正するよ。」

注意点

リグレッションテストを行う時の注意点はテストケースの選定である。なぜならば適切なテストケースを選ばないと、リグレッションを見逃してしまう可能性があるからだ。例えば、重要な機能だけをテストする。そして、時間とリソースも考慮する。だから、計画的に行う。

リグレッションとデグレードは、間違えやすいので注意しましょう。

リグレッションは、以前修正したバグが再び出る、または新しい問題が生じることです。

一方、デグレードは、システム全体が以前より劣る状態になることです。

記事を書いてる人

ガラケー時代からWEB開発やってる自宅SE です。

「○○を知りたい!!」「○○が分からない!!」などありましたら、Twitterでもブログでもコメントいただければ、ご期待に添えるように頑張ります!

ネット事件簿チャンネルを運営しているので、YouTubeもぜひ覗いてみてください!!

雨おやじのSNSを覗く!!
IT用語辞典
雨おやじのSNSを覗く!!
ITkagyo

コメント