
Written by: Senior QA Engineer
Mykhailo RalduhinUpdated: 12.10.2026
24 min read
Agile testing is not traditional testing performed faster. It changes when testing begins, who participates, how feedback reaches the team, and how release risk is assessed.
Instead of waiting for developers to complete a large block of work, an Agile team discusses testability during refinement, defines acceptance criteria before coding, tests small increments throughout the sprint, and uses automation to check existing behavior continuously.
The goal is not to release at any cost. It is to produce useful software in small increments while keeping quality visible throughout development.
What is Agile testing?
Agile testing is a continuous, collaborative approach to software testing that follows the principles of Agile development. Testing happens throughout the software development lifecycle rather than in a separate phase after implementation.
Testers, developers, product owners, designers, and other team members work together to:
Clarify requirements;
Identify product risks;
Define acceptance criteria;
Design testable solutions;
Verify small increments;
Automate repeatable checks;
Explore new behavior;
Review feedback;
Improve the process after every iteration.
In Agile software testing, quality is a shared responsibility. QA engineers remain testing specialists, but they are not the only people responsible for preventing defects.
Developers write and maintain unit and integration tests. Product owners clarify expected business behavior. Designers review usability and accessibility. DevOps engineers help create stable test environments and delivery pipelines. QA engineers connect these activities through risk analysis, test design, exploratory testing, automation, and release-quality assessment.
Agile testing example
Suppose a team is adding discount codes to an eCommerce checkout.
In a sequential process, developers might implement the feature first and pass it to QA near the end of the release.
In an Agile testing process:
During refinement, the product owner, developer, and tester discuss valid, expired, single-use, and customer-specific codes.
The team adds measurable acceptance criteria to the user story.
The developer writes unit tests for discount calculations.
The QA engineer prepares API and UI scenarios while development is underway.
Automated checks run when code is committed.
The tester verifies the story and explores interactions with tax, shipping, refunds, and existing promotions.
Relevant regression tests run before the story is considered done.
Stakeholders review the working feature during the sprint review.
Any process problems are discussed during the retrospective.
Testing is not one activity at the end. It is a series of quality checks and conversations distributed across the sprint.
Agile testing vs Waterfall testing
Agile and Waterfall can both produce well-tested software. The difference lies primarily in timing, feedback, planning, and the way changes are handled.
Development model
Iterative and incremental
Sequential and phase-based
When testing begins
During requirements and design
Usually after a substantial development phase
Delivery scope
Small increments
Large release or complete product
Feedback
Continuous and frequent
Concentrated near the testing phase
Requirements
Expected to evolve
Defined extensively in advance
Test planning
Updated throughout development
Planned mainly at the beginning
Documentation
Sufficient, current, and adaptable
Usually more detailed and formal
Automation
Often integrated into CI/CD
May be separate from the development workflow
Defect discovery
During development of the increment
Often after implementation is completed
Team model
Cross-functional team with shared quality ownership
Testing may be handled by a separate QA team
Customer involvement
Frequent reviews and feedback
Often concentrated around milestones and acceptance
Regression testing
Continuous or frequent
Commonly performed before major releases
Response to change
Scope and tests can be adjusted each iteration
Late changes may require formal replanning
Waterfall is not automatically inferior. It can suit projects with stable requirements, formal approval stages, or strict contractual deliverables. Agile testing is more suitable when the product changes frequently and the team needs feedback before investing in large amounts of implementation.
The main failure occurs when an organization adopts Agile ceremonies but keeps testing as a separate final phase. That creates a compressed Waterfall process inside each sprint.
Principles of Agile testing
The practical principles of Agile testing can be summarized without turning each one into a separate methodology.
Test early. Review requirements, risks, architecture, and acceptance criteria before implementation begins.
Test continuously. Run appropriate checks throughout the sprint and delivery pipeline.
Make quality a team responsibility. Developers, testers, product owners, designers, and operations specialists contribute to product quality.
Work in small increments. Smaller changes are easier to understand, test, debug, and release.
Prefer fast feedback. Run the quickest useful tests at the earliest practical stage.
Focus on business risk. Give critical workflows, data, security, and integrations deeper coverage.
Use automation purposefully. Automate repeatable checks where automation improves feedback, consistency, or coverage.
Keep room for exploration. Scripted tests cannot anticipate every interaction or user behavior.
Maintain useful documentation. Documentation should support decisions and repeatability without becoming an outdated archive.
Adapt from evidence. Use defects, production data, user feedback, and sprint retrospectives to improve testing.
Build quality into the product. Testing should influence requirements and design, not merely inspect completed code.
Agile testing quadrants
The Agile testing quadrants provide a way to organize different testing activities by two dimensions:
Do the tests support the team or critique the product?
Are the tests business-facing or technology-facing?
The quadrants are not sequential phases. A team may use activities from all four during the same sprint.
Q1: Technology-facing tests that support the team
Give developers fast feedback about code
Unit, component, API-level, and integration tests; static analysis
Developers and SDETs
Q2: Business-facing tests that support the team
Confirm that the team is building the intended behavior
Story tests, functional examples, acceptance tests, prototypes, API scenarios
QA engineers, developers, product owners, business analysts
Q3: Business-facing tests that critique the product
Evaluate the product from a user and business perspective
Exploratory, usability, accessibility, user acceptance, and scenario testing
QA engineers, users, designers, product owners
Q4: Technology-facing tests that critique the product
Evaluate product characteristics beyond individual features
Performance, security, compatibility, reliability, recovery, and scalability testing
Performance, security, automation, QA, and platform engineers
Quadrant 1: Fast technical feedback
Q1 tests check small units and technical components. They should be fast, deterministic, and executed frequently.
A developer changing discount calculations might run unit tests for percentages, fixed amounts, rounding, invalid values, and currency rules before committing the code.
Quadrant 2: Shared understanding of expected behavior
Q2 turns requirements into concrete examples.
For a discount feature, the team might agree that:
An expired code is rejected;
A code cannot reduce an order below zero;
A customer-specific code cannot be used by another customer;
A discount is recalculated when cart contents change.
These examples guide both development and testing.
Quadrant 3: Human evaluation
Q3 asks whether the completed increment is useful, understandable, and appropriate for real users.
Exploratory testing may reveal that users cannot tell why a code was rejected, even though the application technically meets its acceptance criteria. Usability testing may show that the discount field is difficult to find on mobile.
Quadrant 4: Product-level technical risks
Q4 covers characteristics such as performance, security, compatibility, and resilience.
For the same checkout change, the team may test whether discount validation slows down under high traffic or whether an unauthorized user can access a customer-specific promotion.
The quadrants help teams avoid equating Agile testing with automated functional checks. A release can pass every Q1 and Q2 test and still have serious usability, security, or performance problems.
The test pyramid in Agile testing
The test pyramid is a model for distributing automated tests across different levels. Its central idea is to maintain many fast, focused tests at lower levels and fewer broad, expensive tests at the user-interface level.
Martin Fowler describes the test pyramid as a balanced test portfolio with more low-level unit tests than broad tests running through the UI.
Unit and component tests
Functions, classes, modules, and isolated components
Fastest
Low per test
Provide immediate feedback on code behavior
Service, API, and integration tests
Connections between modules, services, databases, and APIs
Fast to moderate
Moderate
Validate business rules and integrations without UI overhead
End-to-end and UI tests
Complete workflows through the application interface
Slowest
Highest
Protect a limited set of critical user journeys
The pyramid is a design principle, not a required percentage.
A product with complex service integrations may need a large middle layer. A mobile application may require more UI coverage than a backend service. A legacy product may initially depend on end-to-end tests because lower-level testability was not built into the architecture.
The warning sign is an inverted pyramid: hundreds of slow UI tests, limited API coverage, and few unit tests. Such suites tend to become slow and flaky, delaying the feedback that Agile testing is meant to provide.
The World Quality Report 2025–26 found that organizations using automation had automated an average of 33% of their test cases. The appropriate goal is not necessarily a higher percentage. It is a test portfolio that returns useful information within the team’s delivery cycle.
How Agile testing works within a sprint
1. Backlog refinement
Testing begins before a story enters the sprint.
During refinement, the team should:
Clarify the user problem and expected value;
Identify missing or ambiguous requirements;
Discuss dependencies and integrations;
Explore positive, negative, and boundary scenarios;
Identify security, performance, accessibility, and compatibility risks;
Decide whether the story is small enough to complete within the sprint;
Define testable acceptance criteria;
Estimate testing and automation work.
A useful technique is the Three Amigos conversation involving a business representative, developer, and tester. Each participant views the story differently: business value, implementation, and product risk.
2. Sprint planning
During planning, testing work becomes part of the sprint commitment.
The team decides:
Which stories can be completed;
What testing each story requires;
Which environments and data are needed;
What should be automated;
Whether performance, security, or compatibility specialists are required;
How much regression coverage is needed;
What must be true for the story to meet the Definition of Done.
Testing should not be represented as one general task at the end of the sprint. It should be visible within each story.
3. Test design and development
Developers and testers work in parallel.
While developers implement the feature, QA engineers can:
Refine test scenarios;
Prepare data;
Create API checks;
Review unit and integration coverage;
Update automated tests;
Configure mocks or service virtualization;
Check early builds;
Perform exploratory testing on partial functionality.
Early collaboration helps the developer make the code more testable and prevents the QA engineer from receiving an unfamiliar feature near the sprint deadline.
4. Continuous automated testing
Automated checks run at different stages of the pipeline.
A typical sequence is:
Static analysis and unit tests on the developer’s machine;
Unit and component tests on every commit;
API and integration tests on the pull request;
Smoke tests after deployment to a test environment;
Targeted regression tests for affected areas;
A broader regression suite on a schedule or before release.
Not every test needs to block every commit. Fast, reliable checks should provide immediate feedback, while slower suites can run later without delaying all development.
5. Story validation and exploratory testing
When a testable build is ready, the QA engineer verifies acceptance criteria and explores beyond them.
Exploration may cover:
Unusual data;
Interrupted workflows;
Permission combinations;
Interaction with existing features;
Error handling;
Accessibility;
Mobile and browser differences;
User behavior not described in the story.
Testing should happen while the developer can still respond within the sprint.
6. Defect resolution
Defects are discussed and prioritized quickly.
The team decides whether a defect:
Must be fixed before the story is done;
Can be handled within the same sprint;
Can be accepted temporarily with a documented limitation;
Reveals a missing requirement;
Requires a broader architectural change.
The product owner contributes business priority, while developers and testers explain technical and quality risk.
7. Regression testing
Regression testing verifies that the new increment has not damaged existing functionality.
The scope should reflect:
The changed components;
Shared services;
Critical customer journeys;
Defect history;
Business impact;
Available automated coverage.
High-risk tests may run with every relevant build. A wider suite can run overnight, at the end of the sprint, or before release.
8. Sprint review and demonstration
A successful demo is not proof that testing is complete. It is an opportunity to show working behavior, gather stakeholder feedback, and identify new requirements.
The team should be prepared to explain:
What was tested;
Which risks were covered;
What was not tested;
Whether any known limitations remain;
What feedback may change the next iteration.
9. Retrospective
The retrospective examines the process, not only individual defects.
Useful questions include:
Why did stories reach testing late?
Which acceptance criteria were unclear?
Which tests provided useful feedback?
Which tests were flaky or slow?
What escaped to production?
Were environments and data available on time?
Which manual checks should be automated?
Which automation no longer provides value?
Choose a small number of specific improvements for the next sprint and assign ownership.
What this looks like in practice
In DeviQA’s work on a childcare management platform, automated regression testing was integrated into the daily development process. More than 90% of regression test cases were automated, the full regression suite was reduced to around 30 minutes, and smoke testing took approximately 10 minutes.
The suite ran daily and supported more than ten production deployments every two weeks. These results came from combining automation, parallel execution, CI integration, API-based data creation, and ongoing test maintenance – not from treating automation as a separate final-stage project.
Roles in Agile testing
Product owner
The product owner:
Defines business priorities;
Clarifies desired outcomes;
Reviews acceptance criteria;
Prioritizes defects;
Accepts or rejects completed work;
Decides whether known risk is acceptable.
The product owner should not define test coverage alone, but their input is essential for risk-based decisions.
Business analyst
Where the role exists, the business analyst helps translate business needs into clear rules, examples, workflows, and edge cases.
Developer
Developers:
Design testable code;
Write unit and component tests;
Contribute API and integration tests;
Review acceptance criteria;
Fix defects;
Investigate failed automation;
Support test environments and diagnostic logging.
QA engineer
QA engineers:
Analyze requirements and risks;
Design tests;
Prepare test data;
Perform functional and exploratory testing;
Review automation coverage;
Investigate defects;
Assess release risk;
Help the team improve its quality process.
Automation QA engineer or SDET
Automation specialists design and maintain test frameworks, integrate suites into CI/CD, improve reporting, reduce flaky tests, and move coverage to the most appropriate testing layer.
DevOps, platform, or SRE engineer
These specialists support environments, deployment pipelines, observability, performance testing, recovery, and safe release practices.
Designer and UX specialist
Designers help validate usability, visual consistency, responsive behavior, and accessibility. A feature can meet its functional requirements and still be difficult to use.
The whole Agile team
Roles clarify expertise, but they should not create handoffs. Quality remains a team outcome.
Best practices for Agile testing
1. Make acceptance criteria concrete
Replace vague statements with observable behavior.
Instead of:
The user can apply a valid discount.
Use examples such as:
A valid percentage code reduces eligible items by the configured percentage.
An expired code displays a specific error and does not change the total.
A single-use code cannot be applied twice by the same account.
The discount is recalculated when an eligible item is removed.
Concrete examples reduce disagreement during development and testing.
2. Define what “done” means
A story should not be considered done merely because coding has stopped.
A Definition of Done may require:
Acceptance criteria passed;
Relevant unit and integration tests added;
Automated regression tests updated;
Exploratory testing completed;
Critical defects resolved;
Accessibility requirements checked;
Documentation updated;
Monitoring or analytics added;
The feature deployed to the required environment.
The definition should be realistic enough that the team can follow it consistently.
3. Use risk-based testing
Do not distribute testing effort evenly.
Prioritize according to:
Business impact;
Frequency of use;
Technical complexity;
Size and reach of the change;
Security and compliance requirements;
Integration dependencies;
Previous defects;
Difficulty of recovery.
A minor text change and a payment calculation change do not require the same testing depth.
4. Automate the right tests
Strong automation candidates include:
Stable, repeatable scenarios;
Unit and component behavior;
APIs and integrations;
Smoke tests;
Critical regression paths;
Data-driven checks;
Cross-browser workflows that run frequently.
Keep exploratory, usability-focused, rapidly changing, and rarely repeated scenarios manual where human evaluation provides more value.
The continued importance of manual testing does not contradict Agile automation. The two approaches solve different problems.
5. Integrate testing with CI/CD
Tests should run close to the change that could break them.
Teams using DevOps services and practices can integrate testing with build, deployment, monitoring, and rollback processes.
A useful pipeline gives developers:
Fast feedback from lower-level tests;
Clear failure information;
Consistent environments;
Defined release gates;
Visibility into flaky or quarantined tests;
Evidence of deployment health.
Do not block releases with unreliable tests. Fix the underlying problem, move the test to a more appropriate layer, or remove it from the blocking suite until it is stable.
6. Practice pair testing
A developer and tester can examine a feature together before formal validation.
Pair testing helps them:
Share system knowledge;
Reproduce defects faster;
Discover implementation assumptions;
Improve observability;
Identify missing testability;
Reduce repeated handoffs.
Pairing is particularly useful for complex integrations and intermittent defects.
7. Keep exploratory testing visible
Exploratory testing should not be treated as undocumented spare-time activity.
Use focused charters such as:
Explore how discount codes interact with refunds, partial cancellations, and customer permissions.
Record:
The charter;
Time spent;
Data and environments used;
Areas explored;
Defects found;
Questions and remaining risks.
8. Keep documentation concise but sufficient
Agile does not mean no documentation.
Teams still need current information about:
Acceptance criteria;
Test scenarios;
Regression coverage;
Supported environments;
Test data;
Known risks;
Defects;
Release decisions.
Remove documentation that nobody uses, but do not rely on individual memory for critical product knowledge.
9. Control test data and environments
Many sprint delays attributed to “testing” are actually caused by unavailable environments, unstable integrations, or missing data.
Teams should:
Create test data through APIs or fixtures;
Keep environments versioned and observable;
Reset state predictably;
Virtualize unavailable dependencies where appropriate;
Separate test failures from environment failures;
Assign ownership for environment problems.
10. Keep stories small
A story that spends most of the sprint in development and arrives in testing on the final day is too large or poorly sliced.
Smaller stories allow development, testing, defect resolution, and stakeholder review to occur within the same sprint.
11. Review failures, not only pass rates
An automated suite that passes after three reruns is not healthy. Track flaky tests, recurring environment failures, investigation time, and the number of failures caused by outdated scripts.
12. Improve one bottleneck at a time
Retrospectives often produce broad objectives such as “improve automation.” Replace them with measurable actions:
Reduce smoke-suite execution from 25 to 15 minutes;
Remove the ten most frequent flaky tests;
Add API-level coverage for payment failures;
Prepare reusable accounts before planning;
Include QA in refinement for every high-risk story.
Agile testing metrics
Metrics should help the team make decisions. They should not reward people for producing the highest number of test cases or defects.
The 2026 State of Testing report found that 56.4% of teams were evaluated using test coverage and 40.1% using automation coverage, while only 8.6% were evaluated according to business impact. Coverage matters, but it does not prove that the product is safe to release.
Escaped defects
Defects discovered after release
Analyze severity, affected workflows, and missing controls
Defect detection stage
Where defects are usually found
Identify whether feedback arrives too late
Lead time for a change
Time from development start to production
Find delays in review, testing, deployment, or approval
Change failure rate
Percentage of releases causing incidents, rollback, or urgent fixes
Assess release stability
Mean time to detect
How quickly the team discovers a problem
Improve monitoring and feedback loops
Mean time to restore
How quickly service is restored
Improve diagnosis, rollback, and recovery
Test feedback time
Time required for relevant automated results
Optimize suite layers, parallelism, and pipeline placement
Flaky-test rate
Percentage of inconsistent automated tests
Protect trust in automation
Critical-flow coverage
Coverage of high-risk user journeys and business rules
Focus effort on meaningful risk
Defect reopen rate
Defects returned because fixes were incomplete
Improve reproduction, confirmation, and regression
Sprint spillover caused by quality issues
Work carried over because testing or fixes were incomplete
Improve story sizing and earlier testing
Production support trend
Customer-reported quality problems over time
Connect testing with user outcomes
Metrics need context. A falling defect count may mean that quality improved, or that testing became weaker. Higher automation coverage may indicate broader protection, or merely more scripts without meaningful assertions.
Use metrics to start investigation, not to rank individual testers.
Common Agile testing challenges
Testing starts too late
Stories reach QA in the final days of the sprint
Include QA in refinement and split stories into smaller increments
Quality is treated as QA’s job
Developers hand work over and move on
Make testing tasks and the Definition of Done shared
Unclear acceptance criteria
Teams disagree about whether a story is correct
Use concrete examples and Three Amigos discussions
Too much UI automation
Slow, flaky pipelines
Move suitable coverage to unit, component, API, and integration layers
Automation debt
Tests fail after routine product changes
Allocate sprint capacity for framework and suite maintenance
Unstable environments
Failures cannot be reproduced reliably
Define ownership, improve observability, and automate environment setup
Missing test data
Testing waits for accounts or records
Generate data through APIs, fixtures, or controlled scripts
Regression suite keeps growing
Feedback no longer fits the sprint or release window
Remove duplication, prioritize by risk, and parallelize execution
Documentation becomes outdated
Test cases contradict current behavior
Keep only useful documentation and update it with the story
Frequent requirement changes
Tests are rewritten repeatedly
Clarify intent early and delay detailed UI automation until behavior stabilizes
Metrics reward activity
Teams optimize test counts and automation percentages
Measure release risk, escaped defects, feedback time, and user impact
The sprint becomes a mini-Waterfall cycle
Analysis, development, and testing occur in separate blocks
Test partial increments and collaborate throughout implementation
Agile testing checklist
Before the sprint:
QA participates in backlog refinement.
Stories contain testable acceptance criteria.
Dependencies and risks are identified.
Stories are small enough to develop, test, and fix within the sprint.
Environment and data requirements are understood.
Required specialist testing is planned.
During development:
Developers add appropriate unit and integration tests.
Test design happens alongside implementation.
Automated checks run in CI.
Test data is prepared early.
QA tests partial increments where practical.
Critical defects are discussed immediately.
Exploratory testing covers risks beyond acceptance criteria.
Before marking a story done:
Acceptance criteria have passed.
Relevant regression tests have passed.
Automation has been added or updated where useful.
Critical defects are resolved.
Known limitations are documented.
Required non-functional checks are complete.
Product documentation and monitoring are updated.
At the end of the sprint:
Stakeholders review working software.
Remaining release risks are communicated.
Defect and test trends are reviewed.
Flaky or slow tests are identified.
The retrospective produces specific improvement actions.
Improvement actions have owners.
Need testing that keeps pace with your sprints? DeviQA’s agile testing services help teams integrate QA into refinement, development, CI/CD, regression, release decisions, and continuous process improvement.
Conclusion
Agile testing succeeds when it shortens the distance between a decision, a code change, and trustworthy feedback.
That requires more than frequent test execution. Teams need concrete acceptance criteria, balanced automation, exploratory testing, reliable environments, risk-based priorities, and shared ownership of quality.
The practical test is simple: can a story move from refinement through development, testing, defect resolution, and stakeholder review without waiting for a separate QA phase? If it can, testing is part of the Agile process. If completed development still accumulates in a queue for testers, the team has changed its ceremonies but not its delivery model.
Ready to rethink your QA?
Frequently asked questions
What is Agile testing?
Agile testing is a continuous and collaborative approach in which testing activities happen throughout iterative software development. It emphasizes early feedback, shared quality ownership, risk-based coverage, and frequent validation of small increments.
What is the difference between Agile testing and Agile QA?
Agile testing refers primarily to the activities used to evaluate software and provide feedback. Agile QA is broader: it includes requirements review, process design, prevention, testability, environments, metrics, automation, and continuous improvement.
In practice, the terms are often used interchangeably.
Is Agile testing the same as Scrum testing?
No. Scrum is one framework for organizing Agile work. Agile testing can also be applied in Kanban, Extreme Programming, scaled frameworks, and hybrid delivery models.
Who is responsible for testing in an Agile team?
Quality is the responsibility of the whole team. Developers, testers, product owners, designers, automation engineers, and platform specialists contribute different types of evidence and expertise.
Does Agile testing require test cases?
Yes, where test cases provide value. They are often shorter, more focused, and easier to update than traditional scripted documentation. Teams may also use examples, checklists, exploratory charters, automated tests, and acceptance criteria.
Does Agile mean less documentation?
Agile favors useful documentation over documentation volume. Teams should maintain enough information to communicate expectations, repeat critical tests, manage risk, support releases, and preserve important product knowledge.
Should every test be automated in Agile?
No. Automate stable and repeatable tests that need to run frequently. Keep exploratory, usability, rapidly changing, or subjective scenarios manual when human judgment provides greater value.
What are the four Agile testing quadrants?
The quadrants group testing into technology-facing tests that support the team, business-facing tests that support the team, business-facing tests that critique the product, and technology-facing tests that critique the product.
When does regression testing happen in Agile?
Targeted regression tests can run with every relevant build. Broader suites may run daily, at the end of a sprint, or before release. The timing depends on risk, execution speed, and delivery frequency.
What is the biggest Agile testing mistake?
The most common mistake is leaving testing until the end of the sprint. This creates rushed verification, unresolved defects, and work carried into the next iteration. Testing should begin during refinement and continue alongside development.

About the author
Senior QA engineer
Mykhailo Ralduhin is a Senior QA Engineer at DeviQA, specializing in building stable, well-structured testing processes for complex software products.