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

ある DevOps チームは CodeBuild でユニットテスト・統合テスト・コードカバレッジ計測を実行しています。テスト合格率とコードカバレッジのトレンドを長期的に追跡し、不安定なテスト(フレーキーテスト:実行のたびに結果が変わる信頼性の低いテスト)を特定して、テスト合格率が閾値を下回った際にアラートを受け取る仕組みを最小限の追加インフラで構築したいと考えています。最も適切なソリューションはどれですか?

A
CodeBuild のビルドログをすべて CloudWatch Logs に送信し、ログメトリクスフィルターで FAILED キーワードをカウントするカスタムメトリクスを作成する。このメトリクスに CloudWatch アラームを設定してテスト失敗を検知する
CloudWatch Logs に送信し、ログメトリクスフィルターで FAILED キーワードをカウントするカスタムメトリクスを作成する方法は、追加の管理コンポーネントの構築が必要です。
B
テスト結果を JUnit XML 形式、カバレッジを Clover XML 形式で出力し、buildspec.yml の reports セクションで CodeBuild テストレポートグループを定義する。テスト合格率とコードカバレッジの CodeBuild メトリクスに CloudWatch アラームを設定する
✓ 正解
CodeBuild テストレポートは JUnit XML・Cucumber JSON・Clover XML 等の形式をネイティブサポートし、buildspec.yml の reports セクションに数行追加するだけで自動集計されます。テスト合格率・実行時間・フレーキーテストのトレンドをコンソールで可視化でき、CodeBuild が自動発行する CloudWatch メトリクスにアラームを設定すれば追加インフラなしで通知も実現できます。
C
テスト結果ファイルを S3 バケットにアップロードし、Amazon Athena でクエリを実行して結果を Grafana ダッシュボードで可視化する。テスト合格率や不安定テストのアラートは Grafana Alerting で設定する
S3 バケットにアップロードし、Amazon Athena でクエリして Grafana ダッシュボードで可視化する方法は、追加インフラとしてGrafanaの構築・維持が必要で運用コストが高いです。
D
AWS Step Functions でテスト実行を並列化し、各テスト結果を DynamoDB テーブルに格納する。Lambda 関数でテスト合格率の集計とトレンド分析を行い、閾値超過時に Amazon SNS でオンコールチームに通知する
AWS Step Functions でテスト実行を並列化し、各テスト結果を DynamoDB テーブルに格納する方法は、追加インフラ(DynamoDB・Lambda)の管理が必要となり運用コストが高いです。

解説

CodeBuild テストレポートは JUnit XML・Cucumber JSON・Clover XML 等の形式をネイティブサポートし、buildspec.yml の reports セクションに数行追加するだけで自動集計されます。テスト合格率・実行時間・フレーキーテストのトレンドをコンソールで可視化でき、追加インフラなしで通知も実現できます。 選択肢A(CloudWatch Logs メトリクスフィルター)は不正解です。ログから FAILED キーワードをカウントする方法では、フレーキーテストの特定やカバレッジトレンドの追跡ができず、CodeBuild テストレポートより精度が低くなります。 選択肢B(CodeBuild テストレポート + CloudWatch アラーム)が正解です。buildspec.yml の reports セクションにレポートグループを定義するだけでテスト合格率・カバレッジ・フレーキーテストを自動集計でき、CodeBuild が自動発行する CloudWatch メトリクスにアラームを設定することで追加インフラなしで閾値通知を実現できます。 選択肢C(S3 + Athena + Grafana)は不正解です。Grafana の構築・維持が必要で追加インフラのコストが高く、最小限の追加インフラという要件を満たしません。 選択肢D(Step Functions + DynamoDB + Lambda + SNS)は不正解です。複数のコンポーネントを追加で管理する必要があり、最小限の追加インフラという要件を満たしません。

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

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

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