このリリースには以下の拡張が含まれます。
リリース日: 2024 年 5 月 29 日
アップグレードに関する注意点
- DTP または License Server から Jtest 2024.1 のライセンスを取得するには、DTP または License Server 2024.1 が必要です。正常に製品のライセンスを取得するには、Jtest 2024.1 にアップグレードする前に DTP または License Server 2024.1 にアップグレードする必要があります。
- DTP および License Server には HTTPS 経由で接続する必要があります。HTTP はサポートされなくなりました。
テスト影響分析の拡張
- 影響を受けるテストを継続的に検出して実行できるようになりました。Jtest はテストの失敗およびカバーされた開発中のコードに関して自動的に通知を行います。「テスト影響分析」を参照してください。
- Jtest のテスト影響分析機能がより正確になりました。変更されたクラスではなく変更されたメソッドに基づいて影響を受けるテストが計算されるようになりました。また、コードの変更がロジックに影響を与えない場合は、影響を受けるテストとして検出されないようになりました。
- IDE で行われたローカルな変更に加えて、Git のコミット履歴の解析による変更されたメソッドの特定を含めて、より幅広い方法で影響を受けるテストが算出されるようになりました。設定の詳細については、「テスト影響分析」を参照してください。
単体テスト アシスタントの拡張
- テスト テンプレートが導入されました。テスト テンプレートを使用すると、テスト クラスの構造を制御し、ユーザー固有のテストに必要な共通設定を指定できます。テスト クラスおよびテスト メソッドのテンプレートを個別に設定できます。単体テスト アシスタントの設定でテンプレートを設定できます。「設定の構成」を参照してください。
- 変更されたメソッドに対するテスト作成機能が強化され、IDE で行われたローカルな変更に加えて、Git のコミット履歴を解析することで変更されたメソッドを特定できるようになりました。設定の詳細については、「テスト スイートの作成」を参照してください。
- Junit 5 の @Timeout アノテーションのサポートが追加されました。
OpenAI 統合
- フロー解析違反に対する推奨が OpenAI 統合によって拡張されました。
- OpenAI のレスポンスを中国語または日本語に翻訳できるようになりました。「AI を使用したテストの改善」を参照してください。
コード カバレッジの拡張
- マルチユーザー モードのアプリケーション カバレッジでのスレッド追跡のサポートが改善されました。
- IDE でのカバレッジ収集のパフォーマンスが改善されました。影響を受けるテストの実行時にカバレッジをモニターできるようになりました。
Android Kotlin のサポート
- Android Kotlin プロジェクトのテスト実行およびカバレッジ収集がサポートされました。
- テスト影響分析もコマンド ラインからの Android Kotlin テストの実行を試験的にサポートします。
Java 21 のサポート
Java 21 のサポートが追加されました:
- Jtest は Java 21 以前に準拠したコードの解析およびテストを実行できます。
- Jtest は Java 21 以前に準拠したコードに対して単体テストを作成できます。
セキュリティ コンプライアンス パックの拡張
CWE version 4.14 がサポートされ、いくつかのコンフィギュレーションが更新されました。下の「追加または更新されたテスト コンフィギュレーション」セクションを参照してください。
静的解析の拡張
- 単一行のフロー解析違反の表示が簡潔になりました。
- 一部の RuleWizard ルールのパフォーマンスが改善されました。「更新された静的解析ルール」を参照してください。
- いくつかのルールが Java 17 および 21 の構文をサポートするよう改善されました。「更新された静的解析ルール」を参照してください。
追加または更新されたテスト コンフィギュレーション
Security Compliance Pack が拡張され、以下のテスト コンフィギュレーションのサポートが追加されました。
- CWE 4.14
以下のテスト コンフィギュレーションが更新されました。
- CWE Top 25 2022
- CWE Top 25 2023
- CWE Top 25 + On the Cusp 2022
- CWE Top 25 + On the Cusp 2023
- Critical Rules
- Flow Analysis Fast
- Flow Analysis Standard
- Flow Analysis Aggressive
- OWASP ASVS 4.0.3
- UL 2900
- VVSG 2.0
以下のテスト コンフィギュレーションが削除されました。
- CWE 4.13
更新された静的解析ルール
以下のルールが更新されました。
ルール ID | 更新 |
---|---|
CODSTA.BP.PCF | パフォーマンスおよび Java 17 の構文との互換性が改善されました。 |
CODSTA.CIOC | Java 21 の構文をサポートするよう更新されました。 |
CODSTA.DINT | Java 21 の構文をサポートするよう更新されました。 |
CODSTA.EPC.CLNC | パフォーマンスおよび Java 17 の構文との互換性が改善されました。 |
CODSTA.OIM.CLONE2 | パフォーマンスおよび Java 17 の構文との互換性が改善されました。 |
CODSTA.ORG.AMOC | パフォーマンスおよび Java 17 の構文との互換性が改善されました。 |
CODSTA.ORG.DCI | パフォーマンスおよび Java 17 の構文との互換性が改善されました。 |
CODSTA.ORG.UNDPN | パフォーマンスおよび Java 17 の構文との互換性が改善されました。 |
CODSTA.POD.SMC | Java 21 の構文をサポートするよう更新されました。 |
CODSTA.READ.CCB | Java 21 の構文をサポートするよう更新されました。 |
CODSTA.READ.NSI | パフォーマンスおよび Java 17 の構文との互換性が改善されました。 |
CODSTA.READ.PCTOR | パフォーマンスおよび Java 17 の構文との互換性が改善されました。 |
CODSTA.READ.UATS | Java 21 の構文をサポートするよう更新されました。 |
EJB.CDP | パフォーマンスおよび Java 17 の構文との互換性が改善されました。 |
EJB.CNDA | パフォーマンスおよび Java 17 の構文との互換性が改善されました。 |
EJB.CNDF | パフォーマンスおよび Java 17 の構文との互換性が改善されました。 |
EJB.CRTE | パフォーマンスおよび Java 17 の構文との互換性が改善されました。 |
EJB.MDBC | パフォーマンスおよび Java 17 の構文との互換性が改善されました。 |
EJB.NFDC | パフォーマンスおよび Java 17 の構文との互換性が改善されました。 |
EJB.NFS | パフォーマンスおよび Java 17 の構文との互換性が改善されました。 |
EJB.PCRTE | パフォーマンスおよび Java 17 の構文との互換性が改善されました。 |
EJB.RILH | パフォーマンスおよび Java 17 の構文との互換性が改善されました。 |
EJB.RT | パフォーマンスおよび Java 17 の構文との互換性が改善されました。 |
EJB.RTC | パフォーマンスおよび Java 17 の構文との互換性が改善されました。 |
EJB.RTP | パフォーマンスおよび Java 17 の構文との互換性が改善されました。 |
EJB.THISARG | パフォーマンスおよび Java 17 の構文との互換性が改善されました。 |
EJB.THISRET | パフォーマンスおよび Java 17 の構文との互換性が改善されました。 |
EXCEPT.AIOC | Java 21 の構文をサポートするよう更新されました。 |
EXCEPT.NTERR | OWASP.2021.N5.NTERR の違反誤検出が修正されました。 |
FORMAT.APAREN | Java 21 の構文をサポートするよう更新されました。 |
FORMAT.CBRACE | Java 21 の構文をサポートするよう更新されました。 |
FORMAT.FCB | Java 21 の構文をサポートするよう更新されました。 |
FORMAT.OSPL | Java 21 の構文をサポートするよう更新されました。 |
FORMAT.SAP | Java 21 の構文をサポートするよう更新されました。 |
GC.AUTP | パフォーマンスおよび Java 17 の構文との互換性が改善されました。 |
GC.DUD | パフォーマンスおよび Java 17 の構文との互換性が改善されました。 |
GC.GC | パフォーマンスおよび Java 17 の構文との互換性が改善されました。 |
GC.GCB | パフォーマンスおよび Java 17 の構文との互換性が改善されました。 |
HIBERNATE.CAR | パフォーマンスおよび Java 17 の構文との互換性が改善されました。 |
HIBERNATE.UGNQ | パフォーマンスおよび Java 17 の構文との互換性が改善されました。 |
INIT.NFS | パフォーマンスおよび Java 17 の構文との互換性が改善されました。 |
INIT.SICUI | パフォーマンスおよび Java 17 の構文との互換性が改善されました。 |
JAVADOC.BT | Java 21 の構文をサポートするよう更新されました。 |
JAVADOC.ECTT | Java 21 の構文をサポートするよう更新されました。 |
JAVADOC.MISFORMAT | Java 21 の構文をサポートするよう更新されました。 |
JDBC.DSLV | パフォーマンスおよび Java 17 の構文との互換性が改善されました。 |
JDBC.SCSF | パフォーマンスおよび Java 17 の構文との互換性が改善されました。 |
JDBC.UDS | パフォーマンスおよび Java 17 の構文との互換性が改善されました。 |
JUNIT.CSUPER | パフォーマンスおよび Java 17 の構文との互換性が改善されました。 |
JUNIT.ISMTC | パフォーマンスおよび Java 17 の構文との互換性が改善されました。 |
JUNIT.TCWNT | パフォーマンスおよび Java 17 の構文との互換性が改善されました。 |
NAMING.IFV | パフォーマンスおよび Java 17 の構文との互換性が改善されました。 |
NAMING.RPKG | パフォーマンスおよび Java 17 の構文との互換性が改善されました。 |
OOP.ACECC | パフォーマンスおよび Java 17 の構文との互換性が改善されました。 |
OOP.INSOF | Java 21 の構文をサポートするよう更新されました。 |
OPT.ACDO | パフォーマンスおよび Java 17 の構文との互換性が改善されました。 |
OPT.AGC | パフォーマンスおよび Java 17 の構文との互換性が改善されました。 |
OPT.DIC | パフォーマンスおよび Java 17 の構文との互換性が改善されました。 |
OPT.IRB | パフォーマンスおよび Java 17 の構文との互換性が改善されました。 |
OPT.NCIO | Java 21 の構文をサポートするよう更新されました。 |
OPT.NSF | パフォーマンスおよび Java 17 の構文との互換性が改善されました。 |
OPT.SI | パフォーマンスおよび Java 17 の構文との互換性が改善されました。 |
OPT.UEQ | パフォーマンスおよび Java 17 の構文との互換性が改善されました。 |
OPT.UISO | Java 21 の構文をサポートするよう更新されました。 |
PB.API.DNCSS | パフォーマンスおよび Java 17 の構文との互換性が改善されました。 |
PB.API.KOEH | String 型のキーに対するエラーが修正されました。 |
PB.API.SBCC | パフォーマンスおよび Java 17 の構文との互換性が改善されました。 |
PB.API.URL | パフォーマンスおよび Java 17 の構文との互換性が改善されました。 |
PB.CUB.MAIN | パフォーマンスおよび Java 17 の構文との互換性が改善されました。 |
PB.EQLC | Java 21 の構文をサポートするよう更新されました。 |
PB.LOGIC.JI | パフォーマンスおよび Java 17 の構文との互換性が改善されました。 |
PB.NAECS | Java 21 の構文をサポートするよう更新されました。 |
PB.NUM.IMOF | パフォーマンスおよび Java 17 の構文との互換性が改善されました。 |
PB.OCSF | パフォーマンスおよび Java 17 の構文との互換性が改善されました。 |
PB.PDCL | Java 21 の構文をサポートするよう更新されました。 |
PB.PDS | Java 21 の構文をサポートするよう更新されました。 |
PB.TYPO.UOL | パフォーマンスおよび Java 17 の構文との互換性が改善されました。 |
PB.USC.AES | パフォーマンスおよび Java 17 の構文との互換性が改善されました。 |
PB.USC.FCBS | put ではなく map 計算が使用された場合の指摘事項のレポートの誤りが修正されました。 |
PB.USC.UNARY | パフォーマンスおよび Java 17 の構文との互換性が改善されました。 |
PROPS.BSPV | パフォーマンスおよび Java 17 の構文との互換性が改善されました。 |
SECURITY.IBA.DXXE | 違反誤検出が修正されました。 |
SECURITY.WSC.AUIC | パフォーマンスおよび Java 17 の構文との互換性が改善されました。 |
SECURITY.WSC.CL | パフォーマンスおよび Java 17 の構文との互換性が改善されました。 |
SECURITY.WSC.CLI | パフォーマンスおよび Java 17 の構文との互換性が改善されました。 |
SECURITY.WSC.DSER | パフォーマンスおよび Java 17 の構文との互換性が改善されました。 |
SECURITY.WSC.SL | パフォーマンスおよび Java 17 の構文との互換性が改善されました。 |
SERIAL.ENNAC | パフォーマンスおよび Java 17 の構文との互換性が改善されました。 |
SERIAL.MRWD | パフォーマンスおよび Java 17 の構文との互換性が改善されました。 |
SERVLET.AJDBC | パフォーマンスおよび Java 17 の構文との互換性が改善されました。 |
SERVLET.BINS | パフォーマンスおよび Java 17 の構文との互換性が改善されました。 |
SERVLET.IF | パフォーマンスおよび Java 17 の構文との互換性が改善されました。 |
SERVLET.STM | パフォーマンスおよび Java 17 の構文との互換性が改善されました。 |
TRS.IMSE | パフォーマンスおよび Java 17 の構文との互換性が改善されました。 |
UC.AURCO | Map.computeIfAbsent() に対する違反の誤検出が修正されました。 |
UC.EF | Java 21 の構文をサポートするよう更新されました。 |
更新されたフロー解析ルール
以下のルールが更新されました。
ルール ID | 更新 |
---|---|
BD.PB.CC | 非分岐条件に対する違反をレポートするためのパラメーターが追加されました。 |
BD.PB.SBONE | StringBuffer および StringBuilder クラスの新規メソッドを考慮するよう更新されました。 |
IDE のサポート
以下の IDE がサポートされています。
- IntelliJ 2023.3
- IntelliJ 2024.1
- Eclipse 2023-12 (4.30)
- Eclipse 2024-03 (4.31)
その他のアップデート
- スタンドアロンの License Server が認証を要求するよう設定されている場合、接続で認証を有効化できるようになりました。「Parasoft ライセンスの設定」および license.network.auth.enabled を参照してください。
- Lombok 1.18.32 のサポートが追加されました。
- report.xml.param{n}.key および report.xml.param{n}.value オプションを使用して report.xml に追加するカスタム パラメーターを指定できるようになりました。
- 以下のライセンス機能の名前が変更されました。
古い名前 新しい名前 Unit Test Bulk Creation Unit Test Single Class Creation Unit Test Tier 1 Unit Test Bulk Creation Tier 1 Unit Test Tier 2 Unit Test Bulk Creation Tier 2 Unit Test Tier 3 Unit Test Bulk Creation Tier 3 Unit Test Tier 4 Unit Test Bulk Creation Tier 4
ライセンス設定で正しい機能名が表示されていることを確認してください。jtest.license.custom_edition_features を参照してください。 - 以下のサポート対象フォーマットのデフォルトのレポート ファイル名が変更されました。
レポートのフォーマット 旧 新 SARIF for Azure DevOps
report.sarif report_azure.sarif XSL カスタム
report.html report_custom.html
詳細については「レポート ファイル名」を参照してください。
既知の制限事項
CDD および METRIC カテゴリのルールに対して生成されたすべての推奨事項は、.properties および .xml ファイルも含め、正確でない可能性があるため信頼するべきではありません。「修正の提案の生成」を参照してください。
サポートの廃止
廃止された IDE
次の IDE のサポートは廃止されました。
- IntelliJ 2020.1 - 2021.3
- Eclipse 4.8 - 4.22
結果として、IDE で Jtest を実行する場合またはビルドシステム統合の一部として Jtest を実行する場合、Java 11 が必要になります。Java 1.8 互換ではなくなりました。
削除されたルール
削除されたルール | 代替ルール |
---|---|
BD.PB.DEREF | BD.PB.CC |
BD.PB.INTOVERF | BD.PB.INTDL, BD.PB.INTUB, BD.PB.INTVC および BD.PB.INTWRAP |
BD.PB.POVR | BD.PB.VOVR |
解決済みのバグおよび FR
バグ/FR ID | 説明 |
---|---|
JT-75934 | JtestCov が変更されたファイルを正しく認識しない |
JT-75937 | Lombok 統合および Java |
JT-76175 | OWASP.2021.N5.NTERR の違反誤検出 |
JT-76235 | JAVA.SECURITY.IBA.DXXE のコード修正方法 |