テクマトリックスは2004年1月20日,Java単体テスト・ツールの新版「Jtest 5.0」をこの春に出荷すると発表した。開発元は米ParaSoft。新版はオープンソースの統合開発環境「Eclipse」上で稼働する,専用プラグイン製品であることが特徴だ。

 旧版の4.5までは,単体で稼働させることが基本。Eclipse用のプラグインも提供していたが,EclipseのメニューからJtestを起動できる程度の機能だった。これに対して,新版ではEclipseに追加して利用するプラグイン製品となった。Eclipseに完全に統合されるため,Eclipseが本来備える,コンパイル・エラーに対するソースコードの即時修正機能などを流用できるようになった。

 稼働するEclipseのバージョンは「2.1.1」。Eclipseベースの統合開発環境である,米IBMのWebSphere Studio Application Developer 5.1以上でも稼働する。なお旧版でEclipse同様に連携していた,米BorlandのJBuilderやTogether Control Center向けには,5.0の次期版で専用のプラグイン製品を提供する計画。ただし,「(同様に連携していた)米IBMのVisualAge for Java用のプラグインは製品化する計画がない」(テクマトリックス アドバンストシステム営業部 ASQソリューション営業課 中村智子氏)。

 テスト機能の強化では,まず,プログラムの内部コードを静的解析する「ホワイトボックス・テスト」機能において,プログラムを解析するための「ルール」を約60個追加し,合計で390個とした。また,仕様が正しく実装されていることを確認するための「ブラックボックス・テスト」においては,メソッドに対して事前条件や事後条件を記述するという標準的手法「Design by Contract(契約による設計)」についてのテンプレートを,ソースコードへjavadocコメントとして自動的に挿入できるようになった。

 昨今のJava開発では,XP(ExtremeProgramming)が提唱する「テスト・ファースト」が普及してきた。単体テスト用フレームワーク「JUnit」を利用してテスト・クラスを先に記述し,その後にテストを満たすロジックを記述する開発スタイルだ。このような動きを受け,Jtest 5.0では,自動生成したテスト・ケースをすべてJUnitのテスト・クラスに出力するようになった。また,メモリー・リークを監視する機能も備えた。newによるインスタンス生成などのメモリー・イベントを監視し,テスト終了後にメモリーの開放し忘れをレポートする。

 新版では,従来は1種類であった製品を,以下の3つのエディションに分けた。すべての機能を利用できる「Server Edition」(税別価格150万円),テスト結果レポートの作成機能に制限のある「Architect Edition」(同59万8000円),Architect Editionの制限に加え,静的解析のコーディング・ルールを作成/編集できない「Professional Edition」(同44万8000円)。稼働OSはWindows 2000 Professional/XP Professional。なおテクマトリックスによれば,「通常の開発者にはProfessional Editionで十分」(中村氏)という。

(井上 英明=日経システム構築)