無限ノック › DOP 練習問題一覧 › 問題
DOPSDLC の自動化

8つのマイクロサービスを開発するチームが、各サービスに独立したCodeBuildプロジェクトを持っています。各プロジェクトはJUnit(Javaのユニットテストフレームワーク)形式のテスト結果ファイルを生成します。QAマネージャーから「過去30日間でフレーキー(flaky:実行するたびに成功・失敗が変わる不安定な)テストを特定し、テストスイートの安定性トレンドをビルドをまたいで可視化したい」という要件が提示されました。追加のサードパーティツールを導入せず、最小限の変更で実現する方法はどれですか?

A
各CodeBuildプロジェクトのbuildspec.ymlにreportsセクションを追加してJUnit XMLファイルのパスを指定し、CodeBuildのテストレポートグループ機能でビルドをまたいだ合格率のトレンドとフレーキーテストを分析する
✓ 正解
CodeBuild のテストレポートグループは JUnit・NUnit・Cucumber 形式のテスト結果を自動解析し、ビルドをまたいだテストケースごとの合格率・失敗履歴・フレーキーテスト検出をコンソール上でネイティブに提供します。buildspec.yml の reports セクションにファイルパスを指定するだけで有効化でき、追加インフラは不要です。
B
CloudWatch Logsにテスト結果を構造化ログで出力するLambda関数を作成し、CloudWatch Logs Insightsのクエリでビルドをまたいだ失敗パターンを分析しフレーキーテストを特定する
CloudWatch Logs にテスト結果を構造化ログで出力し、CloudWatch Logs Insights のクエリで失敗パターンを分析する方法は、CloudWatch ベースの分析サービスが必要になり追加実装が必要です。
C
CodeBuildのビルドアーティファクトとしてJUnit XMLをS3に出力し、AWS GlueでETL(抽出・変換・ロード)処理してAmazon QuickSightでテスト安定性トレンドのダッシュボードを作成する
CodeBuild のビルドアーティファクトとして JUnit XML を S3 に出力し、AWS Glue でETL 処理して Amazon QuickSight でダッシュボードを作成する方法は、複雑な実装が必要です。
D
各CodeBuildプロジェクトのCloudWatchメトリクス(SucceededBuilds / FailedBuilds)でカスタムダッシュボードを作成し、ビルドをまたいだ失敗率のトレンドを継続的に監視する
各CodeBuild プロジェクトの CloudWatch メトリクス(SucceededBuilds / FailedBuilds)でカスタムダッシュボードを作成する方法は、テストケースレベルの詳細情報が得られず、フレーキーテスト検出には対応していません。

解説

CodeBuild のテストレポートグループは JUnit・NUnit・Cucumber 形式のテスト結果を自動解析し、ビルドをまたいだテストケースごとの合格率・失敗履歴・フレーキーテスト検出をコンソール上でネイティブに提供します。buildspec.yml の reports セクションにファイルパスを指定するだけで有効化でき、追加インフラは不要です。 選択肢B の CloudWatch Logs にテスト結果を構造化ログで出力し、CloudWatch Logs Insights のクエリで失敗パターンを分析する方法は、CloudWatch ベースの分析サービスが必要になり追加実装が必要です。 選択肢C の CodeBuild のビルドアーティファクトとして JUnit XML を S3 に出力し、AWS Glue でETL 処理して Amazon QuickSight でダッシュボードを作成する方法は、複雑な実装が必要です。 選択肢D の 各CodeBuild プロジェクトの CloudWatch メトリクス(SucceededBuilds / FailedBuilds)でカスタムダッシュボードを作成する方法は、テストケースレベルの詳細情報が得られず、フレーキーテスト検出には対応していません。

ドメイン別正答率・予想スコアでリアルタイムに実力把握

無限ノックでDOPを徹底対策。全問AI生成のオリジナル問題。

無料で演習を始める →
← DOP の問題一覧に戻る