以前公開した「DevOps テスト カルチャー: SDLC 全体を通じて品質を作りこむ方法」では、高品質なソフトウェアをリリースするためにテスト工程で計測可能な 12 個のキーパフォーマンスインジケーター (KPI) をご紹介しました。
今回は、12 個の KPI のうちテスト管理ツール TestRail を利用して計測できる KPI とその計測方法をご紹介します。なお、各 KPI の説明は「DevOps テスト カルチャー: SDLC 全体を通じて品質を作りこむ方法」をご覧ください。
TestRail を利用した KPI 計測
1. 要件カバレッジ
事前準備
機能要件と TestRail のテストケースを関連付けます。
TestRail で管理するテストケースの [参照] フィールドに要件管理ツールの要件IDを登録することでテストケースと要件を関連付けることができます。
![](data:image/svg+xml;base64,PHN2ZyBoZWlnaHQ9IjM5OCIgd2lkdGg9IjgwMCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2ZXJzaW9uPSIxLjEiLz4=)
テストケースの参照フィールドに要件IDを登録します。
計測方法
TestRail のレポート機能でテストケースの要件カバレッジレポートを出力します。
- レポート > ケース > 参照カバレッジ レポート
レポートの出力オプションで [参照] > [次の参照のみ:] ラジオボタンを選択し、テストケースの作成が必要な要件IDを入力します。
![](data:image/svg+xml;base64,PHN2ZyBoZWlnaHQ9IjMyMSIgd2lkdGg9IjU1NSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2ZXJzaW9uPSIxLjEiLz4=)
レポートオプションで要件IDを入力します。
レポートでは、要件カバレッジの確認以外にテストケースが存在しない要件を確認し、不足したテストケースの追加、要件カバレッジの向上を推進できます。
![](data:image/svg+xml;base64,PHN2ZyBoZWlnaHQ9IjgzNSIgd2lkdGg9IjgwMCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2ZXJzaW9uPSIxLjEiLz4=)
要件カバレッジはTestRailの参照カバレッジレポートで計測します。
2. 作成されたテスト数
計測方法
TestRail のレポート機能でテストケースのアクティビティレポートを出力します。
レポートでは、特定の期間内に新規作成または更新されたテストケース数の確認のだけでなく、レポートから直接テストケースに遷移してテストケースのレビューを行うことができます。
- レポート > ケース > アクティビティのサマリー
![](data:image/svg+xml;base64,PHN2ZyBoZWlnaHQ9IjY3NCIgd2lkdGg9IjgwMCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2ZXJzaW9uPSIxLjEiLz4=)
作成されたテスト数はTestRailのアクティビティのサマリーレポートで計測します。
3. 欠陥検出漏れ率
事前準備
テストフェーズごとにテストラン/計画を作成し、欠陥情報とテスト結果を関連付けます。
テスト実施中に検出した欠陥IDをテスト結果の [欠陥] フィールドに登録することで欠陥情報とテスト結果を関連付けることができます。
![](data:image/svg+xml;base64,PHN2ZyBoZWlnaHQ9IjU4MyIgd2lkdGg9Ijc1MyIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2ZXJzaW9uPSIxLjEiLz4=)
テスト中に検出した欠陥IDを欠陥フィールドに登録します。
計測方法
TestRail では各テストラン/計画に登録された欠陥数を確認することができます。各テストフェーズで検出した欠陥数を、以下の計算式に当てはめることで欠陥検出漏れ率を計測できます。
欠陥検出漏れ率 = (ユーザー受け入れテストで検出した欠陥数/ユーザー受け入れテストより前のテストフェーズで検出した欠陥数+ユーザー受け入れテストで検出した欠陥数) × 100
- TestRail 画面:マイルストーン > 欠陥 タブ (テスト計画やテストラン毎の検出した欠陥数)
![](data:image/svg+xml;base64,PHN2ZyBoZWlnaHQ9IjI4MiIgd2lkdGg9IjgwMCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2ZXJzaW9uPSIxLjEiLz4=)
欠陥検出漏れ率は各テストフェーズで検出した欠陥数から計測します。
4. モジュールごとの欠陥密度
事前準備
テスト実施中に検出した欠陥IDをテスト結果の [欠陥] フィールドに登録することで欠陥情報とテスト結果を関連付けます。
モジュールのコード行数をカウントします。(この作業は TestRail 外で行う必要があります。)
計測方法
TestRail ではマイルストーンの進行中に登録された欠陥数を確認することができます。
リリースモジュールの全テストフェーズで検出した総欠陥数とコード行数を以下の計算式に当てはめることでモジュールごとの欠陥密度を計測できます。
欠陥密度 = 欠陥数/モジュールのコード行数(KLOC)
- TestRail 画面:マイルストーン > 欠陥 タブ (テスト計画やテストラン毎の検出した欠陥数)
![](data:image/svg+xml;base64,PHN2ZyBoZWlnaHQ9IjI4MCIgd2lkdGg9IjgwMCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2ZXJzaW9uPSIxLjEiLz4=)
モジュールごとの欠陥数はテストフェーズで検出した総欠陥数とコード行数(KLOC)で計測します。
5. 自動テストの割合
事前準備
TestRail のテストケースに自動化の情報を付与します。
テストケースのカスタムフィールド ‘Automation Type’ を利用して、UI テスト自動化ツール、テスティングフレームワーク等、テストケースの自動化種別をあらかじめ登録し、テストケースの作成時にそのテストケースの自動化種別を設定します。
![](data:image/svg+xml;base64,PHN2ZyBoZWlnaHQ9IjI2NyIgd2lkdGg9IjgwMCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2ZXJzaW9uPSIxLjEiLz4=)
カスタムフィールドの’ Automation Type’ を利用します。
![](data:image/svg+xml;base64,PHN2ZyBoZWlnaHQ9IjUyNCIgd2lkdGg9IjQyNSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2ZXJzaW9uPSIxLjEiLz4=)
プロジェクトで利用する自動化種別を ‘Automation Type’ に登録します。
![](data:image/svg+xml;base64,PHN2ZyBoZWlnaHQ9IjQ4MiIgd2lkdGg9Ijc4NCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2ZXJzaW9uPSIxLjEiLz4=)
テストケースに自動化種別を設定します。
計測方法
TestRail のレポート機能でテストケースのプロパティの分布レポートを出力します。
テストケースの ‘Automation Type’ フィールドでグループ化したレポートを出力して、自動化種別ごとのテストケースの割合を確認します。
- レポート > ケース > プロパティの分布 レポート
![](data:image/svg+xml;base64,PHN2ZyBoZWlnaHQ9IjUyMyIgd2lkdGg9IjgwMCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2ZXJzaW9uPSIxLjEiLz4=)
自動テストの割合はプロパティの分布レポートで計測します。
6. 欠陥検出効率 (DDE)
事前準備
テストフェーズごとにテストラン/計画を作成し、欠陥情報とテスト結果を関連付けます。
テスト実施中に検出した欠陥IDをテスト結果の [欠陥] フィールドに登録することで欠陥情報とテスト結果を関連付けることができます。
計測方法
TestRail ではマイルストーンの進行中に登録された欠陥数を確認することができます。
全テストフェーズで検出した総欠陥数と各テストフェーズで検出した欠陥数を以下の計算式に当てはめることでテストフェーズごとの欠陥検出効率(DDE)を計測できます。
欠陥検出効率(DDE) = (特定のテストフェーズで検出した欠陥数 / 総欠陥数) x 100
- TestRail 画面:マイルストーン > 欠陥 タブ (テスト計画やテストラン毎の検出した欠陥数)
![](data:image/svg+xml;base64,PHN2ZyBoZWlnaHQ9IjI4MiIgd2lkdGg9IjgwMCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2ZXJzaW9uPSIxLjEiLz4=)
欠陥検出効率(DDE)は全テストフェーズで検出した総欠陥数と各テストフェーズで検出した欠陥数から計測します。
<補足> テストケースの品質
どのようなテストケースが品質の高いテストケースであるかはテストの目的やプロダクトの性質によって異なります。
テストケースの品質を評価するためには、評価基準を定義し、評価基準に従ったテストケースを作成、定義済みの基準でテストケースを評価する必要があります。
TestRail にはテストケースの品質を効率的に担保するための機能が搭載されています。
カスタムフィールドとテンプレート
テスト対象や機能要件、プロダクト固有の特性などテストケースに含めるべき内容に合わせてカスタムフィールドおよびテストケースのテンプレートを作成できます。
入力必須項目や入力形式(自由記述、プルダウンやカレンダー選択など)をテンプレートで設定することで、テストケースの標準化を実現します。
テストケースのレビューと承認
TestRail Enterprise 版のテストケースのレビューと承認機能を利用することで、テストケースを適切にレビューできます。
- テストケース承認用のステータス (Design, Review, Ready) でレビュー可能なテストケースを識別
- ステータスが ‘Ready’ (承認済み) となったテストケースだけをテスト可能
プロジェクト管理ツールを利用した KPI 計測
TestRail はプロジェクト管理ツールと連携した利用を推奨しています。TestRail を利用した計測よりもプロジェクト管理ツールを利用した計測が適した KPI もあります。
今回は、プロジェクト管理ツール Redmine を利用した場合の計測をご紹介します。
7. 未解決の欠陥数
事前準備
テスト中に見つかった欠陥情報は Redmine にバグチケットとして登録し、対応状況に合わせてステータス管理します。
計測方法
登録済みのチケットのうち、「未完了」に該当する不具合チケットの件数をカウントします。
![](data:image/svg+xml;base64,PHN2ZyBoZWlnaHQ9IjU1MiIgd2lkdGg9IjgwMCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2ZXJzaW9uPSIxLjEiLz4=)
管理ツールに登録済みの欠陥情報から未解決の欠陥数をカウントします。
8. 未解決の重大な欠陥数
事前準備
「重大な欠陥」の定義はプロジェクトによって異なります。プロダクトの性質やこれまでの実績からどのような欠陥が重大であり、どのような欠陥が軽度なものかを判断する軸を作成する必要があります。
再現性や発生頻度、ユーザー影響度など複数の評価項目を組み合わせて「重要度」や「優先度」といった欠陥の重大さを識別するたの項目を用意し、Redmineに欠陥情報を登録する際に割り当てます。
計測方法
登録済みのチケットのうち、「未完了」に該当する不具合チケットの件数をカウントします。
![](data:image/svg+xml;base64,PHN2ZyBoZWlnaHQ9IjMyOSIgd2lkdGg9IjgwMCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2ZXJzaW9uPSIxLjEiLz4=)
管理ツールに登録済みの欠陥情報のうち「重大」な欠陥数をカウントします。
9. 却下された欠陥率
事前準備
テスト中に見つかった欠陥情報が Redmine にバグチケットとして登録された後、チケットの内容を確認して対応の要否を判断します。
計測方法
登録済みのチケットのうち、「却下」された不具合チケットの件数をカウント後、以下の計算式に当てはめます。
却下された欠陥率 = (却下された欠陥数 / テスト中に検出した総欠陥数) x 100
![](data:image/svg+xml;base64,PHN2ZyBoZWlnaHQ9IjMwNSIgd2lkdGg9IjgwMCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2ZXJzaW9uPSIxLjEiLz4=)
却下された欠陥数とテスト中に検出した総欠陥数で却下された欠陥率を計測します。
まとめ
テスト活動を定量的に計測・監視し、改善を継続することがソフトウェアの品質向上に繋がります。今回ご紹介した KPI は TestRail やプロジェクト管理ツールで自動集計、または簡単に計測できるものばかりです。
ぜひ TestRail を利用したテスト管理と KPI の計測をお試しください。
関連する製品
テスト管理ツール TestRail
テストケースの管理やテスト結果の記録、チームでの情報共有など、Excelを使ったテスト管理の業務に限界を感じていませんか?TestRailはシンプルで使いやすいUIを提供し、テストにかかるさまざまな管理コストの削減に貢献します。
■ TestRailの特長 ■
- テストにさまざまな情報を関連づけて一元管理
- Webブラウザー上でテストケースを簡単に入力や編集可能
- テスト実施の準備と結果の共有が容易
- 進捗や比較などのレポートを提供
- 要件 / 課題管理ツールやテスト自動化ツールと連携
日本国内では、テスト管理にExcelを使っていたお客さまからの乗り換えが多く、Web上で完結するテスト管理を実現されています。
TestRail でテスト管理のお悩みを解決しませんか?