Jeff’s Note #
Unlike generic exam dumps, ADH analyzes this scenario through the lens of a Real-World Lead Developer.
For DVA-C02 candidates, the confusion often lies in how to properly integrate automated testing within the CI/CD pipeline and how to generate accessible test reports. In production, this is about knowing exactly which AWS services provide native support for test execution and result analysis without custom overhead. Let’s drill down.
The Certification Drill (Simulated Question) #
Scenario #
Imagine you are a lead developer at HorizonApp Solutions, a startup specializing in scalable SaaS platforms. Your team’s backend code is stored in AWS CodeCommit. Company policy mandates every change to the code repository must trigger a build that runs complete unit tests, and the detailed test results must be easily accessible for developer review and audit purposes. You need to architect a solution that processes every commit, builds the backend application, runs unit tests automatically, and produces a detailed test report.
The Requirement: #
Design a CI workflow that triggers on CodeCommit changes, builds your application, runs unit tests, and produces accessible, detailed test reports—all conforming to company policy.
The Options #
-
A) Configure AWS CodeDeploy to deploy code from CodeCommit and to run unit tests. Send the test results to Amazon CloudWatch metrics to view reports.
-
B) Configure Amazon CodeWhisperer to create the code and to run unit tests. Save the test results in an Amazon S3 bucket to generate reports.
-
C) Configure AWS CodeBuild to build the code and to run unit tests. Use test reporting in CodeBuild to generate and view reports.
-
D) Create AWS Lambda functions that run when changes are made in CodeCommit. Program the Lambda functions to build the code, run unit tests, and save the test results to a Lambda layer.
Google adsense #
leave a comment:
Correct Answer #
C
Quick Insight: The Developer Imperative #
Using CodeBuild for build and test automation leverages its native support for running build commands, unit test frameworks integration, and detailed test reports directly accessible in the console. This removes complex custom orchestration and provides consistent visibility.
Content Locked: The Expert Analysis #
You’ve identified the answer. But do you know the implementation details that separate a Junior from a Senior?
The Expert’s Analysis #
Correct Answer #
Option C
The Winning Logic #
AWS CodeBuild is purpose-built for CI workflows: it integrates tightly with CodeCommit to trigger builds on commits, runs buildspec-defined build and test commands, and has built-in support for collecting test reports in various formats (e.g., JUnit XML) which are then displayed in the AWS Console. This meets the requirement to run unit tests automatically and produce an accessible, detailed test report with minimal custom work.
- As a Lead Developer, you know this leverages native AWS CI tooling without the complexity or maintenance burden of custom Lambda orchestration or less suitable services.
The Trap (Distractor Analysis) #
-
Why not A?
AWS CodeDeploy is designed for deployment automation and does not natively execute builds or run unit tests. Using CloudWatch metrics to report test results lacks detailed test report visibility and traceability required by policy. -
Why not B?
Amazon CodeWhisperer is a coding companion to assist in code generation but is not designed as a CI tool to run builds or tests, nor to manage test result reporting at scale. -
Why not D?
Lambda functions can be triggered by CodeCommit events, but orchestrating code builds, executing unit tests, and preserving complex test reports is cumbersome and inefficient in Lambda’s constraints (timeout, ephemeral environment). Also, saving test results to Lambda layers is an incorrect use of Lambda layers, which are meant for shared code, not data storage.
The Technical Blueprint #
# Example snippet: Trigger CodeBuild build for a CodeCommit repo and enable test reports
# Start build (assuming build project is pre-configured with buildspec.yml)
aws codebuild start-build --project-name HorizonBackendBuild
# buildspec.yml snippet snippet:
version: 0.2
phases:
install:
commands:
- echo Installing dependencies...
- pip install -r requirements.txt
build:
commands:
- echo Running unit tests...
- pytest --junitxml=testreports/results.xml
reports:
testreports:
files:
- testreports/results.xml
base-directory: .
The Comparative Analysis #
| Option | API Complexity | Performance | Use Case |
|---|---|---|---|
| A | Medium | Moderate | Deployment-centric, not meant for build/test |
| B | Low | Low | Code generation only, not CI/CD |
| C | Low | High | Native build + test + reporting; CI/CD suitable |
| D | High | Variable | Custom orchestration; inefficient for builds |
Real-World Application (Practitioner Insight) #
Exam Rule #
For the exam, always pick AWS CodeBuild when you see requirements involving building code, running tests, and getting test reports in an automated pipeline.
Real World #
In production, teams sometimes integrate CodePipeline with CodeBuild to automate further stages, but CodeBuild alone is the fundamental service for build + test automation.
(CTA) Stop Guessing, Start Mastering #
Disclaimer
This is a study note based on simulated scenarios for the DVA-C02 exam.