回帰手動テストは、コードに変更を加えた後に、システムの既にテストされた機能を再確認するプロセスであり、これらの変更が製品の安定した部分に新しい欠陥を引き起こさなかったことを確認するためのものです。
問題の歴史: ソフトウェアライフサイクルの初めでは、テスト担当者は通常、新機能の確認に集中します。時間が経つにつれて、システムには変更が加えられ、想定外の回帰リスクが高まります。多くのソフトウェアのエラーは、以前に機能していたものを「壊す」修正の後に発生したため、回帰テストは次第に必須の実践となりました。
問題点: 主なジレンマは、頻繁な変更がある中で、できるだけ多くの機能を効率的かつ短期間で再確認するにはどうすればよいかということです。無秩序または一貫性のないアプローチで取り組むと、重要な欠陥を見逃す恐れがあり、期限に間に合わなかったり、チームが過労になったり、時にはチェックが形式的になることもあります。
解決策: 効果的な回帰テストを組織するためには:
主な特徴:
回帰テストは、すべての変更が完了した後に開始するのが最適か、それとも変更の導入と並行して行うべきか?
多くの人は、回帰テストはすべての変更が完了した後に行うものだと誤解しています。実際には、変更を行うごとに部分的に計画し実施する方が、重大な障害に迅速に対応できます。
回帰テストケースを一度作成して、それ以降は更新しなくても十分か?
いいえ、回帰テストケースは常に最新の状態に保つ必要があります。ビジネスロジックやインターフェイスが変更された場合、テストシステムは製品に合わせて変わらなければなりません。
スモークテストは回帰テストの一部か?
いいえ、スモークテストはビルド後の明らかな障害を迅速に確認するものであり、回帰テストはより広範な機能をカバーし、「深く」問題を探ります。
チームがリリースを行い、テスト担当者が古いテストケースのリストに基づいて形式的に機能を確認しますが、最新のAPIの強化については知らない。古いバグが修正されるが、システムの別の部分で重大な欠陥が発生し、誰もリリースまで気づかなかった。
利点:
欠点:
リリース前にテスト担当者が回帰チェックリストを更新し、アナリストとリスクのあるエリアを議論し、実際のシナリオに基づいてテストの優先順位を付け、重要なフローに対して手動の回帰テストを実施しました。
利点:
欠点: