πŸ”’ Guided

Pre-launch preview. Authorised access only.

Incorrect code

Guided by A Guide to Cloud
Explore AB-900 AI-901
Guided AZ-400 Domain 3
Domain 3 β€” Module 2 of 13 15%
8 of 25 overall

AZ-400 Study Guide

Domain 1: Design and Implement Processes and Communications

  • Work Item Tracking: Boards, GitHub & Flow
  • DevOps Metrics: Dashboards That Drive Decisions
  • Collaboration: Wikis, Teams & Release Notes

Domain 2: Design and Implement a Source Control Strategy

  • Branching Strategies: Trunk-Based, Feature & Release
  • Pull Requests: Policies, Protections & Merge Rules
  • Repository Management: LFS, Permissions & Recovery

Domain 3: Design and Implement Build and Release Pipelines

  • Package Management: Feeds, Versioning & Upstream
  • Testing Strategy: Quality Gates & Release Gates
  • Test Implementation: Code Coverage & Pipeline Tests
  • Azure Pipelines: YAML from Scratch Free
  • GitHub Actions: Workflows from Scratch Free
  • Pipeline Agents: Self-Hosted, Hybrid & VM Templates
  • Multi-Stage Pipelines: Templates, Variables & Approvals
  • Deployment Strategies: Blue-Green, Canary & Ring Free
  • Safe Rollouts: Slots, Dependencies & Hotfix Paths
  • Deployment Implementations: Containers, Scripts & Databases
  • Infrastructure as Code: ARM vs Bicep vs Terraform
  • IaC in Practice: Desired State & Deployment Environments
  • Pipeline Maintenance: Health, Migration & Retention

Domain 4: Develop a Security and Compliance Plan

  • Pipeline Identity: Service Principals, Managed IDs & OIDC Free
  • Authorization & Access: GitHub Roles & Azure DevOps Security
  • Secrets & Secure Pipelines: Key Vault & Workload Federation
  • Security Scanning: GHAS, Defender & Dependabot

Domain 5: Implement an Instrumentation Strategy

  • Monitoring for DevOps: Azure Monitor & App Insights
  • Metrics & KQL: Analysing Telemetry & Traces

AZ-400 Study Guide

Domain 1: Design and Implement Processes and Communications

  • Work Item Tracking: Boards, GitHub & Flow
  • DevOps Metrics: Dashboards That Drive Decisions
  • Collaboration: Wikis, Teams & Release Notes

Domain 2: Design and Implement a Source Control Strategy

  • Branching Strategies: Trunk-Based, Feature & Release
  • Pull Requests: Policies, Protections & Merge Rules
  • Repository Management: LFS, Permissions & Recovery

Domain 3: Design and Implement Build and Release Pipelines

  • Package Management: Feeds, Versioning & Upstream
  • Testing Strategy: Quality Gates & Release Gates
  • Test Implementation: Code Coverage & Pipeline Tests
  • Azure Pipelines: YAML from Scratch Free
  • GitHub Actions: Workflows from Scratch Free
  • Pipeline Agents: Self-Hosted, Hybrid & VM Templates
  • Multi-Stage Pipelines: Templates, Variables & Approvals
  • Deployment Strategies: Blue-Green, Canary & Ring Free
  • Safe Rollouts: Slots, Dependencies & Hotfix Paths
  • Deployment Implementations: Containers, Scripts & Databases
  • Infrastructure as Code: ARM vs Bicep vs Terraform
  • IaC in Practice: Desired State & Deployment Environments
  • Pipeline Maintenance: Health, Migration & Retention

Domain 4: Develop a Security and Compliance Plan

  • Pipeline Identity: Service Principals, Managed IDs & OIDC Free
  • Authorization & Access: GitHub Roles & Azure DevOps Security
  • Secrets & Secure Pipelines: Key Vault & Workload Federation
  • Security Scanning: GHAS, Defender & Dependabot

Domain 5: Implement an Instrumentation Strategy

  • Monitoring for DevOps: Azure Monitor & App Insights
  • Metrics & KQL: Analysing Telemetry & Traces
Domain 3: Design and Implement Build and Release Pipelines Premium ⏱ ~13 min read

Testing Strategy: Quality Gates & Release Gates

Design comprehensive testing strategies with unit, integration, and load tests. Implement quality gates and release gates that enforce security, governance, and code quality before deployment.

Why testing strategy matters in DevOps

β˜• Simple explanation

Think of airport security.

Before you board a plane, you pass through multiple checkpoints β€” ticket check, ID verification, bag scanner, metal detector. Each checkpoint catches a different kind of risk. If one checkpoint fails, you don’t fly.

Quality gates and release gates work the same way for software deployments. Before code reaches production, it passes through checkpoints β€” unit tests, integration tests, security scans, code coverage thresholds, manual approvals. Each gate catches a different type of problem. If any gate fails, the deployment stops.

A good testing strategy layers these checkpoints from fast-and-cheap (unit tests run in seconds) to slow-and-thorough (load tests take minutes), so you catch problems early and cheaply.

