Automated tests, reports, and quality gates
Exam alignment: DOP-C02 Domain 1 task statements for pipelines, testing, artifacts, or deployment.
Learning objective
Place test types correctly and make required evidence block promotion.
| Difficulty / Schwierigkeitsgrad | Intermediate |
| Study time / Lernzeit | 120 minutes |
| Prerequisites / Voraussetzungen | Previous lessons in this volume |
Professional scenario
Pipeline compiles successfully but does not run integration or acceptance tests.
Core concepts
- Unit, integration, acceptance, static, and security tests answer different risks.
- CodeBuild report groups collect supported test formats.
- A report creates visibility; a gate enforces an outcome.
- Isolated test environments reduce state conflicts.
Architecture flow
- Identify the release input and immutable identity.
- Select the managed AWS control plane and least-privilege role.
- Execute build, test, artifact, or deployment work.
- Collect service events, logs, reports, and runtime metrics.
- Stop, retry, or roll back according to explicit rules.
Decision matrix
| Requirement | Preferred choice | Reason |
|---|---|---|
| Fast deterministic test | Early build action | Quick feedback |
| Deployed dependency test | Integration stage | Realistic interaction |
| Independent suites | Parallel actions | Lower duration |
Failure modes and troubleshooting
- Report is published but command returns success.
- Coverage is treated as proof of correctness.
- Shared test data causes flaky outcomes.
Security and operations
- Use short-lived service roles and least privilege.
- Encrypt artifacts and protect logs from secret exposure.
- Record changes and approvals for audit.
Hands-on lab
Goal / Ziel: Publish a JUnit report and enforce failure.
Tasks
- Create the smallest safe test architecture.
- Implement or simulate the main workflow.
- Introduce one controlled failure.
- Diagnose it from service evidence.
- Document cleanup and one improvement.
Validation
- The workflow uses an immutable version.
- A required failure blocks promotion.
- The diagnosis identifies the first failed transition.
Cost control / Kostenkontrolle: Keep resources short lived; read cleanup before starting.
Cleanup
- Delete pipeline/build/deployment resources.
- Delete temporary artifacts, images, logs, and roles.
Exam traps
- Reports without gates.
- Slow tests before cheap checks.
Key takeaways
- Unit, integration, acceptance, static, and security tests answer different risks.
- Isolated test environments reduce state conflicts.
- Decisions must be justified by requirements and failure behavior.
Review questions
- What is the immutable release identity?
- Which evidence proves failure or success?
- What is the safest recovery action?
Answers
- A version, digest, or uniquely versioned artifact.
- Service events, logs, reports, health checks, and runtime metrics.
- Restore the known-good version using the configured rollback path.