このリリースでは、セキュリティ コンプライアンス ソリューションの改善と単体テスト アシスタントの拡張に重点が置かれました。
Java のサポートの拡充
Java 11 のサポートが追加されました。
IDE およびビルド システムのサポートの拡充
以下のサポートが追加されました。
- Eclipse 4.9、4.10、および 4.11
- IntelliJ 2018.3 および 2019.1
- Maven 3.6.0
プラットフォームのサポート
以下のサポートが追加されました。
- Windows Server 2019
以下の OS はサポートされなくなりました。
- Windows 8
- Windows Server 2008
セキュリティ コンプライアンス パック
このリリースでは、セキュリティ標準やプラクティスへのコンプライアンス推進に役立つテスト コンフィギュレーションにすぐにアクセスできるセキュリティ コンプライアンス パックが導入されました。セキュリティ コンプライアンス パックには、以下のテスト コンフィギュレーションが含まれています。
- CERT for Java
- CWE 3.2
- CWE SANS Top 25 2011
- CWE SANS Top 25 2011+On the Cusp
- OWASP Top 10-2017
- PCI DSS 3.2
- UL 2900
詳細は「ビルトイン テスト コンフィギュレーション」を参照してください。詳細は「セキュリティ コンプライアンス パック」を参照してください。
コンプライアンス パックを使用するには、専用のライセンス機能を有効化する必要があります。ライセンスの詳細については、Parasoft 製品サポートにご連絡ください。
単体テスト アシスタントの拡張
このリリースでは、テスト作成プロセスが拡張され、テスト実行後に表示される推奨事項が改善されました。
推奨事項の追加および改善
- NullPointerException のスロー 推奨事項タイプが追加され、NullPointerException がスローされるのを防ぐのに役立ちます。「NullPointerException のスロー」を参照してください。
- 例外およびアサーション エラー 推奨事項が拡張され、例外に対処し、テストコードを自動的に更新するのに役立つアクション リンクが含まれるようになりました。「例外 / アサーション エラー」を参照してください。
- 未カバーのコード推奨事項が拡張され、どのテストでもカバーされていない例外キャッチ ブロックに対してもこの推奨事項が表示されるようになりました。「カバーされていないコード」を参照してください。
単体テスト作成の拡張
以下が可能になりました。
- 標準の Junit テストまたは Spring フレームワークを使用するテストを作成する。「Spring 単体テストの作成」および「テスト スイートの作成」を参照してください。
- 追加の Spring コンポーネント (@Component、@Controller、@RestController、@ Repository、および @Service) のテストを作成する。「Spring 単体テストの作成」を参照してください。
- クラスレベルで @InjectMocks および @Mock アノテーションを追加することによって、モックを初期化するように UTA を設定する。「モック初期化の設定」を参照してください。
また、ディープ初期化モードが改善され、テストの作成時にアクセスできないフィールドおよび親クラスのフィールドも自動的に初期化するようになりました。
テスト影響分析の改善
- テストとコードの関連付けの情報が、IDE を再起動しても保持されるようになりました。
- [影響を受けるテスト] ビューのコンテキストメニューを使用してテストコードに移動し、選択したテストを実行できます。
詳細は「テスト影響分析」を参照してください。
追加または更新されたテスト コンフィギュレーション
以下のテスト コンフィギュレーションが追加されました。
- CWE 3.2
- CWE SANS Top 25 2011+On the Cusp
- CWE SANS Top 25 2011
- OWASP Top 10-2017
- PCI DSS 3.2
- UL 2900
次のテスト コンフィギュレーションは、静的解析カテゴリから セキュリティ コンプライアンス カテゴリに移動しました (「セキュリティ コンプライアンス パック」を参照)。
- CERT for Java
解析結果の向上のため、以下のテスト コンフィギュレーションが更新されました。
- Demo Configuration
- Flow Analysis Aggressive
Jtest に付属するテスト コンフィギュレーションの一覧は「ビルトイン テスト コンフィギュレーション」を参照してください。
非推奨のテスト コンフィギュレーション
- CWE-SANS Top 25 2011 – 非推奨になり、 新しい CWE SANS Top 25 2011 テスト コンフィギュレーションに置き換えられました。
PCI Data Security Standard – 非推奨になり、新しい PCI DSS 3.2 テスト コンフィギュレーションに置き換えられました。
- UL 2900 - 非推奨となり、新しい UL 2900 テスト コンフィギュレーションに置き換えられました。このコンフィギュレーションには、CWE SANS Top 25 2011 および OWASP Top 10 2017 ルールが含まれます。
- OWASP Top 10 2017 – 非推奨になり、新しい OWASP Top 10-2017 テスト コンフィギュレーションに置き換えられました。
非推奨のテスト コンフィギュレーションは、デフォルトでは利用できません。ユーザー定義コンフィギュレーションとして適用することはできます。これらのテスト コンフィギュレーションは、次の場所にあります: [INSTALL_DIR]\configs\Deprecated
新規静的解析ルール
以下のテスト静的解析ルールが追加されました。
ルール ID | ヘッダー |
---|---|
BD.PB.CHECKRET | 非 void 関数の戻り値を必ずチェックする |
BD.PB.INTOVERF | 整数のオーバーフローを避ける |
BD.SECURITY.TDPASSWD | 保護されていない認証情報の使用から保護する |
CODSTA.ORG.TODOJAVA | コメントにタスク タグが含まれていないことを確認する |
CODSTA.ORG.TODOPROP | コメントにタスク タグが含まれていないことを確認する |
CODSTA.ORG.TODOXML | コメントにタスク タグが含まれていないことを確認する |
SECURITY.IBA.AUXD | XMLDecoder で信頼されていないデータを解析しない |
SECURITY.IBA.DXXE | XML 外部エンティティ インジェクションを無効化する |
SECURITY.IBA.RUIM | 適切なセッション有効期限を確認する |
SECURITY.IBA.SC | LDAP のデシリアライズを無効化する |
SECURITY.UEC.STTL | 'web.xml' ファイルでセッションがタイム アウトするよう設定されていることを確認する |
SECURITY.WSC.ACMD | MessageDigest のカスタム実装の使用を避ける |
SECURITY.WSC.AISSAJAVA | Spring でのデータ暗号化で、セキュアではない暗号化アルゴリズムを使用しない |
SECURITY.WSC.AISSAXML | Spring XML 設定ファイルで、セキュアではない暗号化アルゴリズムを使用しない |
SECURITY.WSC.AUNC | 非テスト クラスでの javax.crypto.NullCipher クラスの使用を避ける |
SECURITY.WSC.DMDS | 本番コードで DriverManagerDataSource クラスを使用しない |
SECURITY.WSC.EWSSEC | Spring Security フレームワークからのデバッグ情報をログに記録しない |
SECURITY.WSC.HGRSI | 'HttpServletRequest' クラスの 'getRequestedSessionId' メソッドの使用を避ける |
SECURITY.WSC.HV | HostnameVerifier.verify() メソッドが証明書を検証していることを確認する |
SECURITY.WSC.MCMDU | MessageDigest オブジェクトは 'update' メソッドでデータを処理する必要がある |
SECURITY.WSC.MDSALT | ハッシュ関数は salt とともに使用する |
SECURITY.WSC.PBFA | 認証の試みが複数回失敗した場合に対する適切な防御を確認する |
SECURITY.WSC.SCHTTP | cookie を HttpOnly としてマークする |
SECURITY.WSC.SIKG | KeyGenerator インスタンスを初期化する |
SECURITY.WSC.VSI | サーバー識別子を適切に検証する |
更新された静的解析ルール
以下のルールの出力メッセージが更新されました。そのため、以前に DTP で関連付けられたこれらのルールの抑制はもう利用できない場合があります。
- PB.IKICO
- PB.NUM.UBD
- SECURITY.ESD.SIO
- SECURITY.UEHL.LGE
- SECURITY.WSC.ICA
- SERIAL.RWAF
- SECURITY.WSC.UOSC
- PB.API.MASP
解決済みのバグおよび FR
バグ/FR ID | 説明 |
---|---|
JT-49237 | JSON テストおよびリソース パスが存在しない |
JT-70472 | 'Flow Analysis Aggressive’ テスト コンフィギュレーションをローカルで複製すると編集できない |
JT-70473 | PB.NUM.UBD が float または double 型の変数しか考慮していない |
JT-70475 | PB.IKICO の誤検出 |
JT-70584 | 添付のプロジェクトに対して jtest-monitor ゴールが coverage.xml ファイルを生成できない |
JT-70618 | 見込み顧客のプロジェクトでアプリケーション カバレッジを収集できない |
JT-70653 | jtest 実行後に HTML レポートに Spring Security タイプが表示される |
JT-70653 | jtest 実行後に HTML レポートに Spring Security タイプが表示される |
JT-70817 | CLI からの実行時に javafx.application のインポートが解決できない |
JT-70827 | project.location パラメーターの引数として . を渡すと期待どおりに動作しない |
UTA-3675 | Mockito アノテーションを使用時のモック化の推奨事項 |
UTA-4019 | パラメータライズド Spring テストでメソッドがモック化されない |
XT-36321 | IntelliJ の複数のバージョンで空の PDF レポートが生成される |
XT-36478 | IntelliJ IDE から Jtest 実行用ライセンスを取得できない |
XT-36549 | IDE 内で設定された名前はシステム ユーザーをオーバーライドできるか? |
XT-36671 | Eclipse で影響範囲テストを実行すると JUnit ビューが文字化けする |
XT-36705 | 日本語ロケールでは変更ベースのテストが動作しない |
UTA-3675 | Mockito アノテーションを使用時のモック化の推奨事項 |
UTA-4019 | パラメータライズド Spring テストでメソッドがモック化されない |