Parasoft Jtest 2024.1 がリリースされました。
このリリースの主な変更点は以下のとおりです。
- OpenAIおよびAzure OpenAIとの連携機能を搭載
- 単体テスト運用のための改善
- セキュリティコンプライアンスルールを追加
- Android Kotlinのサポート
- DTP機能の強化
- その他の変更点
詳細は以下をご覧ください。
OpenAIおよびAzure OpenAIとの連携機能を搭載
静的解析や単体テストの結果に対し、具体的な解説や修正方法の提示を依頼できるようになりました。
※Jtestの生成AIとの連携機能にはOpenAIおよびAzure OpenAIの利用契約は含まれておりません。利用者は個別に契約する必要があります。
静的解析違反の推奨する修正案を生成
静的解析で多くの違反が検出された場合、開発者は違反の調査やコード修正に多くの時間と労力を費やす必要がありますが、生成AIとの統合により、違反修正の効率化を実現します。
これにより、新しいコードの開発や、ソフトウェアの全体的なコード品質、セキュリティ、安全性、信頼性の向上など重要な作業に集中することができます。
単体テストケースの改善案の生成
既存のテストコードをパラメータライズテストへ変換、エラーケースや境界値のテストを追加するなど、テストケースの改善が可能です。標準で提供されている改善のタイプに加えて、開発者が入力したプロンプトに基づいてテストコードを改善することもできます。
これにより、開発者はアプリケーションに必要なテストの改善を効果的に行い、カバレッジの向上、さらには開発プロセスの品質と効率性の向上を実現します。
単体テストアシスタント運用のための改善
単体テストテンプレート機能
単体テストアシスタント機能が生成する JUnit のテストクラスやテストメソッドのテンプレートを定義するための単体テストテンプレート機能のサポートを開始しました。
共通のベースクラスを実装させたり、決まった setupメソッドを追加したりといった共通の処理をテンプレート化することが可能になりました。
テスト影響分析機能
テスト影響分析は、必要なテストだけを実行可能にする機能です。Jtest がソースコードを監視してコード修正によって影響を受けるテストケースだけを自動的に選択して実行したり、カバレッジを計測したりすることができます。
また、メソッドを修正した場合はメソッドレベルで関連するテストケースを検出して、必要なテストケースだけを実行します。これにより、テスト実行時間とテスト実行漏れの削減に貢献します。
セキュリティコンプライアンスルールを追加
ソフトウェアの脆弱性を識別するための共通脆弱性タイプ一覧である CWE(Common Weakness Enumeration)のver.4.14やOWASP API Security Top 10-2023といった18種類のセキュリティコンプライアンスに対応しました。
- CERT for Java
- CERT for Java Guidelines
- CWE 4.14
- CWE Top 25 2023
- CWE Top 25 2022
- CWE Top 25 + On the Cusp 2023
- CWE Top 25 + On the Cusp 2022
- DISA-ASD-STIG
- HIPAA
- OWASP API Security Top 10-2019
- OWASP API Security Top 10-2023
- OWASP ASVS 4.0.3
- OWASP Top 10-2021
- OWASP Top 10-2017
- PCI DSS 4.0
- PCI DSS 3.2
- UL 2900
- VVSG 2.0
さらに、コンプライアンスパッケージを導入することによりJtest による静的解析の結果から、今回新たに追加されたCWE 4.14や、API 固有のセキュリ脆弱性を定義している OWASP API Security Top 10 2023に則った遵守サマリーレポートや逸脱のレポートをParasoft DTP 上からいつでも確認できるようになります。
ガイドラインの遵守状況の説明責任を果たすことが容易になるだけでなく、未遵守箇所を早期に特定し必要な措置を講ずることにより、欠陥のあるソフトウェアに関連するビジネスリスクを排除することが可能になります。
※セキュリティコンプライアンスルールによる解析には、「セキュリティコンプライアンスパック」オプション(別売)が必要です。
Android Kotlinのサポート
Gradleビルドに基づいて、JavaおよびKotlinで作成されたAndroidプロジェクトの単体テストの実行とカバレッジ計測ができるようになりました。
DTP機能を強化
機械学習機能により、類似の違反が修正、抑制されたかどうかの履歴に基づいて推奨事項の取得が可能になりました。
さらに生成 AI との連携機能を利用した CVE マッチ機能では、違反を含むメソッドのソースコードと既知のセキュリティ脆弱性を持つソースコードとの類似性を定量的に計測します。
※Parasoft DTPのOpenAI連携機能にはOpenAIの利用契約は含まれておりません。利用者は個別に契約する必要があります。
その他の変更点
- Java21 のサポートを開始しました。
- Gradle 8.7 のサポートを開始しました。
- Junit 5 の @Timeout アノテーションのサポートを開始しました。
- DTPの違反エクスプローラーに表示されたデータをCSVファイルにエクスポートできるようになりました。
- DTPへテスト結果パブリッシュ時に指定したプロジェクトが存在しない場合、自動で作成する様になりました。事前にプロジェクトを作成しなくてもDTPへ結果をパブリッシュ可能です。
最後に
Jtest をもっと知りたい・試してみたいという方のために、無償のセミナーと体験版をご用意しています。是非ご利用ください。