Java対応静的解析・単体テストツール Jtest

Javaシステム開発効率化、ソースコード品質向上のためのJavaテストツール

Jtestは、テスト工数の大幅削減とセキュアで高品質なJavaシステムの開発を強力にサポートするJava対応テストツールです。4,000個以上のコーディング規約をもとにソースコードを静的に解析し、プログラムの問題点や処理フローに潜む検出困難なエラーを検出します。さらに、JUnitを用いた単体テストについて、作成、実行、テストカバレッジ分析、テスト資産の管理といった単体テストに係る作業をサポートし、単体テストの効率化を促進します。

  • ソフトウェア品質保証
  • ソフトウェア品質向上
  • ソースコード解析
  • テストカバレッジ
  • テスト自動化
  • 単体テスト

Java対応静的解析・単体テストツール 「Jtest」

Jtestは、Javaコードの品質と安全性を高水準で確保する静的解析ツールです。
コーディング規約違反や潜在バグに加え、OWASP Top 10・PCI DSS などの観点に基づくセキュリティリスクを網羅的に検出。IDEやCI/CDと連携し、早期是正と継続的な品質向上を支援します。さらに、JUnitテストコード生成の支援やアプリケーションカバレッジの計測にも対応し、Java開発の品質強化を総合的にご提供します。

Java開発でこんな経験はありませんか?

  • 致命的なバグがプロジェクトの終盤にみつかる
  • コードレビューの質を向上、効率化したい

  • スキルがなくてJUnitテストが始められない
  • JUnitテストは作成、メンテナンスに工数がかかりすぎる

  • テスト不足がないか不安
  • システムテストの品質を定量的に評価したい

  • 検出した静的解析違反の修正を効率化したい
  • 生成AIを使ったコードの改善に興味がある

静的解析・フロー解析

コードレビューを自動化して致命的なバグを早期発見​

  • 約4,000種類のコーディング規約ルールを搭載
  • ビルトインテストコンフィギュレーションで解析を即時実行
  • 独自のコーディング規約ルールを作成、ルールのカスタマイズに対応
  • 複数メソッド、クラスにまたがって発生する致命的なバグを自動検出
  • OWASP Top10、PCI DSS、CWE Top25 などのセキュリティ脆弱性ルールが搭載
  • メソッド数、オブジェクトの結合度、サイクロマティック複雑度など豊富なメトリクスルールでコードの品質を可視化

大規模・複雑化したプログラムで、不具合をみつけるのは非常に困難な作業です。特にNullPointerExceptionや、クロスサイトスクリプティングなどアプリケーションの致命的な不具合に直結するコードのバグは、複数のクラス・メソッドにまたがる「特定のパス」を実行したときにのみ発生することも多く、従来の目視レビューで発見するのは不可能に近いとも言えます。Jtest の静的解析・フロー解析機能では約4,000 種類のルールに従ってJavaソースコードの静的解析を自動化、違反しているコードをレポートします。

また、Jtest には PCI DSSやOWASP TOP 10、CERTといった国際的なセキュリティ基準をチェックするルールが搭載されており、セキュリティに特化したコードのチェックも自動化することができます。

Jtest を利用した静的解析の自動化によるコードレビューを効率化し、従来の目視によるコードレビューでは仕様の準拠チェックなどの高度なレビューに注力することでコードレビュー全体の質を向上することができます。

コードレビューを自動化して致命的なバグを早期発見​

単体テストアシスタント

JUnitテストコード作成支援機能で工数を33%削減

  • JavaコードからJUnitテストコードのテンプレートを自動生成
  • テスト実行結果からアサーションのテンプレートを作成
  • モック作成機能で、複雑なオブジェクトを含むコードのテストコードを効率的に作成
  • 単体テストアシスタントで、カバレッジ計測を効率化