A testing strategy defines what types of tests run, when they run, and what thresholds must be met before code can progress through the pipeline. The AZ-400 exam expects you to design strategies that span the full spectrum β€” from pre-commit local tests to post-deployment release gates.

Two concepts are central:

  • Quality gates β€” automated checks within the build pipeline (code coverage, test pass rate, static analysis, security scanning) that block merge or build completion
  • Release gates β€” automated or manual checks between deployment stages (Azure Monitor health, REST API validation, work item status, manual approval) that block promotion to the next environment

Both Azure Pipelines and GitHub Actions support these concepts, but implement them differently. The exam tests both platforms.

The testing pyramid

The testing pyramid organises test types by speed, cost, and scope:

LayerTest TypeSpeedScopeCatches
TopLoad / performance testsSlow (minutes)Full system under stressScalability issues, bottlenecks, timeouts
Middle-upperEnd-to-end (E2E) testsSlow (minutes)Full user journeys through the UIBroken workflows, integration failures visible to users
MiddleIntegration testsMedium (seconds-minutes)Multiple components togetherAPI contract violations, database issues, service communication failures
BaseUnit testsFast (milliseconds)Single function or classLogic errors, edge cases, regressions

The principle: Most of your tests should be at the base (fast, cheap, many). Fewer tests at the top (slow, expensive, targeted). An inverted pyramid β€” lots of E2E, few unit tests β€” is a warning sign of a brittle, slow test suite.

Local tests vs pipeline tests

AspectLocal testsPipeline tests
WhereDeveloper’s machineCI/CD agent or runner
WhenBefore commit / during developmentOn push, PR, or scheduled trigger
PurposeFast feedback loop for the developerEnforced quality gate for the team
EnforcementVoluntary (pre-commit hooks can help)Mandatory β€” pipeline blocks on failure
ExamplesLinting, unit tests, formatting checksFull test suite, integration tests, security scans
πŸ’‘ Exam tip: testing pyramid misconceptions

The exam may present scenarios where a team has a slow CI pipeline because 80% of their tests are E2E tests. The correct recommendation is to push testing down the pyramid β€” convert E2E tests to integration or unit tests where possible. This reduces pipeline duration and gives faster feedback.

Also watch for the distinction between functional tests (does it work correctly?) and non-functional tests (does it perform, scale, and stay secure?). Quality gates typically cover both.

Quality gates β€” blocking builds on quality

Quality gates are automated checks that prevent code from progressing unless it meets defined thresholds. They run during the build (CI) phase.

Common quality gate types

GateWhat It ChecksTypical ThresholdTool
Test pass ratePercentage of tests passing100% (no failing tests)Test task results
Code coveragePercentage of code exercised by tests70-80% minimumCobertura, JaCoCo, Istanbul
Static analysisCode quality rules, complexity, maintainabilityZero critical violationsSonarQube, CodeQL, Roslyn analysers
Security scanKnown vulnerabilities in code or dependenciesZero critical/high CVEsDependabot, Snyk, GitHub Advanced Security
LintingCode style and formattingZero errors (warnings may be allowed)ESLint, Pylint, StyleCop

Implementing quality gates in Azure Pipelines

In Azure Pipelines, quality gates are implemented through build validation policies on branch policies:

  1. Define a build pipeline that runs tests, coverage, and scans
  2. Set the pipeline as a build validation policy on the target branch
  3. PRs cannot merge until the build succeeds β€” failed tests or insufficient coverage block the merge

Implementing quality gates in GitHub Actions

In GitHub Actions, quality gates use required status checks on branch protection rules:

  1. Define a workflow that runs on pull_request events
  2. Set the workflow’s jobs as required status checks in branch protection settings
  3. PRs cannot merge until all required checks pass

Release gates β€” blocking deployments on readiness

Release gates are checks that run between deployment stages. Unlike quality gates (which check code quality), release gates check whether the environment and system are healthy enough to receive a deployment.

Azure Pipelines release gates

Azure Pipelines classic releases have built-in gate types:

Gate TypeWhat It ChecksExample
Azure Monitor alertsNo active alerts on the target environmentZero Sev 1 alerts on staging before promoting to production
REST APICall an external endpoint and check the responseCall a health check endpoint, require HTTP 200
Azure Policy complianceResources meet governance policiesAll VMs encrypted, all storage accounts HTTPS-only
Work item queryNo blocking bugs or incidentsZero open P1 bugs for this release
Manual approvalA human signs offRelease manager approves after smoke testing

Gates are evaluated on a polling interval (e.g., every 5 minutes) and must remain healthy for a stabilisation time before the deployment proceeds.

GitHub Actions environment protection rules

GitHub Actions implements release gates through environment protection rules:

  • Required reviewers β€” one or more people must approve before deployment
  • Wait timer β€” delay deployment by a specified number of minutes
  • Deployment branch rules β€” only specific branches can deploy to this environment
  • Custom deployment protection rules β€” call external services (third-party integrations) to approve or reject
