連載
» 2006年07月29日 00時00分 公開

Eclipseで使えるテストツールカタログ(4):Eclipseで使える動的テスト支援ツール (2/4)

[珍田晋之介, 岡本隆史,株式会社NTTデータ]

テストコードを編集せずにテストデータの編集が可能:TPTP

ツール名:TPTP 4.1.0.1

URL:http://www.eclipse.org/tptp/

ライセンス:EPL


 TPTP(Test and Performance Tools)はEclipse環境においてテストを総合的に支援するテスティングフレームワークです。具体的には、以下の4つのプロジェクトが提供する機能によって構成されています。

No. プロジェクト名 説明
1 TPTP Platform TPTPのプロジェクトにおける共通インフラ機能
2 Monitoring Tools モニタリングやログ解析の機能
3 Testing Tools テストの編集・実行などの機能
4 Tracing and Profiling Tools トレースやプロファイル機能
表1 Eclipse TPTPを構成するプロジェクト一覧

 プロジェクト一覧からも分かりますが、TPTPを利用することで単体テスト、結合テスト、性能テストなどにおいて同じGUIインターフェイスを通したテストを実現することができます。このため、いくつかの異なるテストツールを複合的に使用するよりも、テストの効率化が容易であるといったところが優れているツールです。

 TPTPは、さまざまなテスト機能を提供していますが、その中でも今回は「Testing Tools」プロジェクトが提供するJUnitテストコードの作成・実行に注目しながら解説していきます。

特徴

 TPTPによるJUnitテストコードの作成・実行における特徴は以下になります。

・GUIエディタでのテストスイートの編集・管理

 テストエディタと呼ばれるGUIエディタを通してテストクラスおよびテストスイートの編集・管理が可能です。TPTPを利用したテストコードの生成では、テストコードを実行するために必要となるリソースや実行環境、配備などについて定義したテスト資材を作成する必要があります。テストエディタを使用することで、これらのテスト資材を簡単に作成することができます。

・テスト結果をHTMLレポートとして出力

 TPTPはテスト結果をテストログファイルとして作成します。このテストログファイルを基に、テスト結果の統計を作成し、HTMLレポートとして出力する機能が提供されています。

・リモートホストでのテスト実行

 TPTPは後述するエージェントコントローラをテストの実行環境とするため、ローカルホスト上でのテストだけでなく、エージェントコントローラが起動しているリモートホストでのテスト実行を簡単に行うことができます。

・DataPoolによるテストデータの管理が可能

 TPTPはテストデータを管理するDataPoolという機能を提供します。DataPool機能はテストデータの管理をDataPoolのGUIエディタか、記号CSVファイルを用いて行うことができます。これによりテストコードを変更せずにテストデータを編集することが可能になります。

入手方法

 TPTPを利用するには、下表に示したプラグインと、エージェントコントローラが必要となります。

名称 ファイル名
TPTPランタイム4.1.0.1 tptp.runtime-TPTP-4.1.0.1.zip
エージェントコントローラ tptpdc.win_ia32-TPTP-4.1.0.1.zip
EMF2.1.0 emf-sdo-SDK-2.1.0.zip
XSD2.1.0 xsd-SDK-2.1.0.zip
表2 Eclipse TPTP実行に必要なプラグイン&ソフトウェア一覧

 TPTPランタイム、EMF、およびXSDプラグインのインストールは、Eclipseのアップデート機能を用いたインストールを行います。

・エージェントコントローラのインストール

 下記のサイトから各OSに合わせたアーカイブファイルをダウンロードします。

 今回は、Windows環境のインストールについて説明します。

1.アーカイブファイルの展開とWindows環境変数RASERVER_HOMEの設定

 ダウンロードしたアーカイブファイルを任意の場所に展開し、フォルダ内のwin_ia32がある場所をWindows環境変数RASERVER_HOMEとして定義します。

(例:RASERVER_HOME=C:\tptpdc\win_ia32)。

2.serviceconfig.xmlの作成

 コマンドプロンプトを起動し、%RASERVER_HOME%\binフォルダへ移動した後、SetConfig.batを実行します。

 以下の設定を対話形式で進めていきます。

  • エージェントコントーラが使用するjava.exeの絶対パス
  • アクセスを許可するホストの設定
  • JBossアプリケーションサーバのホームディレクトリ
  • JOnASを利用する場合のホームディレクトリ

 今回説明するTPTPのJUnitテストの作成においては、すべてデフォルト設定(すべての設定において[Enter]ボタンを入力)としてください。

 上記の操作が終了すると、%RASERVER_HOME%\configフォルダにserviceconfig.xmlが作成されます。

3.%RASERVER_HOME%binフォルダをWindowsの環境変数PATHに追加

 エージェントコントローラを起動できるようにWindows環境変数PATHに%RASERVER%\binを追加します。

