テクマトリックス、自動テストツールの最新版「Jtest/SOAtest 9.0」
実行時エラー検出機能の追加など大幅強化
代表取締役社長の由利孝氏 |
テクマトリックス株式会社は8月31日、米国Parasoft Corporationが開発した自動テストツールの最新バージョンとして、Java対応自動テストツール「Parasoft Jtest 9.0(以下、Jtest 9.0)」日本語版と、SOAやWeb技術をベースとしたアプリケーションシステムを支援するテストツール「Parasoft SOAtest 9.0(以下、SOAtest 9.0)」を発売した。出荷開始は9月30日を予定している。
「Jtest」は、テスト工数の大幅削減とセキュアで高品質なJavaアプリケーションの開発をサポートするJava対応自動テストツール。新バージョンについて代表取締役社長の由利孝氏は、「Jtestは、これまでに国内で約4000ライセンスの販売実績をもち、Javaアプリケーションの単体テストおよび静的解析ツールとしてデファクトスタンダードとなっている。今回の新バージョンでは、実行時エラー検出機能やGoogle Androidへの対応など、非常に大きな機能強化を実施した。当初はもう少し早い時期にリリースする予定だったが、機能を充実させたことで、このタイミングでの投入となった」と説明した。
一方、「SOAtest」は、セキュアで信頼性の高いWebアプリケーションシステムを開発するためのテストツール。「SOAtestは、国内で200ライセンスの販売実績をもっている。従来までは、Webサービスの相互運用性テストや機能テストが中心だったが、新バージョンでは、Webアプリケーションの機能テストや負荷テストを行うツール『WebKing』の機能をすべて統合し、大幅な機能拡充を図った」(由利氏)という。
また、「Jtestとの連携機能を強化しており、テスト実行時にサーバー側のJavaアプリケーションの実行時エラーを検出できるようになった。今回リリースする2製品を組み合わせて利用することで、WebアプリケーションおよびJavaアプリケーションに対して、より総合的なテスト環境を実現する」(由利氏)としている。
システムエンジニアリング事業部ソフトウェアエンジニアリング営業部の石井加奈子氏 |
具体的な新機能としては、まず「Jtest 9.0」では、さらなる品質向上と開発工数の削減を可能にする「実行時エラー検出機能」(オプション)を追加した。これにより、従来の単体テストレベルでは検出が難しかったスレッドに関するデッドロックの問題やアプリケーションのクラッシュにつながるエラーを検出できるようになった。
「単体テストモードでは、既存のJUnit形式の単体テストケース、もしくはソースコードベースでJUnitを自動生成し、実行しながら実行時エラーを検出し、レポートする。また、アプリケーションモードでは、実際のアプリケーションを実行しながらモニタリングし、実行時エラーをレポートする」(システムエンジニアリング事業部ソフトウェアエンジニアリング営業部の石井加奈子氏)という。
静的解析ルールを70個以上追加した点も、新バージョンの特徴だ。特に、携帯端末の実行環境である「Google Android」や、組み込みJava開発で有効な静的解析コーディングルール、また医療機関において患者情報の機密性、完全性、および可用性を維持するために定められた米国の法律「HIPAA:医療保険の相互運用性と説明責任に関する法律」に対応したルールセットを搭載。これにより、一般的なJavaアプリケーションの開発だけでなく、組み込みJavaアプリケーションの開発や医療業界のための品質検証にも対応可能となった。
実行時エラー検出機能(オプション) | 静的解析ルールに「Google Android」などを追加 |
さらに、単体テストの機能向上を図っており、実行したテストケースを「テストケースエクスプローラー」からツリー形式で確認できるようになった。失敗したテストケースは、「テストケースエクスプローラー」からタスクを表示することにより、発生した例外の詳細情報をすぐに確認することができる。また、「テストケースエクスプローラー」から手動でテストケースの追加や既存のテストデータのインポートが行えるため、効率的に作業を行うことができる。
このほか、フロー解析機能「バグ探偵」を強化し、解析スピードを向上。従来のバグ探偵は、テストのたびにコード全体を解析する必要があったが、新バージョンでは、前回解析時のコードとの差分だけを解析できるインクリメンタル解析モードを追加した。これにより、短時間で解析を完了できるようになった。
単体テスト機能の強化 | インクリメンタル解析モード |
「SOAtest 9.0」の新機能で注目されるのは、Webアプリケーションテスト機能を新たに搭載したことだ。「従来は、SOAP通信を中心としたWebサービス連携の機能・負荷テストを対象としていたが、この機能によりWebアプリケーションコンテンツとWebサービスとのデータ連携が発生するアプリケーションなどでも、実際の本番環境に近いテストを実現可能となった。テスト作成者が面倒なスクリプトを記述する必要はなく、ブラウザ上のアプリケーション操作をキャプチャしてテストスイートを自動生成する」(石井氏)という。
また通常、Webアプリケーションテストでは、クライアント側の振る舞いのみを対象とした検証を行うが、「Jtest Connectオプション」によって「Jtest 9.0」と連携することで、テスト実行時にサーバーサイドにあるモジュールのスレッドに関するデッドロックの問題やアプリケーションのクラッシュにつながる問題を検出できるようになった。これにより、Javaソースコード上の問題箇所を素早く特定でき、ソースコードの修正コストを大幅に削減可能となる。
Webアプリケーションテスト機能 | 「Jtest Connectオプション」による実行時エラー検出 |
このほかの新機能では、セキュリティ機能の強化として、SQLインジェクションやクロスサイトスクリプティングといったWebアプリケーション開発で重要なセキュリティ上の脆弱性検証に対応。さらに、SOAやWeb技術をベースとした分散開発で発生しがちなテストスケジュールの遅延を防止する「クライアント/サーバーシミュレーション機能」の搭載や、ブラウザ操作でキャプチャしたテストスイートを使用して負荷テストを実施できるなど負荷テスト機能の強化も図っている。
「Jtest 9.0」と「SOAtest 9.0」に共通する新機能としては、ソフトウェア開発プロセス管理ツール「Parasoft Concerto」との統合をサポートするタスクアシスタント機能を追加した。「Parasoft Concerto」のタスク管理機能をEclipse環境にシームレスに統合することができるため、開発者は使い慣れた開発環境から「Parasoft Concerto」で定義された要件(タスク)を参照し、ステータスを更新できる。
価格は、「Jtest Professional Edition Ver.9.0」が49万8000円(税別)、「Jtest Architect Edition Ver.9.0」が59万8000円(同)、「Jtest Server Edition Ver.9.0」が210万円(同)。実行時エラー検出機能オプションについては、「Architect Edition」と「Server Edition」には無償で含まれており、「Professional Edition」は有償での提供となる。
「SOAtest Professional Edition Ver.9.0」は59万8000円(税別)、「SOAtest Architect Edition Ver.9.0」は69万8000円(同)、「SOAtest Server Edition Ver.9.0」は210万円(同)。実行時エラー検出機能(Jtest Connectオプション)については、「Server Edition」には無償で含まれ、「Professional Edition」と「Architect Edition」には有償で提供する。
テクマトリックスでは今後、「Jtest 9.0」と「SOAtest 9.0」の国内での販売、マーケティング、日本語化、ユーザーサポートなどの活動を展開するとともに、両製品を活用したソースコード解析や機能・負荷テストといった各種支援サービスも積極的に提供していく考えだ。