← Back to principles

QA

Automation must be zero-failure

What this means in practice

  • All automated tests run as part of the CI pipeline for every change (pull request and mainline).

  • The pipeline is a quality gate: builds are not considered “green” unless test automation completes with a 0% failure rate.

  • Teams do not ship with known test failures (e.g., “10% failing is fine”) and do not rely on manual triage to decide which failures matter.

  • Flaky tests are treated as defects in the delivery system and are fixed/removed from the gating suite immediately.

Why this matters

  • A non-zero failure rate normalises broken feedback loops and makes CI signals unreliable.

  • If teams have to review failures to decide what is important, the pipeline is no longer a gate—it’s noise.

  • A zero-failure standard preserves confidence, reduces rework, and prevents degraded quality from reaching customers.

Practices that meet this principle

  • CI runs the full gating automated suite on every PR and blocks merges on any failure. If not on PR, then at least as part of the path to production

  • The team maintains a clear, owned process to eliminate flakiness quickly (e.g., same-day fix or quarantine policy with strict time limit).

  • Test results are visible and actionable (Show in Azure, link to logs, failures are treated as incidents when they block delivery).

  • The gating suite stays fast enough to be used consistently; longer-running suites can exist, but they do not replace the zero-failure gate.

  • Following Playwright standards/best practices to prevent flaky tests - build the quality from the start.

Validation

A project meets this principle when:

  • The CI pipeline includes automated test execution as a required step for merge/release.

  • The expected failure rate for the gating suite is 0% (no accepted baseline of failing tests).

  • Any test failure blocks shipping until resolved.

  • There is no routine manual “failure review” to decide whether a failed test can be ignored.