このリリースでは、単体テスト プロセスを簡略化し、単体テスト アシスタントでコード カバレッジを上げるのに役立つ改善に重点を置きました。
Java のサポート
Java 9 および 10 のサポートが追加されました。
IDE のサポート
以下のサポートが追加されました。
- Eclipse 4.8
- IntelliJ 2018.2
テスト影響分析
テスト影響分析を行うと、運用コードに対する変更の影響を受けるテストを特定し、実行することができます。これにより、テスト実行のスピードを上げ、単体テスト プロセスを最適化できます。Jtest でのテスト影響分析を容易にするため、IDE の [影響を受ける単体テスト] ビュー、そして Maven および Gradle 対応 Test Impact Analysis プラグインが導入されました。
[影響を受ける単体テスト] ビュー
[影響を受ける単体テスト] ビューは、IDE に表示される新しいパネルです。このビューは、変更がテストにもたらす影響を把握するのに役立ちます。現在のコード修正によって影響を受けるテストをリアル タイムでモニターし、実行するテストを選択できます。「テスト影響分析」を参照してください。
Maven および Gradle 対応 Test Impact Analysis Plugin
新しいテスト影響分析プラグインを使用すると、変更の影響を受けるテストだけを検出し、再実行できます。プラグインはビルド システムと統合し、Jtest がテスト影響分析機能を利用してテスト実行プロセスを加速できるようにします。「テスト影響分析 (Maven)」および「テスト影響分析 (Gradle)」を参照してください。
コード カバレッジの改善
Jtest のコード カバレッジ機能が拡張されました。
未カバーコードの推奨事項の拡張
未カバーのコード推奨事項機能は、コード カバレッジを増加させるためのプロセスをガイドできるようになりました。
- ヒント: UTA は未カバーのコードをカバーするために必要な変更についてヒントを提供します。
- シングルクリックでのテスト更新: テストの複製アクションは、クリック 1 つで、選択されたテスト ケースをヒントに従って更新できるようになりました。
さらに、未カバー コードの検出が最適化されました。 詳細は「コード カバレッジの改善」を参照してください。
private メソッドに対するテストの作成
コード カバレッジを増加させるため、UTA は private メソッドに対しても、通常、パラメータライズ、Spring 単体テストを作成できるようになりました。「基本的な単体テストの作成」、「パラメータライズされた単体テストの作成」、「Spring 単体テストの作成」を参照してください。
その他の単体テスト アシスタントの拡張
IntelliJ IDEA での Spring のサポート
IntelliJ IDEA で Spring 単体テストを作成、モニター、拡張できます。「Spring 単体テストの作成」を参照してください。
アサーション自動作成
UTA のトラッキング機能が拡張され、アサーションを自動作成できるようになりました。[トラックしてアサーションを作成] オプションは、メソッドの呼び出しをモニターし、推奨されるアサーションをすべて自動的に適用します。「オブジェクトの変更の追跡とアサーションの作成」を参照してください。
即時修正メニューの UTA アクション
キーボードのショートカットを押すと開くコンテキスト支援ダイアログから UTA アクションを実行できます。「UTA アクション」を参照してください。
Mockito 2 のサポート
Mockito 2 のサポートが追加されました。UTA は使用している Mockito のバージョンを自動的に検出します。
スタンドアロンの License Server
別の DTP インスタンスまたはスタンド アロンの License Server から Parasoft ライセンスを取得できます。「Parasoft ライセンスの設定」(デスクトップの場合) または「ライセンスの設定」 (オートメーションの場合) を参照してください。
その他の変更
フロー解析で Java の try-with-resource 文がサポートされます。
- IDE でのフロー解析結果の表示が改善されました。
- Microsoft Team Foundation Server 2008 はサポートされなくなりました。
テスト コンフィギュレーションの更新
解析結果の向上のため、以下のテスト コンフィギュレーションが更新されました。
- Critical Rules
- CWE-SANS Top 25 2011
- Find Unused Code
- Internationalize Code
- OWASP Top 10 2017
- PCI Data Security Standard 3.2
- Thread Safe Programming
更新されたコード解析ルール
解析結果の向上のため、以下の静的解析ルールが更新されました。
- BD.RES.LEAKS
- BD.RES.FREE
- BD.PB.VREADOBJ
以下のルールの出力メッセージが更新されました。そのため、以前に DTP で関連付けられたこれらのルールの抑制はもう利用できない場合があります。
- BD.PB.ARRAY
- BD.PB.ZERO
- EXCEPT.CLFIN
- SECURITY.WSC.AMA
- SECURITY.WSC.ARXML
- SECURITY.WSC.FIMU
BD カテゴリ ルールの以前のメッセージおよび抑制を復元できます。「Jtest を新しいバージョンにアップグレードした後、一部のルールの抑制が DTP で使用できない場合」を参照してください。
解決済みのバグおよび FR
バグ/FR ID | 説明 |
---|---|
JT-49363 | SECURITY.ESD.RA のノイズが多い/厳しすぎる |
JT-70326 | 添付プロジェクトでのコンパイルの問題 (Oracle Java 8 では正常にコンパイルされる) |
JT-70237 | Gradle 4.9 で解析を実行すると、添付 Android Studio プロジェクトのビルドが失敗する |
JT-70361 | Checkstyle 統合の手順が古い可能性がある |
JT-70300 | OWASP Top 10 2017 rule コンフィギュレーションに SECURITY.WSC.DSER ルールが含まれていない |
JT-70188 | GLOBAL.DPPC ルールで違反を検出できない可能性 |
JT-70255 | XMLParse Exception によるコンパイル エラー |
JT-69944 | OPT-CEIL 違反誤検出 |
JT-69822 | FORMAT.CBRACE の違反誤検出 |
JT-70113 | カスタム ルールのパフォーマンス デグレード |
JT-69977 | 9.6 で作成されたカスタム ルールが 10.3.x で動作しない |
FA-6749 | BD.PB.VREADOBJ の動作が誤っているか、ドキュメントが誤っている |
FA-6649 | BD-PB-CC の bit-AND に対する違反誤検出 |
FA-6447 | BD.SECURITY.SENS - ドキュメントと実際の動作が一致していない |
UTA-2838 | JUnit4Parameterized テストでモック化可能なメソッドの推奨事項がレポートされない |
UTA-3316 | コントローラ―に対する Spring テスト作成時に StackOverflowError |
UTA-3130 | 日本語 OS で UTA が生成するテストの Javadoc が文字化けしている |
UTA-3036 | java.lang.IllegalArgumentException: UTA が作成した CSV パラメータライズド テスト実行時に引数型の不一致が発生する |