Eclipse Jubula: 機能テストの自動実行ツール
Eclipse Indigo の最新リリースには,Java あるいは HTML で記述されたアプリケーションの機能テストを自動で実行する Jubula というツールが添付されている。Jubula はアプリケーションの実行記録やテストコードのプログラミングを必要とせず,組み込まれているテストライブラリのドラッグアンドドロップによってテストを作成する。Jubula は Eclipse for Testers パッケージに含まれている以外に,スタンドアロンの RCP アプリケーションとしてダウンロードすることもできる。
Jubula が組み込みで提供するテストアクションは,アプリケーションやツールキットに依存しないものだ。これによって,アプリケーション UI に依存しないテストが開発可能となる。テストチームは開発チームの作業と並行して,実装ではなく機能要件に注目した GUI テストを開発することができる。これは同時に,機能 GUI テストの領域にテスト駆動開発を導入するという意味も持つ。またツールキットに依存しないということから,テスト対象のアプリケーションが Swing,SWT,あるいは HTML ベースであっても,同じようにテストスクリプトを開発することが可能だ。
テストツールの多くは記録再生を行う形式か,あるいはテストスクリプトの記述を必要とする。記録再生型のツールは大量のコードを生成し,それ自体で独立したプロジェクト形式を取る場合もある。生成されたコードにはモジュール性向上と脆弱性低減のためのリファクタも必要だ。一方で手書きのテストスクリプトはメンテナンス性の点では優秀だが,開発に時間を要する上,高い技術を持ったテスト担当者を必要とする。Jubula のテストには維持の必要なコードが存在しないので,開発が容易で堅牢性も高い。作成したテストモジュールの再利用も可能だ。コーディングが不要であることには,現場でのテスト開発プロセスにおいて顧客の関与がより多く得られる,という意味もある。
Jubula は Swing,SWT/RCP/GEF,および HTML アプリケーションをサポートし,Windows,Linux/Unix,Mac 上で動作する。継続的インテグレーションおよびスクリプティングに対応するため,コマンドライン用クライアントも用意されている。なお Jubula はクライアント-サーバアーキテクチャをベースとしているので,テスト対象アプリケーションのある場所で AUT (Application Under Test) Agent を実行する必要がある。この AUT Agent は現在の Eclipse Indigo パッケージには含まれていない。別途ダウンロード しなければならない点に注意が必要だ。
Jubula は Eclipse 財団のオープンソースプロジェクトのひとつとして 2010年11月,BREDEX GmbH によってリリースされている。ベースとなっているのは,2010 年に Eclipse 最優秀商用開発ツール賞 (best commercial developer tool award) を受賞した GUIdancer のコアコンポーネントだ。そのプレスリリース には次のようにある。
GUIdancer のコアコンポーネントをオープンソース Eclipse プロジェクトとして公開するという決定には,プロジェクトを長期的に継続することへのユーザの要望が強く働いている,と GUIdancer のプロジェクトリーダを務める BREDEX のマネージングディレクタ Achim Lörke 氏は説明しています。"オープンソースは,開発プロセスへの投資保証に関する契約交渉を必要とせずに,ソフトウェアの長期可用性を保証する有効なモデルとしての認知を急速に高めています。"
Jubula 以外の選択肢となるのは Google の WindowTester だ。ただし WindowTester は Swing および SWT ベースのアプリケーションはサポートするが,HTML アプリケーションは対象としていない。また,Jubula がドラッグアンドドロップのツールであるとすれば,WindowTester はコード生成ツールであり,対象とする Swing あるいは SWT アプリケーション用の標準的な JUnit テストを自動的に生成することによって動作する。WindowTester は開発者に対して,ユニットテストプロセスに簡単に統合可能な GUI テストを,容易に生成する機能を提供している。
Jubula を試すもっとも手軽な方法は,Eclipse のヘルプメニューにある Jubula チートシートの手順に従うことだ。また Jubula Eclipse プラグインフォルダ下にあるプロジェクトのサンプルも,手始めとしては役に立つだろう。その他の優れたリソースとしては,Ecliopse Community の Jubula フォーラム がある。なお,Jubula Web サイトにはまだわずかな資料しかなく,既存のドキュメントの大部分が GUIdancer を参照するものである点には注意が必要だ。
特集コンテンツ一覧
かんばん方式を実践する
Vikram Gupta 2013年5月21日 午前4時15分
Javaのパフォーマンスについての9つの誤信
Ben Evans 2013年5月8日 午後8時36分
アジャイルにおけるソフトウェアアーキテクチャ図とNoUML
Simon Brown 2013年5月1日 午後11時54分
本当に自己組織化したチーム
Emmanuel Gaillot 2013年4月30日 午前3時42分
ニーズに合ったESBを選ぶには
Kai Wähner 2013年4月15日 午後9時29分
デザインパターンの自動化
Gael Fraiteur and Yan Cui 2013年3月26日 午前2時34分
こんにちは
コメントするには InfoQアカウントの登録 または ログイン が必要です。InfoQ に登録するとさまざまなことができます。アカウント登録をしてInfoQをお楽しみください。
あなたの意見をお聞かせください。