Parasoft Jtest 2020.1 がリリースされました。
このリリースでは、レポーティング機能にAI技術を活用した分析機能が搭載されました。静的解析機能で検出された問題点をAIが分析し、修正すべき問題の優先順位付けを行うことで、人手による静的解析結果のレビュー時間に寄与します。
静的解析機能では、セキュリティに関する解析ルールが多数追加され、CWE List Version 4.0への対応などセキュリティ脆弱性のルールが強化されました。
単体テスト支援機能では、単体テストのカバレッジ計測においてカバーされてない(実行されていない)行をピンポイントでカバーするテストケースの自動生成と、カバーするためのヒントを提示する機能が搭載されました。これにより、テスト対象のソースコードに詳しくない開発者や、JUnitに不慣れな単体テスト実施者を強力に支援します。
詳細は以下をご覧ください。
AI 機能により、静的解析の結果に優先度を付けることが可能に
AI 機能によって、登録された静的解析違反を修正するべきかどうかの予測が行えるようになりました。新しい静的解析データに対して、最初に修正する必要のある違反をParasoft DTP が予測するため、人による仕分け作業が軽減され、違反の修正プロセスがスピードアップします。
この機能は、”修正” および “抑制” として分類された違反を分析し、検出したパターンに基づいて予測モデルを作成します。モデルが作成された後、Parasoft DTP はビルド内のどの違反に修正アクションを割り当てるかを予測します。違反のレビューとアクションの割り当てを続けることで、予測モデルは徐々に改善されていきます。 AI 機能は学習データを積み重ねることでプロジェクト特有の習慣を考慮した予測ができるようになります。
セキュリティコンプライアンスのルールを追加
- OWSP Top 10 -2017
- PCI DSS 3.2
- CERT for Java
- CWE 4.0
- CWE Top 25 2019
- CWE Top 25 +On the Cusp 2019
- UL 2900
コンプライアンスの遵守を促進するパッケージを更新
Jtest のCWE Compliance アーティファクトでCWE List Version 4.0 がサポートされるようになりました。コンプライアンスパッケージを導入することにより、Jtest による静的解析の結果からOWASP Top 10 2017 やCWE 4.0、CWE Top 25 2019 に則った遵守サマリーレポートや逸脱のレポートをいつでも確認できるようになります。
ガイドラインの遵守状況の説明責任を果たすことが容易になるだけでなく、未遵守箇所を早期に特定し必要な措置を講ずることにより、欠陥のあるソフトウェアに関連するビジネスリスクを排除することが可能になります。
静的解析のパフォーマンスを改善
Jtest のプロジェクト関連情報の収集と再利用が効率化され、グローバル スコープで解析されるルールの実行時間が前バージョンに比べて約3 分の1 に短縮されました。(静的解析のルールやソースコードの状態によって、短縮の割合は異なります。)
未カバー行(実行されていない行)をカバーするテストケースの作成を支援
Jtest の単体テスト支援機能を使用してテストを実行した際に、未カバー行(実行されなかった行)に対して、テスト対象のソースコードを分析し、その行を実行するために必要なテストケースを自動生成したり、テストケース作成に役立つヒントを提供したりするようになりました。
これにより、テスト対象のソースコードに詳しくない、あるいは、JUnit に不慣れな場合でも、テストカバレッジの向上やテストケース作成の効率化を図れます。
JUnit 5 をサポート
JUnit 5 をサポートしました。JUnit 5 のテストを生成、実行してカバレッジ情報を収集できます。
JUnit 5 のベストプラクティスをチェックするための静的解析ルールセットも追加され、JUnit 5 の実装に慣れていない場合でもJUnit 5 のルールに沿った実装を行えます。
最後に
Jtest をもっと知りたい・試してみたいという方のために、無償のセミナーと体験版をご用意しています。是非ご利用ください。
Parasoft Jtestについて
Java対応静的解析・単体テストツール Parasoft Jtest
Jtestは、テスト工数の大幅削減とセキュアで高品質なJavaシステムの開発を強力にサポートするJava対応テストツールです。1,000個以上のコーディング規約をもとにソースコードを静的に解析し、プログラムの問題点や処理フローに潜む検出困難なエラーを検出します。さらに、JUnitを用いた単体テストについて、作成、実行、テストカバレッジ分析、テスト資産の管理といった単体テストに係る作業をサポートし、単体テストの効率化を促進します。