Jtest 2022.1 では以下の変更点があります。Jtest 2022.1 では以下の変更点があります。
使用許諾契約書(EULA)への同意
Jtest 2022.1より、Jtestを使用するにはParasoftエンドユーザー使用許諾契約書(EULA)に同意する必要があります。
EULAの条件に同意するには、Jtestインストールディレクトリ/jtestcli.propertiesファイルで以下の設定を有効にします。
Code Block |
---|
parasoft.eula.accepted=true |
IDEにParasoftプラグインをインストールすると、インストールウィザードによってEULAを受け入れるように求められ、EULA受け入れ設定がjtestcli.propertiesファイルに自動的に追加されます。
マシンIDの変更
Jtest 2022.1より、マシンIDが変更になります。
ノードロックライセンスの請求を実施する場合は、請求前に必ずマシンIDの確認をお願いいたします。
ライセンス請求の手順に関してはこちらをご確認ください。
例)WIN32-3eab1eb8 → WIN32-15cc8c3
IDEのサポート
次の IDE のサポートが追加されました。
IntelliJ IDEA 2021.1
IntelliJ IDEA 2021.2
IntelliJ IDEA 2021.3
Eclipse 2021-03 (4.19)
Eclipse 2021-06 (4.20)
Eclipse 2021-09 (4.21)1
Eclipse 2021-12(4.22)
Eclipse 2022-03(4.23)
...
1このIDEはJava16で実行されます。そのため影響を受ける単体テストビューが正しく表示されない可能性があります。
IDEの起動に使用されるJVMに--illegal-access =permitVM引数を渡すことがで回避することができます。
Java のサポート
...
のサポート
Java 16 および 17 で作成されたコードを解析できるようになりました。
Lombok のサポート
Lombok1.18.20 と Lombok 1.18.22 のサポートを追加しました。
Jtest と Lombok ライブラリのプラグイン方法の詳細は、ユーザーマニュアルのLombokとの統合を参照してください。
ビルドツール のサポート
並列ビルドのサポート
MavenとGradleの並列ビルドのテストカバレッジを収集するようになりました。
詳細は、Mavenを使用したテストと分析およびGradleを使用したテストと分析を参照してください。
Gradleのサポート
Gradle7.0、7.3、7.4のサポートを追加しました。
Anchor | ||||
---|---|---|---|---|
|
いくつかのセキュリティコンプライアンスのテスト コンフィギュレーションが追加及び変更、削除されました。
※セキュリティコンプライアンス関連機能の使用には専用のライセンス(有償)が必要です。
以下のビルトインテストコンフィギュレーションが追加されました。
CWE 4.46
CWE Top 25 20202021
CWE Top 25 + On the Cusp 2020DISA-ASD-STIG2021
OWASP API Security Top 10-20192021
以下のビルトインテストコンフィギュレーションが更新されました。
CERT for JavaUL 2900
DISA-ASD-STIG
以下のビルトインテストコンフィギュレーションが削除されました。
CWE 4.04
CWE 4.25
CWE Top 25 20192020
CWE Top 25 + On the Cusp 2019
IDE 起動時のライセンス非アクティブでの開始、アイドル時に自動解放
IDE 起動時にライセンスを非アクティブ状態で開始することができるようになりました。ライセンスは 手動でアクティブ化します。
Jtest を約 30 分間使用していない場合、ライセンスは自動的に開放されます。
Lombok との統合
Jtest と Lombok ライブラリを統合し、プロジェクトの定型コードを自動生成することができます。
詳細はユーザーマニュアルのLombokとの統合を参照してください。
コード解析ベースラインを定義する新しいレポート参照オプション
解析実行時にベースラインとして使用される参照レポート ファイルへのパスまたは URL を指定できるようになりました。
以前にレポートされた指摘事項を現在のレポートから除外し、新しく検出された指摘事項のみ確認することができます。
詳細はレポートオプションの設定を参照してください。
抑制機能のフォーマットの変更
静的解析の指摘事項の抑制を parasoft.suppress ファイルに作成し、ソース ファイルとともにソース管理システムに保存できるようになりました。
Jtest GUI で入力ファイル抑制を作成するか、抑制したい指摘事項の情報を手動で抑制ファイルに追加します。
詳細についてはGUI での指摘事項の抑制および、指摘事項のレポートの抑制を参照してください。
これまで GUI での抑制の作成に使用されていた XML 形式フォーマットは非推奨になりました。
IDE 起動時に非推奨の抑制を新しい入力ファイル フォーマットに変換できます。抑制の移行を参照してください。
2020
単体テストアシスタント機能の拡張
JUnit 4 および JUnit5 のテスト実行のデフォルトの最適化
...
単一のテスト ケースのカバレッジが増加するようテスト作成プロセスが最適化されました。
UTA はデータフロー解析を利用して、テストを生成するのに必要な最小のテスト ケース事前条件の数を判断できるようになりました。
これにより、テスト ケースのサイズと複雑さが減少し、効率が向上します。
テスト影響解析の設定の改善
TIA 関連オプションが更新され、設定が容易になりました。
TIA Plugin for Maven の新しい名前
...
古いプラグイン名
...
新しいプラグイン名
...
cbt-maven-plugin
...
tia-maven-plugin
この変更は、コマンド ラインでのテスト影響解析の実行および POM ファイルの設定に影響を与えます。
...
古いコマンド ライン
...
新しいコマンド ライン
...
mvn cbt:affected-tests test
...
mvn tia:affected-tests test
...
古い POM 設定
...
新しい POM 設定
...
<pluginGroup>com.parasoft.xtest.cbt</pluginGroup>
...
<pluginGroup>com.parasoft.jtest.tia</pluginGroup
>
新しいオプション名
...
古い名前
...
新しい名前
...
parasoft.coverage.file
...
jtest.referenceCoverageFile
...
parasoft.test.file
...
jtest.referenceReportFile
...
parasoft.runFailingTests
...
jtest.runFailedTests
...
parasoft.runModifiedTests
...
jtest.runModifiedTests
...
parasoft.testFilter
...
jtest.testFilter
追加および拡張されたオプション
...
オプション名
...
説明
...
jtest.referenceCoverageFile
...
URL のサポートが追加されました。
...
jtest.referenceReportFile
...
URL のサポートが追加されました。
...
jtest.referenceStore
...
新規オプション。TIA のパフォーマンスを最適化するため、URL からダウンロードされた参照ファイルの場所を指定します。
...
jtest.settings
...
1 つの .properties ファイルの場所を指定します。
...
jtest.settingsList
...
新規オプション。複数の .properties ファイルを指定します。
その他の拡張
...
サードパーティのカバレッジ エンジンである JaCoCo がサポートされました。
カバレッジ エージェント オプションか、Maven または Gradle で JaCoCo を有効化することで、 JaCoCo の機能を利用するよう Jtest を設定できます。
...
フロー解析実行時およびコード カバレッジ収集時のパフォーマンスが改善されました。
...
新規カバレッジ オプション
UTA はテスト対象メソッドごとに、さまざまなコード ブランチをカバーする複数のテスト ケースを作成します。次のどちらかに最適化されたテスト スイートを作成できます。
最大のコード カバレッジ - 必要最小限のテストで最多の実行パスをカバーするテストを作成します。
テスト スイートの保守性 - 主な実行パスをカバーする比較的少数のテストを作成し、テストの複雑さを軽減して保守性を増加させます。
UTAその他の拡張
Lombok フレームワークを使用するプロジェクトをサポートするようになりました。
@InjectMocks のサポートが拡張されました。
アサーションの自動追加
UTA は [テスト スイートの作成] オプションを使用したテスト一括作成時にテストにアサーションを追加します。
テストを生成した後、UTA はテストを実行してテスト対象コードの動作をキャプチャし、テスト対象メソッドの戻り値 (あれば) およびテスト対象クラスの変化があったフィールドを検証するアサーションを追加します。
詳細についてはこちらを参照してください。Mockito 3 および 4 のサポートが追加されました。
ルールの更新
ルールIDの変更
BD.PB.ARRAYINP のルールIDが、BD.SECURITY.ARRAY に変更されました。
併せてカテゴリが「セキュリティ」に変更されました。
ルールの更新
幾つかの静的解析ルールが更新されました。
更新されたルールIDの一覧は、以下のユーザーガイドのリリースノートを参照してください。
DockerコンテナーへのJtestのデプロイをサポート
DockerコンテナーへのJtestのデプロイがサポートされました。すぐに利用できるJtestの公式コンテナーイメージをDocker Hub上に公開しました。
コンテナーイメージのダウンロードはこちらを参照してください。
※ Dockerコンテナー上でJtestを利用する場合はフローティングライセンスが必要です。
Azure DevOps との連携
Azure DevOpsに拡張機能としてdotTEST Extension for Azure DevOpsが追加され、JtestとAzurePipelinesの連携が可能になりました。
Jtestの解析を実行することで、Azure DevOps固有のSARIFフォーマットでのレポートを生成し、Azure Pipelines上で解析結果を確認できます。
詳細についてはこちらを参照してください。
GitLab との連携
GitLab ワークフローでJtest の解析を実行して SAST フォーマットで解析レポートを生成が可能になりました。
Jtest からレポートされた結果をコードの脆弱性として GitLab で参照できます。
詳細については こちらを参照してください。
OpenID Connect のサポート
OpenID Connectを介してParasoft DTPへのユーザー認証が可能になりました。
設定方法の詳細はこちらをご参照ください。
その他の拡張
IPv6がサポートされるようになりました。
フロー分析ルールを含むテストコンフィギュレーションを実行するときのJtestのパフォーマンスが向上しました。
log4jの脆弱性に対処しました。Jtest2022.1ではlog4jバージョン2.17.2が使用されています。
フロー解析エンジンの改善により、バージョン2022.1と以前のバージョンで報告された違反に違いが生じる可能性があります。