このリリースでは、Jtest の単体テスト機能の拡張とセキュリティ コンプライアンス ソリューションの強化に重点が置かれました。
IDE のサポート
次の IDE のサポートが追加されました。
- Eclipse 2019-06 (4.12)
- Eclipse 2019-09 (4.13)
単体テストの拡張
JUnit 5 のサポート
Jtest が JUnit 5 をサポートするようになりました。デスクトップとコマンドラインで、JUnit 5 テストを実行してカバレッジ情報を収集できます。さらに、デスクトップ ユーザーは、単体テスト アシスタントを使用して JUnit 5 テストを作成および強化し、Eclipse または IntelliJ IDEA でテスト影響分析を実行できます。
JUnit 4 と JUnit 5 の両方のテストを含むプロジェクトの処理を支援するため、またはフレームワークの以前のバージョンから JUnit 5 へのテストの移行を支援するために、 JUnit 5 Best Practices テストコンフィギュレーションが追加されました。「ビルトイン テスト コンフィギュレーション」を参照してください。
Junit 3 や JUnitParams 10.0.4 などのレガシー フレームワークで作成されたテストに関連する履歴結果は、DTP では使用できなくなる可能性があります。
セキュリティ コンプライアンス パックの拡張
Common Weaknesses Enumeration(CWE) の最新バージョンがサポートされました。CWE Top 25 2019 and On the Cusp ガイドラインを含む CWE 3.4 のサポートを有効にするために、新しい静的解析ルールを追加し、既存のルールを拡張しました。以下の「追加または更新されたテスト コンフィギュレーション」セクションを参照してください。
追加または更新されたテスト コンフィギュレーション
以下のテスト コンフィギュレーションが追加されました。
- CWE 3.4
- CWE Top 25 2019
- CWE Top 25 + On the Cusp 2019
JUnit 4 Best Practices
JUnit 5 Best Practices
TDD テスト コンフィギュレーションの名称は、TDD Best Practices に変更されました。
削除されたテスト コンフィギュレーション
- CWE 3.2
- CWE-SANS Top 25 2011
- CWE SANS Top 25 2011 + On the Cusp
- Unit Test Assistant
- Unit Testing Best Practices
その他の変更
-project.jsonpath
オプションが追加されました。-project.*
オプションを使って .json ファイルを手動で作成する場合、-project.jsonpath
オプションを設定して、ファイルのデフォルトの名前と場所をカスタマイズできます。詳細については「カスタム .json データ ファイルの作成」を参照してください。- カバレッジ データ ファイルの構造を変更して、静的カバレッジと動的カバレッジを一致させるメカニズムを強化しました。その結果、以前のバージョンの Jtest で生成されたカバレッジ データ ファイルを分析できなくなりました。カバレッジ データを収集してマージするには、インフラストラクチャが同じバージョンであるとすべての Jtest インスタンスが認識するようにしてください。
license.network.enabled
オプションの名称がlicense.network.use.specified.server
に変更されました。「ライセンスの設定」を参照してください。- メモリの使用を最適化して、パフォーマンスを向上させました。
追加または更新された静的解析ルール
以下のルールが追加されました。
ルール ID | ヘッダー |
---|---|
BD.SECURITY.TDCODE | コードを生成するメソッドで使用する前に、汚染されている可能性があるデータを検証する |
BD.SECURITY.TDSESSION | 信頼されていないデータを HTTP セッションに格納しない |
FORMAT.MCH | すべてのソース ファイルに意味のあるファイル ヘッダー コメントを含める |
JUNIT.AUL | JUnit テストでループを使用しない |
JUNIT.IGNORE | @Ignore を使用する JUnit 5 テスト クラスに @ExtendWith(IgnoreCondition.class) または @EnableJUnit4MigrationSupport アノテーションがあることを確認する |
JUNIT.RPL5 | JUnit 5 にテストを移行する場合は、JUnit 4 のアノテーションを使用しない |
JUNIT.TDIR | JUnit 5 テストで TemporaryFolder ルールを使用しない |
SECURITY.UEHL.DCEMSL | Seam Logging API を使用してメッセージをログに記録する場合、信頼されていない入力を使用しない |
SECURITY.WSC.BUSSB | 外部プロセスが出力またはエラー ストリームをブロックするのを防ぐ |
SECURITY.WSC.PBRTE | 必ず実行コマンドへの絶対パスを指定する |
SERIAL.VOBD | デシリアライズの前にオブジェクトを検証する |
SPRING.DCSRFJAVA | CSRF 防護を無効にしない |
SPRING.DCSRFXML | CSRF 防護を無効にしない |
SPRING.REQMAP | @RequestMapping アノテーションがあるメソッドに呼び出す HTTP メソッドが指定されていることを確認する |
さらに、メソッド内のメソッド呼び出しの数を計測するために NOMCIM メトリクスが追加されました。
解析結果の向上のため、以下の静的解析ルールが更新されました。
- BD.SECURITY.TDFNAMES
- CODSTA.BP.NTX
- FORMAT.CBRACE
- FORMAT.LL
- GC.OSTM
- GLOBAL.ACD
- JUNIT.AEAT
- JUNIT.ANAT
- JUNIT.ANBA
- JUNIT.ASAT
- JUNIT.ASSERT
- JUNIT.AST
- JUNIT.CBA
- JUNIT.DIR
- JUNIT.ETCTA
- JUNIT.FAIL
- JUNIT.FICB
- JUNIT.ISMTC
- JUNIT.MAIN
- JUNIT.OSIC
- JUNIT.OSUM
- JUNIT.OTDM
- JUNIT.SIA
- JUNIT.SIFN
- JUNIT.TATC
- JUNIT.TEST
- JUNIT.UPJT
- NAMING.NTEST
- PB.TYPO.EB
- SECURITY.WSC.ASAPI
- SECURITY.WSC.DMDS
- SECURITY.WSC.ICA
- SECURITY.WSC.SL
- SECURITY.WSC.STREP
- TRS.ISTART
- TRS.UCM
以下のルールの重要度レベルが変更されました。
- SECURITY.WSC.ASAPI –重要度が 5 から 3 に上がりました。
以下のルールの出力メッセージが更新されました。そのため、以前に DTP で関連付けられたこれらのルールの抑制はもう利用できない場合があります。
- BD.PB.CHECKRET
JUNIT.AEAT
JUNIT.ANAT
JUNIT.ASAT
- JUNIT.FAIL
- JUNIT.OSUM
- JUNIT.OTDM
- SECURITY.WSC.ASAPI
- TRS.ISTART
解決済みのバグおよび FR
バグ/FR ID | 説明 |
---|---|
JT-70763 | Jtest 10.x で FORMAT.MCH ルールを実装するリクエスト |
JT-70857 | 非推奨ルールを含むドキュメント |
JT-71241 | 既存の終了コード 137 がレポートされていない理由を確認する |
JT-71244 | 仮想フォルダーとしてインポートするときに依存関係が見つからない |
JT-71273 | 「ソース セットごとに個別のモジュールを作成する」 オプションを使用して IntelliJ にインポートされたプロジェクトの空のテストスコープ |
JT-71381 | 事前/事後解析スクリプトの起動に失敗した場合に parasoft コンソールで問題の詳細が欠落 |
JT-71382 | Eclipse ランナーを介して実行された場合に jtestcli.bat が DTP からライセンスを取得できない |
JT-71397 | FORMAT.LL ルールを拡張して、エディターと同じようにタブを処理する |
JT-71592 | project.location パスが存在しない場合のエラー メッセージ |
JT-71830 | ACD.java の GLOBAL.ACD ルールの NumberFormatException |
JT-71831 | ArrayIndexOutOfBoundsException: PB.EB ルールの 0 |
UTA-3956 | 名前の競合によりテスト クラスが作成されない |
UTA-4459 | Spring MVC テストが値ではなく定数名を使用する |
UTA-4511 | getClass または toString の呼び出しをモックしてはいけない |
UTA-4529 | dumb mode による推奨の不安定性 |
UTA-4529 | アノテーション値は、UTA 構文ツリーでは完全にサポートされていない |
UTA-4554 | テスト ケースの作成中にクラスを逆コンパイルする際のパフォーマンスの問題 |
XT-36609 | パスワードに £ 文字があると、Parasoft ツールが DTP に接続できなくなる |
XT-36611 | min オプションを使用した sim-link ソース コードの公開に失敗 |
XT-36843 | cpptestcli を使用する同時ビルドが、ライセンスをプルしようとしたときにタイムアウトを待たない |
XT-36950 | XML Graphics Project の脆弱なライブラリを更新 |
XT-37358 | テストが 100% 成功した場合にレポートに 100% が表示されない |