The Agile Testing Manifesto
In the same way the Agile Manifesto defines principles for software development, Agile Testing requires its own set of guiding principles. These principles reframe what quality means in an agile context — moving away from reactive gate-keeping and toward a shared, proactive discipline.
Core Principles
Test throughout the ENTIRE process — over — Test at the end
Testing is not a final verification step. It begins with the first conversation about a feature and ends only when the feature is retired. Every stage — from requirements to design, from development to deployment — is an opportunity to test.
PREVENT bugs — over — Find bugs
The primary goal of QA in an agile team is to prevent defects from being introduced, not merely to catch them after the fact. This means asking questions early, challenging assumptions, and building quality into the process.
UNDERSTAND what is tested — over — Check functionality
A checklist approach to testing — verifying that a feature “works” — misses the real purpose. Understanding what is being tested means knowing the business context, the user’s intent, and the system boundaries. It means testing with purpose.
Build the BEST system — over — Break the system
The adversarial framing of “break the system” is outdated. The goal is not destruction — it is to understand how the system behaves under real conditions, and to use that understanding to help build something better.
Responsibility of the WHOLE team — over — Individual responsibility of the tester
Quality is not owned by QA. It is a collective commitment. Developers, product owners, designers, and testers all share responsibility for the quality of what is delivered. QA enables and facilitates this — it does not absorb responsibility on behalf of the team.
The Principle Behind the Principles
Testing is not a phase. Testing is continuous.
This single sentence encapsulates the entire manifesto. When testing becomes continuous — embedded in planning, in code, in deployment, in monitoring — quality ceases to be a bottleneck and becomes a property of the system itself.