この記事はShreya Boseによるゲスト投稿です
テスト時に追跡するべき重要メトリクスとしてテストカバレッジとトレーサビリティがあります。この記事では、なぜJiraでテストカバレッジとトレーサビリティが不可欠なのか、またJiraでテストカバレッジを表示し、要件トレーサビリティを管理し、トレーサビリティレポートを作成する方法を説明します。
Jiraにおける要件トレーサビリティとは
要件トレーサビリティとはテストカバレッジを計測する方法の1つであり、通常は、要件定義、設計、開発、テスト、保守などの開発ライフサイクルの複数のステージにわたってビジネス要件を追跡する能力を意味します。
トレーサビリティは問題のあるアイテムを検出したり、問題の原因になった変更を把握したり、対処方法を判断したりするのに役立つため、リスク低減に欠かせません。Convercentの事例で示されているとおり、完全なトレーサビリティはコンプライアンスおよびリスク低減に不可欠です。
Jiraにおいてトレーサビリティとは、各ユーザーストーリー、要件、課題からテストおよび発見された欠陥へ追跡できることを意味します。要件ごとにリンクされたテストケースおよび結果を参照でき、Jiraの課題とそれにリンクされたすべてのテスト成果物が一目でわかる完全なトレーサビリティレポートを生成できる必要があります。
Jiraにおけるテストカバレッジとは
テストカバレッジは、テスト対象製品またはアプリケーションがどの程度テストによってカバーされたかを測るQAメトリクスです。カバレッジは、アプリケーションのあらゆる部分をカバーするテストを準備、設計、計画できたかを確認するのに役立ちます。
Jiraでは、ユーザーストーリー、エピック、または課題として登録した機能や製品要件ごとに、テストの実行数、成功数、失敗数、保留数などを確認するのにテストカバレッジが役立ちます。通常、ユーザーストーリーを関連するテストケースにリンクする、またはその逆を行うことによって、Jiraでテストカバレッジを追跡できます。テストカバレッジは、テストされていない機能が残らないよう保証するのに重要です。
必要なのは、テストケースが作成されている要件のパーセンテージを知ることです。パーセンテージが高いほど、テスト作業によってアプリケーションの潜在的なリスクを発見できるという信頼性が高まります。
ソフトウェア開発ライフサイクル(SDLC)全体を通じてテストカバレッジステータスを追跡すると、十分にカバーされていない領域を検出し、品質の低下を防ぐためのアクションを起こすことが可能になります。また、欠陥が運用に持ち込まれないようにするのにも役立ちます。アプリケーションに欠陥が存在していても、製品がリリースされてからではなく、テストフェーズで捕捉されます。これにより、開発プロジェクトの現在の健康状態を簡潔に知ることができます。
テストカバレッジとトレーサビリティの違い
テストカバレッジは、テスト対象製品がどの程度テストによってカバーされたかを測るQAメトリクスです。通常、要件に対応するテストケースがあり、テストケースにテストエンジニアが割り当てられている場合にだけ、要件は「カバー済み」とみなされます。
トレーサビリティとは、さまざまな要求レベル、リスク分析、設計、検証の間に確立された接続を指します。トレーサビリティマトリクスはテストケースを要件にマッピングするのに役立ちます。トレーサビリティマトリクスは、すべての要件がリストされ、さらに各要件に対してそれをカバーするテストケースがリストされたチェックリストとして機能します。
Jiraでテストカバレッジとトレーサビリティを追跡するのが重要な理由
ところで、なぜテストカバレッジとトレーサビリティを気にかけるべきなのでしょうか?Jiraでテストカバレッジを追跡し、トレーサビリティを維持することが重要な理由の上位7つは以下のとおりです。
1.前方および後方へのトレーサビリティを維持することで可視性を確保する
- 前方および後方へのトレーサビリティによって、要件がテストケースによって確実にカバーされるようになります。
- トレーサビリティは要件と他の成果物の間の重要な依存関係を明らかにするのに役立ちます。
- また、カバレッジの不足を検出し、それを解決するために適切なアクションを起こすのに役立ちます。
2.トレーサビリティは継続的な変更の管理に役立つ
- 関連するタスクを容易に特定し、変更を行うために必要な作業を見積もることができます。
- トレーサビリティレポートを利用すると、影響を受ける成果物をすばやく特定し、変更の影響を評価し、プロジェクトの要件が変わったときに適切なアクションを起こすことができます。
3.トレーサビリティは監査プロセスを合理化する
- トレーサビリティを維持することは、監査者が容易に要件および影響を受ける成果物をレビューできるようにする重要な手段です。
- トレーサビリティは、早期に最小限のコストと手間で矛盾を見つけて修正できるようにします。
4.トレーサビリティはテスト管理を容易にする
- トレーサビリティは、テストが要件をカバーしたかどうかをテストマネージャーが検証するのに役立ち、テスト管理をより容易にします。
- また、管理が不十分で情報が矛盾しているテストライブラリを減らします。
- トレーサビリティがあれば、QAリーダーは要件の変更に備え、事前に対処することができ、関連するテストケースに確実に変更を適用できます。
- システムのテスト済みの部分と追加のテストが必要な部分を評価するのに役立ちます。
- また、欠陥から元の要件にさかのぼり、欠陥レベルでメトリクス(欠陥漏れ率、欠陥率など)を抽出することができます。
5.テストカバレッジは時間を節約する
- テストカバレッジは、SDLCの早期に要件、欠陥、テストケースの穴を見つけることを可能にします。
- 網羅的なテストカバレッジを達成すると、より多くのテストケースが作成され、欠陥の減少、後期のステージで積みあがる作業の軽減、カバレッジの増加につながります。
- また、テストケースの重複を見つけて排除するのにも役立ちます。
6.テストカバレッジは新規リリースのリスクを軽減する
- 十分なテストカバレッジは運用時の欠陥を減少させます。
- リリースの品質と全体的な顧客満足度を改善します。
- 網羅的なテストカバレッジは、テストされていない要件が残っていないことを保証し、テスト作業の信頼性を向上させます。
7.よりスムーズなテストサイクルを促進する
- 十分なテストカバレッジは、テストケースでカバーされない領域を明らかにすることで、より信頼性が高くエラーが起こりにくいプロセスにするのに役立ちます。
- テストカバレッジを評価すると、単体テストまたはテストスイートによってソフトウェアがどの程度カバーされたかを判断できます。
- テストが不足しているコードまたは機能がないかがわかります。
- テストケースや回帰テストの優先順位をつけるのに役立ちます。
- また、十分なテストカバレッジは、より早期に欠陥を見つけ、よりすばやく解決し、プロジェクトのスコープをしっかり把握することで、時間の節約につながります。
Jiraでテストカバレッジおよびトレーサビリティレポートを作成する方法
テストカバレッジまたはトレーサビリティレポートを作成するには、まず、要件またはユーザーストーリーに加えて、テストケース、テスト、欠陥などのテスト成果物が必要です。
Jiraを利用する多くのチームは、課題のサブタスクとしてテストケースを記述するか、テスト用のカスタム課題タイプを作成する方法を試します。しかし、Jiraはテスト管理用に設計されておらず、デフォルトで用意されたテストカバレッジまたはトレーサビリティレポートはありません。この記事では、Jiraと統合するテスト管理専用ツールであるTestRailを使用して、Jiraで管理されているユーザーストーリーに対してテストカバレッジおよびトレーサビリティレポートを作成します。
ステップ 1: Jiraの製品要件を抽出し、レビューする
要件または開発タスクをJiraで管理しているチームの多くは、エピックまたはユーザーストーリーのような課題タイプを利用しています。最終製品に必要な機能の詳細な説明を記述している場合もあるでしょうし、決まった形式のない、ユーザーの観点から見たソフトウェア機能の漠然とした説明として定義している場合もあるでしょう。
テストカバレッジまたはトレーサビリティレポートを作成するための最初のステップは、次のスプリントまたはリリースでの優先度が高く、テストする必要があるユーザーストーリストーリーを特定することです。
ステップ 2: 各要件にテストケースを作成する
各要件にテストケースを作成する場合、いくつかやり方があります。
1.Jiraの課題のサブタスクとしてテストケースを作成する
2.カスタムテスト課題タイプを作成するかJiraアドオンを使用する
3.専用のテストケース管理ツールを使用する
テストカバレッジまたはトレーサビリティレポートを作成しようとするなら、結局のところ一番早い方法は、カバレッジおよびトレーサビリティ機能を標準で備えたテスト管理ツールを使用することです。
テストケースを作成する際、外部ツールの要件とリンクするのを忘れないようにします。たとえばTestRailでは、ユーザーストーリーまたは要件のJira課題IDをテストケースまたはテスト結果成果物の参照フィールドにコピー&ペーストすることで、テストが課題に関連していることを示し、2つのプラットフォーム間の双方向の可視性を実現できます。
ステップ 3: テストカバレッジレポートを作成する
Jiraの課題またはサブタスクとしてテストケースを作成している場合、テストカバレッジレポートの作成は手動での作業になります。その場合、カバレッジレポートを作成する一番早い方法は、おそらく、ユーザーストーリーの課題IDをスプレッドシートにコピーし、ユーザーストーリーにリンクした作成済みのテストケース課題のIDを1つ1つ次の列に書き写していくことでしょう。スプレッドシート関数を使用して、テストケース課題IDを持つユーザーストーリーIDの数や、テストケース課題IDのないユーザーストーリーIDの数をカウントすること、グラフを作成することができます。
TestRailですばやくカバレッジレポートを作成する方法の詳細については、TestRailのテストカバレッジレポートのマニュアルを参照するか、Jiraでテストカバレッジをセットアップする方法の動画を御覧ください。
ステップ 4: テストを実行し、Jiraで欠陥を記録する
アプリケーション全体をカバーするのに十分なテストケースを作成したら、テストの実行を開始できます。
テストを実行する際、完全なトレーサビリティを保証するため、欠陥が見つかったらリンクすることが重要です。TestRailでは、テストランまたはテスト計画にテスト結果を追加する際、欠陥フィールドを使用してJiraの欠陥またはバグレポートと関連付けることや、TestRailから欠陥をプッシュして自動的にJiraで新規課題を作成することができます。
ステップ 5: 要件トレーサビリティレポートを作成する
最後に、ある程度テスト結果を記録し、リリースがデプロイ可能な状態かどうかをチェックしたくなったら、トレーサビリティレポートを生成できます。
トレーサビリティマトリクスを手動で作成する
トレーサビリティレポートを手動で作成する場合、おそらくExcelスプレッドシートまたはGoogle Sheetsを使用して要件トレーサビリティマトリクス(RTM)を作成する必要があるでしょう。要件トレーサビリティマトリクスには以下の情報を含めることができます。
- ユーザーが行う必要があるユーザー受け入れテストおよびユーザー受け入れテストのステータス
- 個々のテストケースの実行ステータス
- 個々のテストケースの設計ステータス
- テストケース数で示された要件カバレッジ
- 関連付けられた欠陥
- テストの現在の状態
基本的な要件トレーサビリティマトリクスの作成手順は次のとおりです。手順は以下のとおりです。
1.ゴールを定義する
例: 「トレーサビリティマトリクスを作成し、要件が変更されたときに影響を受けるテストや課題を知りたい」
2.すべての成果物を収集する(要件、テストケース、テスト結果、課題など)
3.各成果物の列を追加してRTMのテンプレートを作成する
4.要件定義書から要件を追加する
要件の説明とIDを追加します。
5.テストケース定義書からテストケースを追加する
前のステップの要件に対応するテストケースを追加します。
6.必要な場合、テスト結果および欠陥を追加する
前のステップのテストケースに対応するテスト結果を追加します。
7.必要に応じてマトリクスを更新する
成果物に変更があれば、その都度マトリクスを更新してプロジェクトの現在の状態を反映します。
次の図は、GoogleまたはExcelスプレッドシートで作成したトレーサビリティマトリクスの例です。(注意: プロジェクトに多くのイテレーションがある場合、通常はさらに多くの列があります)。
TestRailで要件トレーサビリティレポートを自動生成する
TestRailで要件トレーサビリティレポートを自動生成するには、まず、ユーザーストーリーを開いてTestRailケースフィールドをクリックします。すると、該当ユーザーストーリーの現在のテストケースを表示するパネルが自動的に開きます。
- Jiraからテストケースを追加する
Jiraでテストケース追加ボタンをクリックし、テストケースを作成するプロジェクトを選択します。すると、TestRailのテストケース作成ページに移動し、ユーザーストーリーの課題IDがすでに参照フィールドに設定されています。
- TestRailでJiraのユーザーストーリーを直接編集する
次に、最初のテストケースの名前を入力します。この例では、最初のテストケースに「successfully log in」という名前を付け、[テストケースの追加] をクリックしてケースを保存します。
参照がリンクとして表示され、カーソルを置いて編集できるようになります。参照をクリックするとJiraにリダイレクトされます。そこでTestRailのテストケースパネルを開くと、TestRailでの参照によって、テストケースがユーザーストーリーをカバーするようになったことを確認できます。さらに、テストケースリンクをクリックすると、TestRailのテストケースの詳細に移動できます。
補足: TestRailでJiraとの統合を設定する際、表示されるフィールドをカスタマイズできます。
- 複数のテストケースにすばやく参照を追加する
上記の手順で、テストケースリストページを開いてテストケースを参照できるようになりました。このページでは、テストシナリオの概略をすばやく作成し、一括でユーザーストーリーの参照を追加できます。
今回の例では、ログインのユーザーストーリーをカバーするいくつかのテストケースを追加するため、“failed to login with invalid email”、“Failed to login with invalid password”、“fail to log in without credentials”を選択します。この例では、まだ参照が関連付けられていませんが、すべてのテストケースを選択してすばやく一括で参照を追加できます。それには、テストケースを選択し、[編集]をクリックして[選択対象を編集]をクリックします。
最後に、参照フィールドを確認してログインユーザーストーリーへの参照を追加し、変更を保存します。これで、テストとユーザーストーリーの間にトレーサビリティが作成されました。
チームがJiraを使用してソフトウェア開発を管理しているなら、テストカバレッジとトレーサビリティはレポートし追跡するべき重要なメトリクスです。トレーサビリティは可視性を確保し、継続的変更を管理し、監査プロセスを簡略化し、テスト管理全般をより効果的にするのに役立ちます。さらに、テストカバレッジは時間を節約し、ROIを改善し、よりスムーズなテストサイクルを促進します。トレーサビリティとテストカバレッジは共に、リスクを最小化し、QAテストプロセスに漏れがなく確実であることを保証するのに役立ちます。
(この記事は、開発元Gurock社の Blog 「How to Report on Traceability and Test Coverage in Jira」2023年1月30日の翻訳記事です。)
関連する製品
テスト管理ツール TestRail
テストケースの管理やテスト結果の記録、チームでの情報共有など、Excelを使ったテスト管理の業務に限界を感じていませんか?TestRailはシンプルで使いやすいUIを提供し、テストにかかるさまざまな管理コストの削減に貢献します。
■ TestRailの特長 ■
- テストにさまざまな情報を関連づけて一元管理
- Webブラウザー上でテストケースを簡単に入力や編集可能
- テスト実施の準備と結果の共有が容易
- 進捗や比較などのレポートを提供
- 要件 / 課題管理ツールやテスト自動化ツールと連携
日本国内では、テスト管理にExcelを使っていたお客さまからの乗り換えが多く、Web上で完結するテスト管理を実現されています。
TestRail でテスト管理のお悩みを解決しませんか?
テストの生産性向上をTestRailでお試しください
クラウドおよびオンプレミス、デモサイトでTestRailがお試しいただけます。
- TestRailクラウド(クラウドサービス)
- クラウドサービス環境でTestRailをお試しいただけます。
- TestRailサーバー(オンプレミス版)
- お客様のマシンにTestRailをインストールしてお試しいただけます。
- TestRailデモサイト
- インストールなどの設定なしにTestRailにサンプルデータが登録された環境にて操作をお試しいただけます。