テクマトリックスは、米Parasoftが開発したJava対応テスト自動化ツール「Jtest 2024.1」の販売を8月28日に開始した。
Jtestは、静的解析と単体テスト支援によってJavaソースコードの品質可視化と単体テストの効率化を強力にサポートするJava対応テスト自動化ツール。
静的解析では、コーディングルール解析とフロー解析という2種類の解析方法で、ソースコードに潜む問題点を指摘する。コーディングルール解析では、4000個超のルールを通じてソースコードを検証し、プログラム中に存在する問題の未然防止や保守性向上の支援を行う。フロー解析では、クラスやパッケージを横断する膨大な数の処理フローの中から、リソースリーク、セキュリティ脆弱性といったバグの可能性が潜む特定のフローを検出する。
さらに単体テスト支援では、Java単体テスト用オープンソースフレームワークであるJUnitにおいて利用可能なテストテンプレートやモックを自動作成し、単体テストにかかる工数の削減につなげる。さらに、Webブラウザ上でさまざまな情報をダッシュボード表示するレポーティング機能も備えており、リモートワーク業務下でもプロジェクトメンバー間で効率的なソースコードの品質レビューができるようにする環境を提供する。
今回、販売が開始されたJtest 2024.1では、OpenAIおよびAzure OpenAIとの連携機能が新たに搭載され、静的解析や単体テストの結果に対して具体的な解説や修正方法の提示を依頼可能になった。
あわせて、生成AIに修正方法を問い合わせることによって、なぜ違反が検出されたのか、コードの何が悪いのかについて、実コードに合わせた具体的な解説を参照できるようになり、どうするべきか、実際のコードを使って修正方法が解説されるので、違反を防ぐだけではなく開発者の理解を助け、技術力の向上にもつながる。
さらに、生成AIとの連携によって、既存テストコードのパラメータライズテストへの変換、エラーケースや境界値の追加などが、簡単な操作で実行可能になったほか、プロンプトの編集によるテストケースの改善にも対応する。
ほかにも、単体テストアシスタント機能が生成する、JUnitのテストクラスやテストメソッドのテンプレートを定義するための単体テストテンプレート機能や、必要なテストだけを実行できるようにするテスト影響分析機能が追加された。また、ソフトウェアの脆弱性を識別するための共通脆弱性タイプ一覧であるCWE(Common Weakness Enumeration)のver.4.14や、OWASP API Security Top 10-2023といった18種類のセキュリティコンプライアンスに対応するとともに、Android Kotlinプロジェクトのテスト実行およびカバレッジ計測がサポートされている。
レポーティング機能であるParasoft DTP 2024.1では、CWE ComplianceアーティファクトでCWE 4.14がサポートされたほか、API固有のセキュリティ脆弱性を定義しているOWASP API Security Top 10の2023も追加された。あわせて、機械学習機能によって類似の違反が修正、抑制されたかどうかの履歴に基づいて、推奨事項の取得が可能になるとともに、違反を含むメソッドのソースコードと既知のセキュリティ脆弱性を持つソースコードとの類似性を定量的に計測する、生成AIとの連携機能を利用したCVEマッチ機能が追加されている。
対応OSは、64ビットWindows(Windows 11/10、Windows Server 2022)、64ビットLinux(Linux glibc 2.12以降)。
この記事は参考になりましたか?
- この記事の著者
-
CodeZine編集部(コードジンヘンシュウブ)
CodeZineは、株式会社翔泳社が運営するソフトウェア開発者向けのWebメディアです。「デベロッパーの成長と課題解決に貢献するメディア」をコンセプトに、現場で役立つ最新情報を日々お届けします。
※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です