単体テストアシスタントは、メソッド単位でテストを行い品質の低下やバグの混入を防止できるため、ソフトウェアの品質を確保するうえでとても優れたテストです。さらに、テスティングフレームワークJUnitを利用することはテストを自動化して効率化できたり、テストコードをエビデンスとして残したり、一度作成したテストコードを回帰テストで利用できるなどのメリットがあります。一方、JUnitテストコード作成やメンテナンスの工数が大きな障壁となってJUnitの導入がうまくいかないという声も多く耳にします。

Jtestには、JUnitテストコード作成や実行、メンテナンスを効率化するための単体テストアシスタント機能が搭載されており、JUnitを利用した単体テストに慣れていない開発者でもすぐに単体テストを始めることが可能です。単体テストアシスタント機能により平均で33%の工数削減となった検証結果もあります。

JUnitテストコード作成支援機能で工数を33%削減

 

アプリケーションカバレッジ計測

システムテストのカバレッジ計測でテストの抜け漏れを可視化

  • システムテストで実行された行を可視化、テスト不足を解消
  • カバレッジレポートをそのままエビデンス化

システムテストは、開発の後工程で、要件や仕様書で定められた機能が正しく実装されているかを確認するために行います。一般的に、業務に合わせてさまざまなデータのパターンやテストシナリオを用意して手動によるGUI操作や機能テスト自動化ツールを使って行われます。
しかし、十分なテストデータやテストシナリオを用意したと思っても、実行されたシステムテストですべての機能をテストできているとは限りません。 例えば、システムのリリース後に非常にシンプルなテストで検出されるはずだった不具合が見つかって困った経験はありませんか?

Jtestのアプリケーションカバレッジ計測機能では、システムテスト中にアプリケーションのソースコードカバレッジを計測することができます。実行したテストシナリオ毎または全体で、テストによってソースコードのどこが実行されたのか、アプリケーションをどのくらいカバーしたのか、といったテストの網羅性を可視化してシステムテストの不足を確認、テストの品質を定量的に評価できます。

システムテストのカバレッジ計測でテストの抜け漏れを可視化

 

生成AIとの連携

生成AIとの連携で静的解析違反の修正と単体テストの改善を効率化

  • GitHub Copilot Chat連携で静的解析違反の修正案を自動生成
  • コードに合わせた違反の分析と修正案を自動的に生成

静的解析ツールの導入を成功させる上で大きな障害となるのは、大量に検出した違反の確認と修正に多くの時間が必要とされることです。特に大規模なアプリケーションや古いコードが残っているレガシーなアプリケーションでは、静的解析で検出される違反の数が多くなる傾向があります。
JtestをGitHub Copilot ChatやOpenAI、Azure OpenAI、および任意のLLMプロバイダーと統合することで、静的解析で検出した違反の解説とコードの修正案を生成することができます。これにより、開発者はソースコードの正確な修正を効率化することができます。
単体テストアシスタント機能では、パラメータライズテストへの変換、エラーケースや境界値テストの生成、実行に失敗したテストの修正など、アプリケーションに必要なテストの改善を効果的に行い、カバレッジの向上、さらには開発プロセスの品質と効率性の向上を実現します。

※GitHub Copilot Chatとの連携はVisual Studio Code拡張機能限定でご利用いただけます。
※OpenAI REST API と互換性があり、チャットコンプリーションエンドポイントを持つLLMのみをサポートします。
※Jtestの生成AIとの連携機能にはGitHub Copilot Chat、OpenAI、Azure OpenAI、および任意のLLMの利用契約は含まれておりません。利用者は個別に契約する必要があります。

Parasoft社製品について

テクマトリックスは、Parasoft社製品の国内総販売代理店として、ソフトウェア開発に携わるすべてのお客様の課題を解決する最適なツールとして、Jtestの販売、マーケティング、ユーザーサポートを実施しています。

Parasoft

Java対応静的解析・単体テストツール Jtestに
関するお問い合わせ

  • テクマトリックス株式会社
    東京本社

    ソフトウェアエンジニアリング事業部

    03-4405-7853

メールでのお問い合わせ
parasoft-info@techmatrix.co.jp

お問い合わせ

製品についてやテクマトリックスについてなど、
こちらよりお気軽にお問い合わせいただけます。