あるチームはCodeBuildでJUnit形式の単体テストを実行しています。テストの合格率の推移、不安定なテスト(フレーキーテスト:実行のたびに結果が変わる不安定なテスト)の特定、および失敗テストの詳細をCodeBuildコンソールから直接確認できるようにしたいと考えています。外部のテスト管理ツールを導入せずにこれを実現する最適な方法を選択してください。
選択肢AはCloudWatch Logs Insightsを使用して正規表現でテスト失敗パターンを抽出する方法は、目的に対して過剰な複雑性を招きます。CodeBuildのネイティブ機能を使わずに外部システムへ依存するため非効率です。 選択肢BはCodeBuildのネイティブテストレポート機能は、buildspec.ymlのreportsセクションでJUnit XML・Cucumber JSON・Visual Studio TRX形式を指定するだけで利用できます。テストの合格率・失敗テスト詳細・時系列トレンドをCodeBuildコンソールから直接確認でき、フレーキーテスト(不安定テスト)も識別可能です。追加インフラ不要でCI/CDに組み込めるネイティブソリューションとして最適です。 選択肢CはS3+Athena+QuickSightの構成は外部ツールへの依存度が高く、構築・運用コストが大きすぎます。 選択肢DはLambda関数による手動実装は開発コストと保守負荷が大きく、CodeBuildネイティブ機能の方が効率的です。