4.エージェントコントローラをWindowsサービスに追加(任意)

 毎回手動でエージェントコントローラを起動したくない場合には、コマンドプロンプトから以下のコマンドを入力し、Windowsサービスとして登録します。

C:\>managerservice add “TPTP Agent Controller” %RASERVER_HOME%
注:上記コマンド入力における、TPTP Agent Controllerは任意の名前を指定することができます。

 正しく登録されたことを確認するには、[コントロールパネル]→[管理ツール]→[サービス]から確認を行ってください。

使い方

 TPTPを用いたJUnitテストコードの作成は、以下の手順にて行います。

[作成手順]

1.テストスイートファイルの作成とテストコードの生成

2.テスト実行
 2.1 ローカルホストでのテスト実行
 2.2 リモートホストでのテスト実行(テスト資材(Artifact、Location、Deployment)の作成)

3.テスト結果の確認

・テストスイートファイルの作成とテストコードの生成テストスイートファイルの作成とテストコードの生成

 [ファイル]メニューの[その他]を選択して、ウィザード選択画面を開き、[Test]フォルダ配下の[TPTP JUnit Test]を選択し[次へ]ボタンを選択します。テストスイートの作成ウィザードが表示されるので、以下の順で入力を行います。

  • テストコードのクラス名とパッケージを入力し、[次へ]ボタンを押下
  • テストスイートの作成先とテストスイート名の入力、[次へ]ボタンを押下
  • テストスイートの概要説明を入力し、[終了]ボタンを押下

 以上の入力が完了すると、図1に示すテストスイート編集エディタが表示されます。ここで入力した内容が正しいかどうか再度確認してください。

図1 テストスイート編集エディタ画面 図1 テストスイート編集エディタ画面

 次に図1のテストスイート編集画面にある[Test Methods]タブを押下して、テストメソッドを作成します。図2で示した[Add]ボタンを押下し、テストメソッドを作成してください。

図2 テストスイート編集画面(テストメソッドの作成) 図2 テストスイート編集画面(テストメソッドの作成)

 最後に図1のテストスイート編集画面にある[Behavior]タブを押下して、テストの実行順序を指定します。画面中の[Add]ボタン、または[Insert]ボタンを押下すると、[invocation]と[loop]の選択を求められます。invocationはテストメソッドを指定する場合に使用します。loopは繰り返したいテストメソッドの呼び出しを指定する場合に使用します。

図3 テストメソッドの実行順序の設定画面 図3 テストメソッドの実行順序の設定画面

 上記まで完了したら[ウィンドウ]→[パースペクティブを開く]→[その他]から[Test]を選択し、テストパースペクティブを表示します。表示したテストパースペクティブの画面左上に表示されるTest Navigatorにおいて、テスト実行ファイルを右クリックし、コンテキストメニューの[Open Source Code]を選択します。テストコードが表示されるので、テストメソッドの内容を定義します。

・テスト実行

 TPTP JUnitテストを実行するには、ローカルホスト上でのテスト実行とリモートホスト上での実行のどちらかを選択します。リモートホスト上でのテスト実行の場合には、エージェントコントローラを介してテストを実行するために必要なテスト資材(Artificate、location、Deployment)の作成が必要です。リモートホスト上でのテストの実行方法については、TPTPのマニュアルを参照ください。

 今回はローカルホスト上でのテスト実行について説明します。ローカルホスト上でのテスト実行では、テストパースペクティブの画面左上に表示されるTest Navigatorにおいて、テスト実行ファイルを選択した状態で、右クリックを行い、コンテキストメニューの[実行]→[Test]を選択し、テストを実行します。テスト実行結果は拡張子に.executionが付いたファイルとして生成されます。Test Navigator上では図4のように表示されます。

図4 テスト実行結果 図4 テスト実行結果

・テスト結果の確認

 複数のテスト実行ログを基に、テストの実行結果の統計をHTMLレポートとして作成することができます。Test Navigatorにおいて、テスト実行ファイルを選択した状態で、右クリックを行い、コンテキストメニューの[Report]を選択します。New Reportという名前のダイアログが表示されるので、[Test Pass Report]を選択し、以下の設定を入力します。

  • レポートを出力する親フォルダの指定とテストレポート名を入力し、[次へ]ボタンを押下
  • 複数のテスト実行ログからどこまでを範囲としてレポート作成をするかテスト実行結果に記載された日付を入力し、[終了]ボタンを押下

 すると、図5のようなテスト実行結果レポートを作成します。

図5 テスト実行結果レポート 図5 テスト実行結果レポート

Copyright © ITmedia, Inc. All Rights Reserved.

RSSについて

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

メールマガジン登録

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