連載
» 2009年10月23日 00時00分 公開

エンジニアがお薦めする 現場で使えるツール10選(5):脱Excel! TestLinkでアジャイルにテストをする (2/6)

[あきぴー,@IT]

【4】TestLinkの運用例

 TestLinkとアジャイル開発を組み合わせると、下記の運用フローになる。

4−1.プロジェクト、ユーザー、ロールの初期設定を行う

4−2.テスト仕様へテストケースを一括インポートする
4−3.テスト計画を作成し、テストケースやテスターをアサインする
4−4.ビルドを作成後、テスト実行する
4−5.テスト実施の集計結果を表示する
4−6.要件カバレッジの機能を使う
4−7.ビルドをCloseして、テスト仕様書を出力する
4−8.TestLinkCnvMacroでテスト実績を分析する

 以下、TestLinkの運用方法を上記の順に説明する。

【4−1】プロジェクト、ユーザー、ロールの初期設定を行う

【4-1−1】プロジェクト

 まず、テスト対象のプロジェクトを登録する。実際のプロジェクト単位に登録すればよいだろう。例えば、開発チーム内に複数のサブチームが存在する場合は、サブチームごとにテストプロジェクトを作って管理する運用もできる。

4−1−1 プロジェクト登録画面 4−1−1 プロジェクト登録画面

【4−1-2】ユーザー

 ユーザー(実際はテスター)は下記で一覧できる。TestLinkでは、ユーザーはプロジェクトを横断してアサインできる。

4−1−2 ユーザー一覧画面 4−1−2 ユーザー一覧画面

【4−1−3】ロール

 ユーザーにはロールがあり、「管理者」「リーダー」「シニアテスター」「テストデザイナー」「テスター」などが選択できる。プロジェクトに応じてロールをカスタマイズすればよいだろう。

4−1−3 ロール設定画面 4−1−3 ロール設定画面

【4−2】テスト仕様へテストケースを一括インポートする

【4−2−1】TestLinkCnvMacroでテストケースを一括インポートする

 そもそもTestLinkの運用が難しい原因は2つある。1つ目は、既存のテスト仕様書にある数千から数万のテストケースをTestLinkへどのようにインポートするか、という点だ。

 最も手軽な解決手段は、TestLinkCnvMacroでテストケースをXMLへ変換し、TestLinkへインポートすることだ。つまり、Excelでテストケースをあらかじめ作成しておき、TestLinkCnvMacroへコピーしてXMLへ変換する手順になる。

4−2−1 テスト仕様のインポート画面 4−2−1 テスト仕様のインポート画面

 一度インポートしたテストケースを仕様変更などの理由で修正したい場合、TestLinkCnvMacroに取り込んで修正した後、上書きインポートすることもできる。TestLinkCnvMacroを使った概念イメージは下記のとおり。

4−2−2 TestLinkとテスト仕様書の関係の概念イメージ 4−2−2 TestLinkとテスト仕様書の関係の概念イメージ

【4−2−2】TestLinkのテストケースの形式

 2つ目は、既存のテストケースをTestLinkのテストケースにどのように合わせるか、という点だ。TestLinkのテストケースの概念を実際のテストケースの例(結合テスト・システムテスト)に合わせて説明しよう(参考:簡易マニュアル - TEF有志によるテスト管理システムTestLink日本語化プロジェクト)。

 TestLinkの「テストケース」とは、TestLink上でテスト作業を表す最小単位である。テストケースは下記の項目を持つ。

タイトル ユーザーが手入力したテストケースの番号。TestLinkでは、テストケースIDが別の概念としてユニークに採番される。
概要 テストケースの概要。
ステップ テストの事前条件とテスト手順。
期待値 テストの期待結果や事後条件。
キーワード テストケースのタグのような属性。要件管理IDを振る時もある。テスト実行画面でフィルタリングでき、テスト結果画面に集計表示される。
カスタムフィールド 管理者が追加したテストケースの属性。テスト実行画面に表示されるが、テスト結果画面では集計対象にならない。

 また、テストケースを階層化する概念として「テストスイート」がある。TestLinkのテストケースの形式に既存のテスト仕様書を合わせるにはテストスイートを上手に使って階層化すればよい。例えば、テストスイートにテストの分類項目(工程、画面、機能など)、テストの目的などを入れるとよいだろう。

【4−2−3】結合テストの場合

 例えば、結合テストのように、業務シナリオをベースにテストする場合は下記のように作成している。

プロジェクト プロジェクト1
テスト計画 結合テスト(注:イテレーションの単位)
ビルド 9月リリース
テストスイート1 結合テスト
テストスイート2 カート画面
テストスイート3 数量
テストスイート4 数量の入力チェックを確認する
テストケース―タイトル 1―1 (注:テスト仕様書のテストケースID)
テストケース―概要 1.商品を注文してカート画面に遷移する。
2.カート画面の数量に値を変更して入力する(例:半角英字、全角文字、半角カナ、0以下の数値)
テストケース―ステップ 次へボタン押下
テストケース―期待値 カート画面でエラーメッセージを表示する(例:半角数字を入力してください)
キーワード 1−1−1(注:要件管理ID。要件リスト−要件名と同じ値にする)
例 4−2−3 プロジェクト1のカート画面のテストケース(結合テスト)

図4−2−4 TestLinkCnvMacroのテストケース作成の画面(結合テスト) 図4−2−4 TestLinkCnvMacroのテストケース作成の画面(結合テスト)

 筆者は、「テストケース−概要」にテストケースの事前条件、「テストケース−ステップ」はテスト手順を詳細に書き、事前条件とテスト手順を分離する運用にしている。理由は、特に業務シナリオのテストケースでは、事前条件とテスト手順は複雑になりがちなので、分離した方がテストケースは読みやすいからだ。

 さらに、テストデータやテスト項目の構造を表形式(tableタグ)や個条書き(liタグ)などで書くとさらに読みやすくなるだろう。

 上記のやり方で、TestLinkの形式に合わせたテストケースをExcelで作り込んで、TestLinkCnvMacroでXML出力し、TestLinkにインポートする運用になる。テストスイートでテストケースを上手に分割すると、TestLinkのテスト実行画面でテストスイート単位のテストケース数を表示してくれるので便利である。

図4−2−5 TestLinkにインポート後のテスト実行画面(結合テスト) 図4−2−5 TestLinkにインポート後のテスト実行画面(結合テスト)

Copyright © ITmedia, Inc. All Rights Reserved.

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。