TestRailをレグレッションテストに利用する

この記事はNishi Grover Gargによるゲスト投稿です。

アジャイルチームは常にレグレッションテストの負担に直面しています。スプリントが進み、新しい機能がソフトウェアに組み込まれるにつれて、テスターはすべての新しい機能をテストするとともに、コードの変更やバグ修正の結果としてそれまでのスプリントの成果が壊れていないことを保証するという困難な課題に対処しなければなりません。初めにきちんと計画しておかなければ、レグレッションテストの負担が積み重なったとき、簡単に悪夢のような状況に陥ります。

レグレッションテストの計画

レグレッションに対するアプローチはチームごとに異なります。どれほど徹底的にレグレッションテストを行うかは、システムの複雑さ、他システムと連携するインターフェイスの数、加えられる変更の規模、ソフトウェアがセーフティクリティカルな性質を持つかどうかなどの要因によって決定されます。アジャイルチームのレグレッション戦略は、プロジェクト開始時に決定し、作業や時間の配分もリリーステスト計画時に行っておく必要があります。さらに、各スプリントのテスト計画には、スプリントレベルで実施するべきテストに加えてレグレッション関連作業の分の余裕も含めます。

レグレッション戦略は、プロジェクトの性質や現在のリリースサイクルのコンテキストなどに応じて、網羅的なアプローチから選択的アプローチまで、さまざまなものがあります。

場合によっては、ソフトウェアまたは機能に対してそれまで作成されたすべてのテストケースをレグレッションテストの一環として再実行するという、「すべて再テスト」戦略を採ることもあるでしょう。

選択的テスト戦略では、テストケース全体の中から、すでに固まった機能か変更された機能かなどに応じてレグレッションテストの対象となる一部のテストを選択します。この決定は、知識や経験に応じてテストマネージャーまたはテスターによって行われます。

優先順位付けされたレグレッションテストでは、開発サイクルの前後関係における優先順位に従ってレグレッションテストの対象となるテストケースを選択します。たとえば、メジャーリリースのサイクルでは、アプリケーション全体の優先度高および中のテストケースをすべて実行するかもしれません。いっぽう、不具合修正またはパッチリリースの場合は、変更された機能に関する優先度高のテストケースだけを実行するかもしれません。

アジャイルチームのレグレッション戦略の決定は、プロジェクトの初期フェーズにおいて最も重要なステップです。

TestRailを使用したレグレッションテストの実施

TestRailはテストケース管理ツールです。TestRailはすべてのテストのリポジトリとなり、テストの変更やテストに関連付けられた結果を追跡する方法を提供するほか、たとえば戦略に自動化フレームワークとの統合などが含まれる場合にも、テストアプローチのさまざまなフェーズでテストを計画し、整理し、実行することを可能にするため、回帰テストが容易になります。

デフォルトで、TestRailにはテストケースの構造化、整理、分類を行うのに便利なフィールドのセットがありますが、フィールドをカスタマイズしてチームのニーズに合わせたその他の情報を記録することもできます。

テストケースの履歴を見て、テストが何回実行されたか、各実行の結果はどうだったか、その他添付ファイルや見つかった欠陥など、任意の情報を確認できます。

テストケースの最近の実行結果は、すべてテスト結果タブにも表示され、一目で確認できます。

テストスイートのテストランを開始するとき、そのサイクルにすべてのテストを含めるか、選択したテストだけを含めるかを決定できます。そのため、ソフトウェアの新しいバージョンをテストする必要がでてきたときは、単に既存のテストの新しいテストランを開始し、レグレッション戦略にしたがってテストスイートからテストを選択して含めるだけです。

レグレッションテストケースの選択

TestRailでは、変更された領域や機能に応じて個々のテストケースを手で選択したり、テストセクション全体を選択してテストランに含めることができます。

