前回は、TestLink自体の説明に入る前段階として、そもそも「テスト管理」とは何かということについて説明しました。今回からは、いよいよTestLinkの機能に踏み込んでいきます。まず今回は、TestLinkの機能の全体像を見ていきたいと思います。
TestLinkとは?
TestLinkは、Webベースのテスト管理システムです。テスト管理システムという名の通り、前回ご説明した「テスト管理」を補助することを目的としています。Webベースのアプリケーションですので、Webサーバ(Apacheなど)とデータベース(MySQLなど)の環境で動作します。
また、TestLinkはオープンソースで開発/配布されています。オープンソースのライセンスとしてはGNU General Public License(GPL)が採用されており、誰でも自由に使うことができますし、その気になれば各現場に合わせてカスタマイズすることもできます(※)。
TestLinkは、オープンソースソフトウェア配布ポータルサイトの大手であるSouceForge.NETの上位300位にランクインされており、毎日100名のユーザからダウンロードされています。オープンソースのテストツールの専門サイトである
OpenSourceTestingの人気調査でも1位に選ばれていますし、TestLinkのユーザフォーラムではMcAfee、Yahoo! USA、Wind River、Symantec Corp(Pune, India)でも導入実績が報告されているなど、徐々にユーザ層が広がってきているようです。
さらに、国際化、品質向上にも力を入れるようになってきており、日本語化も私たちTestLink日本語化部会が1年ほど前から着手していますし、TestLinkを利用しTestLink自体のテストを管理しようというプロジェクトであるTest Task Force(TTF)の活動も始まっています。
TestLinkの代表的な機能
TestLinkの代表的な機能を「テスト管理」の項目別に整理すると以下のようになります。
- ・構成管理
- テストケースの管理
- テストケースのバージョン管理
- テストケースのインポート/エクスポート
- ・テスト進捗のモニタリングとコントロール
- テスト実施状況/実行結果の表示
- テスト計画別のテストケースの選択
- 要件仕様の登録とテストケースと関連づけ
- 登録したテストケースのレポート出力
- ・テストの組織
- テストチーム内の役割設定
- テストケースごとの担当割り当て
- テストプロジェクト毎のユーザ管理
- ・インシデント管理
それぞれの項目について、もう少し詳しく見ていきましょう。
テストケースの管理
テスト管理システムの主要な機能はテストケース管理です。各テストケースの登録、実行のやり方が標準化されます。
テストケースのバージョン管理
それぞれのテストケースをデータベース管理することにより、テストケース1件ごとにバージョン管理ができます。また、テスト結果に対してどのバージョンのテストケースで試験を行ったかのトレーサビリティを取ることができます。
テストケースのインポート/エクスポート
作成したテストケースをインポート/エクスポートする機能により、たとえば、別プロジェクトで作成したテストケースの再利用などといったことが可能になります。
テスト実施状況/実行結果の表示
テスト結果をリアルタイムに把握できます。また、以下のようなさまざまな条件を設定し、テスト結果を分析したレポートを作成することができます。
- テスト計画全体のメトリクス
- 全ビルドステータス
- クエリーのメトリクス
- 失敗したテストケース
- ブロックされたテストケース
- 実行されないテストケース
- テスト報告
- チャート
- 要件に基づくレポート
テスト計画別のテストケース選択
テスト計画ごとにテストケースの実行/未実行を設定することができます。これにより、どのテスト計画でどのテストケースを実行するかを定義することができます。
要件仕様の登録とテストケースとの関連づけ
要件仕様を登録する機能があり、要件ベースでテストケースを生成することができます。また、すでにあるテストケースと要件仕様を関連づけすることができます。これにより、要件とテストケースの関連を追跡することができます。
登録したテストケースのレポート出力
登録したテストケースをHTML形式やMS Word形式で出力することができます。テスト仕様書の提出を求められた時にボタンひとつで出力することができます。
テストチーム内の役割設定
TestLinkでは、各ユーザアカウントにadmin、leader、senior tester、tester、guest、test designerという役割を割り当て、役割に応じて使用できる機能を制限することができます。これにより、たとえば、test designerとtesterという形でテストケース作成者とテスト実施者の分業が可能となります。
テストケースごとの担当割り当て
各テストケースごとにテスト実行時の担当を割り当てることができます。この割り当てに従ってテストケースの表示を絞り込むことができるので、テスト担当者は自分がどのテストケースを実行すれば良いのかわかります。
テストプロジェクトごとにユーザを管理
複数のテストプロジェクトを扱うことができ、テストプロジェクト毎にユーザの役割を変更することができます。たとえばプロジェクト1ではAさんがリーダー、プロジェクト2ではBさんがリーダーというふうに、プロジェクトごとに役割を変更することができます。
バグ管理システムとの連携
テスト実行時にインシデント(バグ)が見つかった場合は、テスト結果からバグ管理システムへリンクを張ることができます。過去にこのテストケースでどのようなインシデントが発生したのか、を確認することができます。要件管理との関連付け機能も使用すれば「要件仕様-テストケース-バグ管理システム」という紐付けができます。
日本語化部会作成の補助ツール
TestLink日本語化部会では、TestLinkをより使いやすくするために独自の補助ツールを作成しています。これらのツールをSourcefForge.JPで公開しています。
テストスクリプトからのテストケース生成
xUnitなどのテストスクリプトとTestLinkの連携を強めるために、テストスクリプト(テストコード)のコメントからテストケースを生成するツールを作成しています。
表1
CToXml |
C言語用 |
JavaToXML |
Java用 |
RubyToXML |
Ruby用 |
他ツールからのデータ変換
他ツールで作成したデータをTestLinkで有効活用するために、データ変換用のツールを公開しています。
表2
MmToTestLink |
FreeMindで作成したマインドマップからTestLinkのテストケースを生成 |
allpairs2testcase |
オールペア法ツールAllpairsで作成したテストケースからTestLinkのテストケースを生成 |
decisionTable2testcase |
CSV形式で作成したデシジョンテーブルからテストケースを生成 |
pdfPageList2testcase |
既存ドキュメントへのリンクをTestLinkに埋め込む |
testcaseConv |
CSV形式のテストケースとTestLink形式のテストケースを双方向に変換 |
TestLinkCnvMacro |
Excel試験書からのXMLファイル変換マクロ |
TestLinkReportMacro |
TestLinkのExcelレポートを集計するマクロ |
簡易インストール
TestLinkはWebベースのアプリケーションということもあり、Webアプリケーションの扱いに慣れていないと、導入の検討前のインストールの段階でつまづかれてしまう方も多いようです。そこで、TestLinkの機能をお試しいただくためのパッケージをご用意しました。
表3
AllInOneTestLinkJp |
Windows用に簡易Webサーバとデータベースを同梱したパッケージで、解凍してクリックするだけでTestLinkが使用可能 |
VMwareのイメージファイル |
VMware上のFedora7にTestLinkとBugzillaをインストールしたもので、VM Playerから再生可能 |
1CD Testlink日本語版 |
産総研版のKnoppix日本語版にTestLink日本語版とMantisを組み込んだもの |
まとめ
第2回では、TestLinkの機能の全体像ついてご説明しました。次回は、TestLink 1.8で実装予定の新機能についてご紹介します。