このリリースでは、特にデスクトップを使いやすくするさまざまな新機能の追加や既存機能の拡張が行われました。
このリリースでは、デスクトップでの静的解析のカスタマイズが大幅に改善されました。コード解析ルールおよびテスト コンフィギュレーションを組織の開発ポリシーに合わせてローカルで変更し、保存するための Web インターフェイスが導入されました。詳細については「静的解析ルールのカスタマイズ」および「カスタム テスト コンフィギュレーションの作成」を参照してください。
また、ローカルまたは DTP に保存されたルール マッピングを Jtest に適用することもできます。
変更の影響を受けない大規模なテストのセットを実行する代わりに、ローカルなコード変更の影響を受けるテストだけを識別して実行できます。これにより、テスト作業を最適化してテスト実行プロセスをスピード アップできます。詳細については「テスト影響分析」を参照してください。
IntelliJ IDEA で実行された単体テストのカバレッジ情報を収集できるようになりました。詳細については「IntelliJ IDEA での単体テスト カバレッジの収集」を参照してください。
単体テスト アシスタントの機能が IntelliJ IDEA で利用できるようになりました。
カバーされていないコードを UTA で検出できます。これは、カバーされていない行にテスト作成作業を集中させ、全体的なコード カバレッジを増加させるのに役立ちます。詳細については「カバーされていないコード」を参照してください。
既存のテスト メソッドを複製する機能が追加されました。これにより、テスト作成プロセスの生産性が向上します。[テストの複製] オプションを使用すると、既存のテスト メソッドをすばやく複製し、複製されたテスト メソッドを必要に応じて変更できます。詳細については「基本的な単体テストの作成」を参照してください。
instrument
ゴール/タスクは非推奨になりました。カバレッジ情報を収集するには、agent
ゴール/タスクを使用してください。以下のビルトイン テスト コンフィギュレーションが追加されました。
古い標準のテスト コンフィギュレーションが削除されました。
グローバル カテゴリのルールが改善され、潜在的な問題をより効率的に検出できるようになりました。正確性の向上がパフォーマンスに影響を与える可能性があります。
以下のルールが追加されました。
ルール ID | ヘッダー |
---|---|
BD.API.ARGWRITE | write() メソッドが 0 から 255 の範囲外の整数を出力すると信頼してはならない |
BD.PB.MULBUF | 単一のバイト ストリームまたは文字ストリームに複数のバッファー付きラッパーを作成してはならない |
BD.PB.VREADOBJ | readObject() メソッドからオーバーライド可能なメソッドを呼び出さない |
BD.SECURITY.FPEXC | 例外値がないか浮動小数点値の入力をチェックする |
BD.SECURITY.LOG | 未検証のバイナリ データをログ記録メソッドに渡さない |
BD.TRS.INSTLOCK | 共有の静的データを保護するためにインスタンス ロックを使用しない |
CODSTA.ORG.ASSERT | 運用コード内でアサーションを使用しない |
PB.IKICO | 比較演算に使用されているキーが不変であることを確認する |
TRS.ISTART | Thread クラスのインスタンスに対して直接 'start()' メソッドを呼び出さない |
TRS.SGC | 'getClass' メソッドから返されたクラス オブジェクトを同期しない |
TRS.SOBC | 背後のコレクションにアクセス可能な場合、コレクション ビューを同期しない |
BD.TRS.ORDER
FORMAT.U2B
GLOBAL.ASI
GLOBAL.DPPM
GLOBAL.UPAC
SECURITY.WSC.PPKG
SECURITY.WSC.INIVF
PB.NUM.UBD
PB.CUB.IMM
UC.AAI
以下のルールは DTP による処理方法が変わったため、以前の抑制設定が有効でない可能性があります。
バグ/FR ID | 説明 |
---|---|
FA-5994 | BD.EXCEPT.NP で null を許容しないメソッドとしてコンストラクターを定義できない |
FA-6140 | 一部のルールで flowanalysis.output.performance.info をレポートする際、カウントされないパスがある |
JT-47125 | PB.CLOSE が try-with-resorces に対して違反を誤検出する |
JT-48547 | PB.CUB.IMM に違反の誤検出の可能性がある |
JT-48635 | SECURITY.IBA.VPPD-2 が正しく違反をレポートしない |
JT-69723 | ラムダに関する違反の誤検出 |
JT-69873 | UC.AAI - Java 8 と互換性がない |
JT-69939 | 9.5 と10.3.1+ で動作が異なる |
UTA-1028 | モック化可能なメソッドの推奨事項が表示されない |
UTA-2296 | UTA で作成された単体テストの1 部が顧客のプロジェクトで失敗する |
XT-35411 | CVS レポート内の空白が 2 行目から開始する |