前回は、現在のTestLinkの機能概要について紹介させていただきました。今回は、ちょっと脇道にそれてTestLinkの次期バージョンである1.8のベータ版をのぞいてみたいと思います。これにより、TestLinkのコンセプトや未来像が明確になるでしょう。さらにTestLinkへの理解が深まれば幸いです。
TestLinkの過去
TestLinkのコンセプトは一体どこにあるのか。それを探るためにも、ここで少しTestLinkの歴史について振り返ってみましょう。
TestLinkは、もともとChad Rosenというエンジニアが自分で使用するためのツールとして開発されていました。彼がTestLinkの初めてのバージョンであるTestLink 1.0を公開し、さらにメンテナンスが続けられました(1.0.4)。その後、彼はTestLinkの開発から離れてしまいます。
TestLinkの開発を再び開始したのがMartin Havlat、Andreas MorsingとAsiel Brumfieldの3人です。さらにFrancisco MancardiとKevin Levyが加わり、バージョン1.5と1.6がリリースされました。多くの言語に翻訳されたのもこのころです。このあたりからTestLinkのユーザ層が広がってきました。そこで、TestLinkをもっと多くのユーザで共通に使えるように改良していこうという活動が始動。TestLinkの“Next Generation”のコンセプトで再び開発が始まりました。こうして本連載で中心的にご紹介するTestLink 1.7に至るわけです。
TestLink小史を省みることで、今までのTestLinkのコンセプトが見えてきます。それをまとめると、以下のようになります。
- もともと自分で使用するために、そのニーズに合わせて開発された
- まだ改良が続けられていて、実際に使うテストエンジニアの意見を取り入れ進化している
- とくに用語の変更やテストケースの階層化などは、優先して見直され実装されている
TestLinkの導入実績は増えてきましたが、まだまだ発展途中です。さまざまな工夫をしながら使おうという意識が導入の際には大切になってきます。逆の視点から見ると、もともとが実際に使う人が使うために作ったツールであるとも言えますので、工夫次第で実務で十分使えるということになるのではないでしょうか。
TestLinkの現在
続いて、TestLinkの今を見てみましょう。現在1.7系統のメンテナンスとともに、Francisco Mancardi、Martin Havlat、Andreas MorsingそしてAsiel Brumfieldの4名の開発者が中心となって1.8の開発が進んでいます。すでにベータ版もリリースを重ねており、beta 3が登場しています。さらに、近日中にTestLink 1.8 Release Candidate 1(リリース候補バージョン)がリリースされる予定になっています。今後はRelease Candidate 1でのフィードバックを盛り込んで、Release Candidate 2を経て正式版となる予定です。
なお、日本語の対応はRelease Candidate 1から着手する予定になっています(今のところ、バージョン1.8での変更点に関しては日本語化されていません)。
TestLink 1.8での変更点
ここで、徐々に明らかになってきているTestLink 1.8での新機能を一部ご紹介します。これらの新機能のほとんどは、TestLinkのトラッカーに寄せられた、ユーザの皆さんの要望が形になったものです。なお、以下の記述は記事執筆現在の最新版である TestLink 1.8 beta 3に依っています(用語等は変更になる可能性があります)。
- TestLink APIの公開
いよいよ、TestLink APIが公開されます。TestLink APIとは、TestLinkを外部スクリプトから操作するための機構です。外部プログラム上でこのTestLink APIをコールすることで、TestLinkを操作することができるようになります。XML-RPCと呼ばれる技術で実装されており、XML-RPCを使用することができるプログラミング言語であれば、TestLinkを操作するためのスクリプトを書くことができます。実際に、PHP、Java、Ruby、 Pythonで書かれたサンプルスクリプトがTestLink 1.8 beta 3には同梱されています。 TestLink APIの公開により、xUnitなどの自動テストの結果を自動で登録するなど、テスト自動化ツールとの連携の道が開かれるでしょう。
- 優先度の設定
過去のTestLinkでは一度、優先度を設定することができたこともありましたが、優先度の定義が曖昧だったため、現在の安定版であるTestLink 1.7では廃止になりました。この定義が「優先度=重要度+緊急度」ということに落ち着き、1.8で改めて実装されることになりました。テストケース設計時に重要度、テスト計画制定時に緊急度を設定することができます。これにより、TestLink上でテスト戦略に幅を持たせることができるでしょう。
- 要件管理の改良
TestLinkには、バージョン1.6から要件管理機能が実装されています。しかし、テストケースなど他の項目ほど構造の洗練化が進んでいませんでした。要件ベースのテスト設計、およびテスト結果の解析は、ソフトウェアテストのなかでも基本的な事項です。そこで、TestLinkの改良の流れの中で、要件管理も改良しようということになりました。要件ベーステストがより促進されると思います。
- インポート/エクスポート機能の強化
テストケースのインポート/エクスポート機能が強化されました。もっとも印象的なのが、MS Excelからのインポートです。今までは、Excelで作成したテストケースをTestLinkにインポートする場合には、CSV形式もしくはXML形式に変換する必要がありましたが、TestLink 1.8からは直接インポートすることができます。
- イベントログの導入
TestLink 1.8では、イベントログと呼ばれる機能が実装されました。これは、各ユーザのログインや、テスト計画の変更などといったイベントがログとして記録される機能です。また、エラーメッセージ等もログに記録することができます。セキュリティ、コンプライアンスに配慮した機能であるといえます。
TestLinkの未来
ここまで、TestLinkの過去・現在をふりかえってきました。TestLinkが現場のテストエンジニアのフィードバックを受けて進化してきている様子が窺えたと思います。最後に、TestLinkの未来像について見ていくことにしましょう。
TestLinkのフォーラムでは、1.9以降のロードマップが発表されています。1.9では、TestLinkにプラグインの機能を搭載することを目標にしています。これによって、ユーザがTestLinkをカスタマイズするのが容易になるでしょう。
また、綺麗な見た目よりも自分のニーズを満たすように開発されたという経緯からわかるとおり、ユーザインターフェースの洗練についてもこれからの課題になっています。TestLink 1.8でもかなり改良される予定ですが、皆さんのご意見を開発者に届けて、より一層改良していきたいと思っていますので、TestLink日本語ユーザメーリングリスト等にぜひ、ご意見をお寄せください。
TestLinkのコンセプトは「限られた機能と、無限の連携」です。多くの機能を実装するのではなく、テスト管理という部分だけを深めていき、インターフェースを提供することでそれ以外の部分は他のツールと連携していく。TestLinkはこのような姿を目指して今後も進化していきます。
まとめ
今回は、次期バージョンTestLink 1.8での新機能を中心に、TestLinkのコンセプトについて紹介させていただきました。これで、TestLinkを使うための前準備は一通りそろったかと思います。次回からは、いよいよTestLinkの使い方に焦点を当てていきます。