さまざまな作業に対応するオープンソースのテストツール群Programing Bible

テストは開発プロセスにおいて重要な役割を果たす。ここでは、プロプライエタリな製品に比肩するだけの実力を持ったオープンソースのテストツールを紹介する。

» 2008年05月01日 01時40分 公開
[Mayank-Sharma,Open Tech Press]
SourceForge.JP Magazine

 ソフトウェア開発プロジェクトの大小を問わず、テストは開発プロセスにおいて重要な役割を果たす。しかし、すべての組織や開発者が専用のテストツールを利用しているわけではない。そうしたツールは何百ドル、場合によっては何千ドルもするからだ。幸いにして、豊富なオープンソースのソフトウェアテストツールが無料で入手できるおかげで、そうした高価なツールの必要性は薄れつつある。

 簡単にいうと、ソフトウェアのテストは大きく2つのアプローチに分かれる。手作業によるテスト(夏期インターン生がチェックリストを使って行うのはこちら)と自動プログラムによるものだ。プログラムによる自動テストの場合、ツールの調達に多額の費用がかかったり、自動テストを行うソフトウェアのカスタマイズに追われて当座の作業がおろそかになったりする可能性がある。

 一方、Open Source Testing(OST)、QAForumsOpen Testwareなど、さまざまなテストツールを取りそろえたサイトに目を向け、自分の役に立つものを探し出すこともできる。

 OSTを管理しているマーク・アバドー氏は次のように語る。「オープンソースのテストツールの中で最も数が多いのは、機能テストツールだ。このカテゴリには、キャプチャー/リプレイテストやデータ駆動型テストの実行、WebアプリケーションやJavaアプリケーションを対象としたテストなど、多くのものが含まれる」。現在はソフトウェア開発に携わっているものの、これまで10年にわたってソフトウェアテストおよびテスト管理という別の側面に取り組みんできたアバドー氏によれば、オープンソースのテストツールの中にはパフォーマンステストやテスト管理/バグトラッキングのための多くのツールのほか、セキュリティテストのツールもかなり含まれているという。

 「よく使われる言語、特にテスト駆動型開発(TDD:Test-Driven Development)が多用されている言語向けには、単体テスト用のツールも含めて、多数のツールが用意されている。(WebおよびJavaアプリ用のテストツールは多数あるが)オープンソースはいつもそうであるように、何か気に入らない点があれば誰かが手を加えるので、いかなるニーズに対しても何らかのツールが存在する」。OSTには、PHPPerlRubyFlash/ActionScriptJavaScriptPythonTclXMLといった言語向けのテストツールが用意されている。「おそらくわたしがOSTにまとめたもの以外にもテストツールはあるはずだ。TDDを実践している人はtestdriven.comを参照するとよいだろう。そちらの方がTDDに注力したサイトになっている」

 ところで、こうしたオープンソースのテストツールのできは高価なプロプライエタリなツールに比べてどうなのだろうか。「中には非常に優れたものもある」とアバドー氏は話す。パフォーマンステストの領域で健闘しているオープンソースツールの例として、彼はWebLOADOpenSTAを挙げた。それもそのはず、どちらも以前は商用ツールだったものだ。ほかにも、次のようなツールに言及している。「セキュリティの領域では大人気のWiresharkバグトラッキングではBugzillaMantisといったツールがよく知られている。機能テストの領域にも、各種機能のそろった素晴らしいツールが数多くある(例えばSeleniumAbbotJameleonjWebUnitMarathonSahisoapuiWatin/Watir)」

 アバドー氏によると、商用ツールの場合は、ツール本体のできもさることながら、たいていは自動ソフトウェア品質管理(ASQ: Automated Software Quality)ツールと統合されており、また当然、名のある企業からサポートを受けられるというメリットもある。ツールを選ぶ際の基準として、こうした点を重視する人は多いだろう。しかしこのような面でも、オープンソースのテストツールの状況はよくなってきている。その例として、テストケースツールのRTHがWatir、HttpUnit、JUnit、MaxQ、そして商用のWinRunnerに統合されている点をアバドー氏は指摘する。また、MantisやBugzillaのようなバグトラッキングツールにさえ、機能テストやテストケース管理用のツールが付属している。

 信頼性と精度の高さについては、従来のオープンソース論争で述べられているとおりだとアバドー氏は言う。人気のあるツールは多くの人によってテストされ、使われている。そうしたツールには、大規模で持続的なコミュニティーが形成され、品質の問題について大勢の人からフィードバックを受けているものが少なくない。「こうしたツールの多くは、非常に進化が早く、リリースが頻繁に行われる。とはいえ、何でも自由に行えるわけではない。コードベースが公開されていも、リポジトリは厳重に管理されており、書き込みの操作はコミット権を取得した開発者しか行えない」

 アバドー氏によると、オープンソースのテストツールを利用しようとする人々にとって重要な問題は、ニーズに合うツールがあるかどうかではなく(ほとんどの場合は適切なツールが見つかるため)、見つかったツールが投資に値するほど成熟したものかどうかだという。「テストの自動化はテストチームのスキル向上、テストスクリプトの作成という点でかなりコストが掛かる大がかりな取り組みであり、投資対象として適切なツールか、ライセンス料が掛かるかどうかを知る必要がある。また、そのツールは5年後も使われているか、どの程度のサポートが受けられるか、機能の改良やバグの修正、今後のリリース予定などに問題がないかといった疑問も出るだろう。アバドー氏は、選定および評価のサポートと有料の技術サポートサービスの間には大きな差があることを認めており、OSTでは次にこの部分に注力したいと考えている。

 確かに、サポート面で優れた定評のあるツールは、大きな影響力を持つ持続的なコミュニティーに支えられている。しかし、まだオープンソースの市場は多数の有償サポートが利用できるという状況になっていない、とアバドー氏は話す。オープンソース製品を扱うサポート企業の例は幾つかあるものの、そうした製品のサポートチームの多くは(社員ではなく)社外から雇われた人々である。「ビジネスの面ではまだまだこの市場は未熟だが、いずれは成熟し、製品の統合、コミュニティーの発展、有償サポートが適切なレベルまで来れば、きわめて破壊的なものになる可能性を秘めている。Gartner社によるとASQ市場は年間20億ドルの規模があるという。また、Hewlett-PackardとMercuryが絶対的に優勢だが、オープンソースツールの普及が進めば、より規模の小さな何百というプロプライエタリベンダーは相当な危機にさらされるだろう。状況は確実に正しい方向へと動きつつある」

 オープンソースのテストツールはパフォーマンス的にも優秀で、プロプライエタリなツールに比べるとかなりのお値打ち品といえる。ただ、正式の一貫したサポート体制の欠如から、ミッションクリティカルなアプリケーションのテストには使い辛いツールもある。オープンソース開発者、あるいはテスト予算に対して思うところのあるソフトウェア開発会社は、ここで紹介したテストツールのWebサイトや掲示板をのぞいてみるとよいだろう。ひょっとすると、かなりの節約ができるかもしれない。

Copyright © 2010 OSDN Corporation, All Rights Reserved.