Tech Sketch Bucket of Technical Chips by TIS Inc.

テスト管理ツールを活用したテスト工程の効率化 ~(2)再利用に備えた、テストケースのマスタ管理

Pocket

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

 前回 は、私たちの取組みの背景にあったテスト工程に関する課題を中心にお話ししました。この回では、テスト管理ツールでテストケース(仕様)をマスタ管理する際に活用する、テスト管理ツールの機能や工夫ポイントを説明します。

テスト管理ツールの基本構造

 個々の機能の話に入る前に、テスト管理ツール全体の理解に関わる概念について説明します。
 (チケット登録ができる程度のごく基本的なRedmine知識を前提とします)

概念構造

WS000013.JPG

 前回の説明で使った上図に登場する用語と概念構造を説明しておきます。Redmineプロジェクトとテスト仕様マスタを中心とした全体の構造をざっくり理解しておいてください。

用語          説明                               
テスト仕様マスタ     テスト対象の特定システムの単位で作成する、テストケースのマスタ  
テストケース       テスト仕様マスタが管理する、1件単位のテストケース        
PJテスト計画     開発プロジェクト単位で作成する、実施テストケースのリンク集合   
PJテスト実績     開発プロジェクト単位で保持する、開発プロジェクトでのテスト実施結果

WS000039.JPG

Redmineプロジェクトが1つのテスト仕様マスタを管理

 テスト管理ツールを導入する際、始めにRedmineプロジェクトを作成します。このRedmineプロジェクトがテスト仕様マスタやPJテスト計画を持ちます。1つのRedmineプロジェクトで2つ以上のテスト仕様マスタは持てないので、例えばAシステムの結合テストとシステムテストでテスト管理ツールを使うのであれば、2つのRedmineプロジェクトで結合テストとシステムテストのテスト仕様マスタを分けて管理します。

Redmineプロジェクトが複数の開発プロジェクトのPJテスト計画を管理

 Aシステムの開発プロジェクトでテスト始める時、使用するテスト仕様マスタを持つRedmineプロジェクト内にPJテスト計画を作成します。Redmineプロジェクトは複数のPJテスト計画を持つことができ、PJテスト計画はテスト仕様マスタ内の必要な(=利用者が選択した)テストケースのリンクを保持します。これにより、複数のPJテスト計画からテスト仕様マスタ内のテストケースを1件単位で再利用できるようになっています。

PJテスト実績が開発プロジェクトのテスト実施結果を管理

 PJテスト計画が持つテストケースの実施結果は、PJテスト実績が1件ずつ持ちます。ここに登録された情報がリアルタイムに集計・分析され、テスト予実や品質の集計画面で参照できます。

テストケースをマスタ管理してみる

概要

 テスト管理ツールを導入すると、Redmineのメニューに"テスト"というタブが追加されます。下記画面はテストタブ選択後の画面です。テスト仕様マスタで管理されているテストケースが、左側のツリーに表示されています。

WS000041.JPG

 Excelでテストケースを書く場合、「◯◯メニューの△△画面の●●機能」のように、◯◯/△△/●●で作った階層の末端でテストケースを管理するのが一般的ではないかと思います。同じように、テスト管理ツールもテストケースの階層を持ち、「T」マークのアイコンでテストケースを、その上位のアイコンで階層を表現したツリーを画面表示します。ツリー上ではコンテキストメニューからテストケース内容の照会、新規登録・編集・コピー・削除等の基本操作が可能な他、階層やテストケースをドラッグ&ドロップして配置を簡単に変更できます。

テストケースのマスタ管理を始める為の準備

 後述するExcelファイルのインポート/エクスポート機能を使用する為に3点の準備が必要です。

  1. 使用するExcelテスト仕様書のフォーマット確定
  2. テスト仕様書に定義された項目に合わせて、テスト管理ツールに保持する項目を定義
  3. インポート/エクスポート時のExcelフォーマットとテスト管理ツール間での項目コンバート設定

 テスト管理ツールは特定の様式に依存せずに汎用的に使えるよう、テストケースが管理する項目(<例>準備内容、実施内容、合格条件)を自由に定義できます。通常は、今まで使用してきたExcelのテスト仕様書様式に合わせて、テスト管理ツールで保持するテストケース項目を定義します。

 その後、Excelテスト仕様書様式とテスト管理ツールの間の項目対応づけや、階層の情報が記述される位置をテスト管理ツールに登録します。具体的には、Excelの列番号とテスト管理ツール項目の内部採番IDを対にして設定ファイルに記述し、コマンドを流す、という作業です。

 当社内では、社内標準のテスト仕様書様式に合わせたデフォルト設定の利用を推奨し、準備コストの低減を図っています。

Excelのテスト仕様書からテストケースマスタを作成する。

 大量のテストケースを画面から登録するのは効率が良くありません。他のテストケース内容を参照しながらテストケース作成するので、一覧参照性も必要です。

 こういった場合、準備段階で決めたExcel様式でテストケースを作成した後、テスト管理ツールのインポート機能でテスト仕様マスタに取り込めば、ほとんど手間をかけずにExcelからマスタ化できます。テストケースの階層も自動的に作成されます。操作は簡単。上記画面右上の"テストケースのインポート"をクリックして、読み込むExcelファイルを選択するだけです。

 当社では、保守フェーズにシステムでのテスト管理ツール導入が多く、過去の開発で作成したExcelのテスト仕様書をインポートすることで、マスタ作成を効率よく行っています。

お客様とのレビュー用に、テスト仕様マスタをExcelに出力する。

 テスト仕様書をお客様に確認頂く場合があります。お客様にテスト管理ツールで直接確認頂くのが効率面でベストですが、環境の都合で難しいことも多いです。そのような場合は、エクスポート機能で出力したExcel形式のテスト仕様をお客様に提出する形を取っています。

 操作は簡単。上記画面右上の"テストケースのエクスポート"をクリックするだけです。テスト仕様マスタ上のテストケース全件が、Excelのテスト仕様書様式に出力されます。PJテスト計画に紐付いた(特定の開発プロジェクトで実施予定の)テストケースのみを実施予定・実績付きで出力し、納品成果物にすることもあります。(別の回で説明します)

特定のテストケースを探す。

 複数のExcel文書に書かれたテスト仕様に対する検索は簡単にはいきませんが、テスト管理ツールはテストケースをDBで管理するので容易に検索できます。下の図は、"ログイン認証"の文字列を含むテストケースを抽出した様子です。(該当するテストケース以外に、階層情報を表示する仕様としています)

WS000048.JPG

 各テストケースにはタグ付けが可能(もちろんインポートでも)で、"キーワード(完全一致)"を使った、特定タグのテストケースの抽出も可能です。特定の開発プロジェクトに関係なく繰り返し実施するテストケースのセットにタグ付けしておけば、実施テストケースを数秒で抽出できます。

おわりに

 いかがだったでしょうか?
 
 これまでの導入経験を踏まえると、既存機能改修がなく新規機能追加のみを繰り返すシステムでは「テストケースのマスタ化」への興味が薄いようです。開発プロジェクトで新規作成したテストケースの実施が中心で、マスタのテストケースを再利用する機会が少ないからです。とは言っても、再利用の機会がいつ来るか分かりません。再構築の時にも役立つでしょう。Excel標準様式確定とテスト管理ツール設定を1回だけ済ませてしまえば、後のマスタ化はとても楽にできるので、マスタ管理をやっておいて損はないと思います。

 次回は開発プロジェクトのテスト工程で、マスタ管理下にあるテストケースを再利用してPJテスト計画を作成する方法と機能を説明します。

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