また、テストケースの優先度、タイプ、タイトル、エリアなどの複数のフィルターを適用してテストケースを選択することもできます。たとえば、特定の領域のすべてのテストケースを再実行する時間がない場合は、優先度が最も高いテストケースだけを選択します。あるいは、事前にレグレッションテストとしてマークしたテストケースだけを実行したい場合は、フィルターでタイプ「レグレッション」を選択します。これら2つのフィルターを組み合わせると、優先度が高いレグレッションテストをすべて選択してテストランに含めることができます。

このように、既存のテストケースをレグレッションサイクルで再利用することが可能です。別個にレグレッションテストスイートを作成したり、レグレッションテストラン用にテストを複製する必要はありません。

複数のプラットフォームでのレグレッションテストの実行

TestRailに構成やオペレーティングシステムを追加して、テストランを複数のプラットフォームで繰り返すことができます。オペレーティングシステムやWebブラウザーなど、テストを必要とする複数のプラットフォームに対して複数のテストランを開始することもできます。

TestRailは選択された構成用に自動的にテストランを複製し、実行後に複数のプラットフォームでの結果の比較を提供します。

レグレッションテストサイクルのモニタリングとレポート

TestRailにはビルトインのレポートオプションが付属しており、アジャイルチームが一般的に必要とするメトリクスの多くがインターフェイス内で利用できます。また、Jira、Redmine、Bugzillaなどの欠陥追跡ツールと容易に統合可能なため、テスト中に欠陥が見つかった場合は、失敗したテストケース自体からレポートできます。

テストの変更、結果、コメント、添付ファイルはすべて一か所に表示され、テストケースの履歴が維持されます。

テストランページのビジュアルな表示により、テストランサイクルの進捗をモニターするのが容易になります。実行済みのテストの数やパーセンテージのほか、保留中のテスト、テスト結果のステータスなども表示されます。テスターは、実行済みのテストの結果をこのページから記録することもできます。

テストマネージャーは、進行中のテストサイクルのレポートを1クリックで印刷したりPDFに出力したりできるので、ステークホルダーと情報を共有するために情報を収集・照合する手間が省けます。また、さまざまなスプレッドシートファイルとしてレポートをエクスポートし、さらにデータを分析することもできます。

TestRailには予測機能もあり、履歴データと入力された見積りから、テストの実行にどれくらいの時間がかかるか、またテストランの残作業がどれくらいあるかを予測します。このデータは、予想完了日とともに、見慣れたバーンダウンチャート形式で進捗ページに表示されます。

豊富なレポートオプションのほか、サマリーレポート、複数のテストランの比較レポート、カバレッジレポート、欠陥チャートの生成にすぐに使えるテンプレートもあります。

これらの機能を備えたTestRailは、レグレッションテストのよりスムーズな計画と実行を可能にし、各テストケースの結果および進捗に関して完全な透明性を提供します。TestRailのようなツールは管理の負担を取り除き、チームが品質目標を満たすことに専念できるようにします。

TestRailの詳細については、このシリーズ動画をご覧になるか、デモサイトまたは体験版からツールを試し、TestRailの機能を実感してみてください。

Nishiは2008年からテストおよびアジャイルのコンサルティングトレーナーを務めており、ソフトウェアテストライフサイクルのあらゆる局面での実務経験があります。NishiはAgile Testing Alliance(ATA)でさまざまなコースの講師を務め、トレーニングを提供し、テストに関するコミュニティイベントやミートアップを主催するほか、多数のテストイベントやカンファレンスのスピーカーとして登壇しています。アジャイルおよびテスト分野での最近のトピックを取り上げたブログをご覧ください。

(この記事は、開発元Gurock社の Blog 「Using TestRail for Your Regression Testing」2019年3月22日の翻訳記事です。)

TestRail クラウドの利用者、増えてます

TestRail のホスティングサービス、TestRail クラウドを提供しています。

1か月間、無償でご利用になれます。

ぜひ、この機会にテストの生産性向上を TestRail クラウドでお試しください。

 詳細はこちら 

タイトルとURLをコピーしました