Tech Sketch Bucket of Technical Chips by TIS Inc.

テスト管理ツールを活用したテスト工程の効率化 ~(5<最終回>)プロジェクトのテスト進捗と品質の管理

Pocket

私たちは昨年、ソフトウエア開発プロジェクトのテスト工程の効率化に取組みました。効率化を実現するアプローチは多様ですが、今回の取組みでは、効率化可能なアクティビティを支援する即効性の高いツールを作成・適用する方針で進めました。実際に多くの開発プロジェクトが活用し、作業を効率化しています。この記事では、複数回に分けて私達の取組みと成果を紹介します。

 前回までの説明でテストケース作成やテスト実施といった、テスト担当者が行う業務でのテスト管理ツールの使いどころをお話ししました。この回では立場を変えて、管理者がテスト管理ツールを使って「どのような進捗・品質情報を見れるか」「お客様への納品物として何が取得できるか」をお話しします。(下図「予定・実績管理」「成果物管理」の部分)

WS000013.JPG

 この機能の大きなメリットは、 テスト担当者がテスト管理ツール上で普通のテスト業務を行っていれば、まったくコストをかけず「リアルタイムな情報・成果物が取得できる」 ことです。一部の現場では、毎朝のスタンドミーティングでこの機能を利用してチーム全体および問題を抱えた担当の進捗を確認し問題対処する、という取組みで安定的なプロジェクト運営に効果を挙げています。

 進捗・品質情報確認や成果物取得は、テスト計画やテスト実績の登録と同様に特定の開発プロジェクト単位で行います。よって以降の説明は、テスト管理ツール上で開発プロジェクトに対応するPJテスト計画を選択した後の内容となります。

進捗情報を見る

進捗情報は以下の4つが参照できます。「テスト担当者単位」「プロジェクト全体」のそれぞれで「現在情報」「時系列情報」が参照できます。

  1. テスト担当者単位の現時点の進捗情報
  2. テスト担当者単位の時系列の進捗情報
  3. プロジェクト全体の現時点の進捗情報
  4. プロジェクト全体の時系列の進捗情報

テスト担当者単位の現時点の進捗情報

WS000076.JPG

 選択した担当者に割当てられているテストケースの現時点の進捗状況と不具合発生状況の内訳を表します。

テスト担当者単位の時系列の進捗情報

WS000077.JPG

 選択した担当者に割当てられているテストケースの進捗状況、不具合発生状況を時系列で表します。 PJテスト計画で指定したテスト期間内の日または週を横軸に取り、縦軸にテスト進捗と不具合発生をアクティビティごとに取っています。テスト期間外の実績登録、予定日未登録といったイレギュラーな状況に備えて横軸には「期間外」「予定日未定」の列を設け、表内部および他表と数字の整合性を維持するよう配慮しています。

プロジェクト全体の現時点の進捗情報

WS000081.JPG

 基本的にはテスト担当者単位の画面と同じですが、テスト実施/テスト結果レビュー/不具合発生・改修の状況をまとめて表している点が異なります。ここでの工夫点は2つ。

 1つ目は、テスト結果レビューの進捗集計については、レビュー担当者が設定されたテストケースのみを作業母数として集計した点です。テスト結果のレビューをサンプリングで行う際に、正しく全体量と進捗状況が見えるようにしました。上の図で、左端の"テストケース数:24"に対して、中央やや左の"確認対象ケース数:21"となっているのは、3ケースがレビュー担当者未設定の為です。

 2つ目は、プロジェクト全体だけでなく、テストケースの階層別の数字を見れるようにした点です。下の図は全ての階層を展開して表示した状態です。階層をクリックしてドリルダウンする感じで展開されます。これが見れれば、遅れている機能・画面とその程度が明確になり、素早く対策が打てるようになりますね。

WS000083.JPG

プロジェクト全体の時系列の進捗情報

 テスト担当者単位で使っていた画面と全く同じです。なので、先ほどは説明を省いたオプション機能を簡単に説明します。

WS000088.JPG

 時系列情報は情報量が非常に多くレスポンスへの影響が大きい為、全階層表示はせずに指定階層での集計表示としました。上の図は、3階層目にある各機能の「正常系」「異常系」の単位で集計した例です。他に、日/週単位の実績のブレを見る為に累積ではなく日/週の予定・実績数値を表示したり、テスト期間が長いプロジェクトを想定した週単位でのサマリ表示ができます。