Quality gates protect code quality; release gates protect deployment readiness
AspectQuality GatesRelease Gates
When they runDuring build / CI phase β€” before code is merged or artefact is createdBetween deployment stages β€” after build, before deploying to next environment
What they checkCode quality: tests, coverage, security scans, static analysisEnvironment readiness: monitoring health, manual approvals, compliance, external service status
Failure actionBlock PR merge or fail the buildBlock deployment promotion to the next stage
Azure PipelinesBuild validation policies on branchesClassic release gates, YAML environment checks and approvals
GitHub ActionsRequired status checks on branch protectionEnvironment protection rules (reviewers, wait timers, custom rules)
Automation levelFully automated β€” no human interventionMix of automated checks and manual approvals
πŸ’‘ Scenario: Dr. Amira's government testing strategy

πŸ›οΈ Dr. Amira Hassan is designing a testing strategy for Major Collins’s defence logistics system. The system handles classified supply chain data β€” a broken deployment could disrupt military operations.

Quality gates (build phase):

  • Unit tests must pass at 100%
  • Code coverage must exceed 85% (defence mandate)
  • CodeQL security scan β€” zero critical or high findings
  • OWASP dependency check β€” zero known CVEs
  • Farah (junior consultant) runs npm test locally before pushing β€” but the pipeline enforces everything regardless

Release gates (deployment phase):

  • Integration tests against a sandboxed environment (no production data)
  • Azure Monitor gate β€” zero active Sev 1/2 alerts on staging
  • Manual approval from Major Collins (operational sign-off) AND Elena from compliance
  • 30-minute stabilisation timer after deployment to staging before promoting to production

Marcus (audit) requires gate results to be retained for 7 years. Amira configures pipeline retention policies accordingly.

Load testing

Load testing validates that your application handles expected (and unexpected) traffic levels. The AZ-400 exam covers:

Azure Load Testing

  • Managed service β€” runs Apache JMeter scripts at scale
  • Integrates with Azure Pipelines and GitHub Actions as a pipeline task
  • Can define fail criteria β€” e.g., response time p95 must be under 2 seconds, error rate under 1%
  • Results include response time percentiles, throughput, and error breakdowns

Load test types

TypePurposeExample
Load testValidate performance under expected trafficSimulate 1,000 concurrent users for 10 minutes
Stress testFind the breaking pointRamp from 100 to 10,000 users until errors spike
Soak testDetect memory leaks and degradation over timeRun 500 concurrent users for 8 hours
Spike testValidate response to sudden traffic burstsJump from 100 to 5,000 users instantly
Question

What is the difference between a quality gate and a release gate?

Click or press Enter to reveal answer

Answer

Quality gates run during the build/CI phase and check code quality (tests, coverage, security scans). They block PR merges or builds. Release gates run between deployment stages and check environment readiness (monitoring health, manual approvals, compliance). They block promotion to the next environment.

Click to flip back

Question

Name four built-in Azure Pipelines release gate types.

Click or press Enter to reveal answer

Answer

1) Azure Monitor alerts β€” check for active alerts on the target environment. 2) REST API β€” call an endpoint and validate the response. 3) Azure Policy compliance β€” verify resources meet governance policies. 4) Work item query β€” ensure no blocking bugs or incidents exist. Plus manual approval gates.

Click to flip back

Question

What are GitHub Actions environment protection rules?

Click or press Enter to reveal answer

Answer

Rules that control deployments to specific environments. Four types: Required reviewers (human approval), Wait timer (delay in minutes), Deployment branch rules (restrict which branches can deploy), and Custom deployment protection rules (external service integration). Configured per environment in repository settings.

Click to flip back

Question

What is the testing pyramid principle?

Click or press Enter to reveal answer

Answer

Most tests should be at the base (unit tests β€” fast, cheap, many). Fewer at the middle (integration). Fewest at the top (E2E/load β€” slow, expensive). An inverted pyramid (many E2E, few unit) creates slow, brittle pipelines. Push testing down the pyramid for faster feedback.

Click to flip back

Knowledge check

Knowledge Check

Dr. Amira's defence client wants to automatically block deployments to production whenever Azure Monitor detects active Severity 1 alerts on the staging environment. Which mechanism should she configure?

Knowledge Check

Kai's team at Launchpad Labs has a CI pipeline that takes 45 minutes because 70% of their tests are end-to-end Selenium tests. What should Kai recommend to reduce pipeline time?

Knowledge Check

Nadia needs to enforce that no PR can be merged into the release branch at Meridian Insurance unless code coverage is at least 80% and all security scans pass. She uses Azure DevOps. What should she configure?

🎬 Video coming soon

Next up: Test Implementation β€” configure test tasks, publish results, and analyse code coverage with Cobertura, JaCoCo, and Istanbul in your pipelines.

← Previous

Package Management: Feeds, Versioning & Upstream

Next β†’

Test Implementation: Code Coverage & Pipeline Tests

Guided

I learn, I simplify, I share.

A Guide to Cloud YouTube Feedback

© 2026 Sutheesh. All rights reserved.

Guided is an independent study resource and is not affiliated with, endorsed by, or officially connected to Microsoft. Microsoft, Azure, and related trademarks are property of Microsoft Corporation. Always verify information against Microsoft Learn.