品質情報を見る

 PJテスト計画内で起票された不具合票を対象に分析した結果を、下記4点の図表で参照できます。いずれも簡単な設定のみで、後はコストをかけずにリアルタイムなデータを参照できるようになります。

  1. 不具合集計表
  2. PB曲線
  3. テストケース密度/不具合密度散布図
  4. 不具合属性分析表

 ※名称は独自につけた、一般的でないものがあります。
 ※これまでの説明と別のPJテスト計画を使用します

不具合集計表

WS000090.JPG

 品質情報を見る場合は始めにこの表を参照し、表上の特定部位をクリックすると他の図表へ遷移する形式になっています。
 
 横軸の「基本情報」部分は固定の情報項目で、テストケース数や不具合発生数、テストケース、不具合の密度などを表示します。そこから右は利用者が不具合票の属性項目から指定した分析対象項目で、内訳数を表示します。縦軸は利用者が指定したテストケース階層に存在するテストケース集合で、この単位で集計・分析が行われます。「分析対象項目」と「分析対象階層」の2点の設定のみで、不具合集計表をワンクリックで参照できるようになります。

PB曲線

WS000091.JPG

 不具合集計表の基本情報に表示された"ケース数(総数)"などをクリックすると、PB曲線が出力されます。曲線にマウスオーバーすると、そのポイントでの実績数値がツールチップ表示されます。未来日の線は、過去日の平均実績データや残作業量から予測線を書いており、期日までにテストや不具合修正が終われるかの目安にできます。

テストケース密度/不具合密度散布図

WS000093.JPG

 不具合集計表の基本情報に表示された"ケース密度"などをクリックすると、テストケース密度/不具合密度散布図が出力されます。分析対象および全体で、ソースコードステップ数ベースの「テストケース密度」「不具合密度」を算出し、散布図上にプロットします。この表を使う為には、図上に点線で表示されているテストケース密度と不具合密度それぞれの「上限値」「下限値」「目標値」の指定が必要です。つまり4本の点線に囲まれた中央の領域内に各分析対象の実績点がプロットされれば、許容範囲内ということです。"分析対象"は不具合集計表の設定で指定したテストケース階層となります。

不具合属性分析表

WS000096.JPG

「原因工程」「原因分類」など、不具合票に記入する属性の集計・分析を参照できます。
上の図は、プロジェクト全体または特定分析対象の単位で、起票された不具合の特定属性の値の内訳を棒グラフにしたもので、下の図は、不具合票の特定属性の値の内訳(割合)をプロジェクト全体および各分析対象で比較した帯グラフです。

納品成果物を取得する

 テスト管理ツール内のDBに蓄積されたデータを元に、テスト管理ツールがお客様向けの納品成果物を生成します。生成できるものは以下のものです。

  1. テスト仕様書
  2. 不具合票一覧
  3. テストエビデンスのアーカイブ

 テスト仕様書生成、不具合票一覧生成は、事前に行う「使用するExcelフォーマット登録」と「テスト管理ツール上のデータとExcelフォーマット項目の対応関係設定」に従って、テストケース内容と予定/実績情報、不具合情報をエクスポートするものです。
 テストエビデンスのアーカイブは、テスト結果登録時に添付した画面キャプチャファイルやDBダンプ等を一括でアーカイブ化するものです。テストケース階層やテストケース構造どおりにフォルダ階層を構成し、テストケースに対応する末端のフォルダにエビデンスファイルを格納します。

 いずれも操作はワンクリックです。テストケースにしても、不具合票にしても、Excelで管理していると管理場所がバラバラになり、納品時に整理する手間がかかったりしますが、テスト管理ツールはDBで集約管理したデータから整理された成果物を生成できます。

おわりに

 実際に利用している現場ではプロジェクト内の情報共有や管理の効率化効果に即効性があり、朝会のような頻繁で短時間なミーティングでの正しい情報共有が、テスト進捗とテスト対象の品質を見える化を実現する効果を生んでいます。
 一方、既に保守フェーズのシステムではテスト仕様マスタの構築に苦労します。その為、一度に網羅性の高いテスト仕様を仕上げず、保守開発を繰り返す中で徐々にマスタ化し、極力コストを抑えてマスタ構築を進めるようガイドしています。
 
 このツールはRedmineとRedmine ImpasseというOSSがベースなので、みなさんの開発現場でも同様の取組みが可能です。似たような思想で、DB管理したシステム要件や設計情報を活用したツールもあり得ると思います。今回ご紹介した内容が、そういった取組みの参考にして頂けたら幸いです。

エンジニア採用中!私たちと一緒に働いてみませんか?