The Agile Testing Quadrant: A Practical Guide for QA Teams

The Agile Testing Quadrant: A Practical Guide for QA Teams

The Agile Testing Quadrant is a useful model. But like most testing frameworks, it's described in abstract terms that don't immediately translate to Monday morning decisions. This guide makes it concrete: how QA teams actually use the quadrant in sprint planning, what they do in each quadrant each week, and the mistakes to avoid.


Quick Recap: The Four Quadrants

                    Business-facing
          Q2                         Q3
   Acceptance tests           Exploratory testing
   Story tests                Usability testing
   BDD scenarios              UAT, demos

    Guiding ──────────── Critiquing

          Q1                         Q4
   Unit tests               Performance testing
   Integration tests        Security testing
   Component tests          Load testing
                    Technology-facing
  • Q1 (Technology, Guiding): Developer-written, automated, guide development
  • Q2 (Business, Guiding): Collaboration between devs and testers, automated acceptance
  • Q3 (Business, Critiquing): Human testers, exploratory, user-focused
  • Q4 (Technology, Critiquing): Specialized, performance and security

How to Use the Quadrant in Sprint Planning

Step 1: Map the sprint work to quadrants

At sprint planning, QA's job is to identify what testing activities each story needs, across all four quadrants.

For a story: "As a user, I can export my order history as CSV"

Quadrant Activity
Q1 Dev writes unit tests for CSV serialization logic
Q2 Tester writes acceptance test: "User clicks Export → receives CSV with all orders"
Q3 Exploratory: What happens with 10,000 orders? Special characters in product names?
Q4 Performance: Does export complete in < 2s for large accounts?

This mapping makes testing visible and negotiable. If the sprint is overloaded, Q4 work can be deferred—but it's tracked as a known gap, not forgotten.

Step 2: Estimate testing effort by quadrant

Q1 effort is usually owned by developers. Q2 effort is shared. Q3 and Q4 are primarily QA.

Explicitly budgeting quadrant effort prevents the common problem where "testing" is assumed to be done but only Q1 was covered.

Step 3: Define done criteria per quadrant

A story is done when:

  • Q1: Unit and integration tests written and green
  • Q2: Acceptance scenarios automated and passing
  • Q3: Exploratory session completed, bugs filed
  • Q4: Performance threshold met (or explicitly deferred)

Q1 in Practice: Developer Tests

QA's role in Q1 isn't to write the tests—it's to ensure they exist and to review coverage.

What QA does in Q1:

  • Review unit test coverage for critical business logic
  • Identify missing edge cases (what about empty inputs? concurrent calls? large datasets?)
  • Confirm integration tests cover the actual integration points

Common mistake: Treating Q1 as "developer territory, not my problem." QA should know what Q1 covers and what it doesn't—Q3 exploratory testing often reveals Q1 gaps.


Q2 in Practice: Acceptance Tests

Q2 is where QA and development collaborate most directly. Well-written Q2 tests prevent the "it passes unit tests but fails acceptance" problem.

Gherkin-style acceptance test:

Feature: CSV Export

  Scenario: User exports order history
    Given I am logged in as "alice@example.com"
    And I have 3 completed orders
    When I click "Export as CSV"
    Then a CSV file is downloaded
    And the CSV contains 3 rows
    And each row includes: order_id, date, amount, status

  Scenario: Empty order history
    Given I am logged in as "newuser@example.com"
    And I have no orders
    When I click "Export as CSV"
    Then I see the message "No orders to export"
    And no file is downloaded

What QA does in Q2:

  • Write acceptance scenarios before development starts (ATDD)
  • Automate scenarios that will be run repeatedly
  • Collaborate with PO to ensure scenarios reflect real requirements
  • Keep scenarios at the feature level, not the implementation level

Common mistake: Writing Q2 tests after development and making them pass by adjusting the test rather than the code. Q2 tests written first are specification; Q2 tests written after are documentation.


Q3 in Practice: Exploratory Testing

Q3 is where experienced testers add irreplaceable value. Structured exploration, not random clicking.

Session-based exploratory testing:

Charter: Explore the CSV export feature
Time box: 45 minutes
Focus areas:
  - Boundary conditions (max orders, special characters)
  - Error scenarios (network failure mid-export, session timeout)
  - Cross-browser behavior
  - Concurrent exports from same account

Notes during session:
  10:05 - Exported 1000 orders: 12s, acceptable
  10:18 - Product name with commas breaks CSV parsing → BUG
  10:31 - Double-clicking Export creates two downloads → BUG
  10:44 - Session timeout mid-export shows white screen, no message → BUG

What QA does in Q3:

  • Use test charters to focus sessions without over-scripting
  • Note bugs immediately with reproduction steps
  • Look for usability issues that tests don't capture ("the loading spinner overlaps the button")
  • Collect questions for the PO ("should exports include cancelled orders?")

Common mistake: Treating Q3 as the backup when Q2 tests fail. Q3 should run regardless—it finds what Q2 scripted tests can't.


Q4 in Practice: Non-Functional Testing

Q4 is often deferred because it feels expensive and specialized. The cost of deferring too long is production incidents.

Lightweight Q4 integration in sprints:

Don't try to run full load tests in every sprint. Instead:

  1. Define thresholds upfront. "Export must complete in < 3s for accounts with < 5000 orders." Treat this as a Q2 acceptance criterion.
  2. Schedule full load tests. Monthly or pre-release, run comprehensive Q4 suites against a production-like environment.
  3. Track baseline over time. Compare each run to the previous one—performance regressions are often gradual.

Smoke test performance in CI. Run a lightweight performance check on every build:

k6 run --duration 30s --vus 10 export-smoke-test.js
# Fail if p95 > 3000ms

What QA does in Q4:

  • Define non-functional acceptance criteria early
  • Integrate lightweight smoke tests in CI
  • Coordinate with DevOps for environment and data setup
  • Run and interpret full load/security tests pre-release

Tracking Coverage Across Quadrants

A simple coverage matrix per sprint:

Story Q1 Q2 Q3 Q4 Status
CSV Export Partial Deferred In Progress
User Settings Done
Payment Retry In Progress Blocked

This makes gaps visible. "Payment Retry has no Q3 or Q4 coverage" is a risk statement, not an accident.


Team Collaboration Patterns

Developer-tester pairing on Q2:

  • Tester writes acceptance scenarios in Gherkin
  • Developer automates them as part of the story
  • Both review the scenarios before and after implementation

QA review of Q1:

  • QA reviews pull requests for test coverage
  • Flags missing edge cases before merge
  • Adds integration test requirements to the definition of done

PO involvement in Q3:

  • Invite PO to observe exploratory sessions occasionally
  • Share Q3 session notes in sprint reviews
  • Convert Q3 findings into Q2 acceptance criteria for future stories

Common Mistakes

Using the quadrant as a checklist, not a thinking tool. "We did Q1, Q2, Q3, Q4 → done." If Q3 was a 5-minute click-through and Q4 was "opened a browser and loaded the page," you've checked boxes, not tested.

Treating Q3 as an afterthought. Q3 is scheduled, time-boxed, and purposeful—not "whatever testers do when they have time."

Ignoring Q4 until a production incident. Performance and security testing after a production failure is damage control. Build lightweight Q4 into the normal cycle.

Expecting developers to own Q2. Q2 automation requires understanding both the technical automation layer and the business requirements. Testers bridge that gap.


HelpMeTest in the Quadrant

HelpMeTest operates in Q2 and Q3. Write test scenarios in plain English, run them automatically against your real application.

  • Q2 use case: Automate acceptance tests without code. "When user clicks Export → CSV downloads with correct data." No Gherkin, no Selenium setup—just describe the scenario.
  • Q3 use case: Run exploratory-style checks 24/7. HelpMeTest monitors your application continuously, catching regressions between your manual Q3 sessions.

HelpMeTest bridges the gap between Q2 (automated acceptance) and Q3 (continuous monitoring) without requiring developers to own the automation.


Summary

Applied practically, the Agile Testing Quadrant means:

  • Q1: Developers own automated technical tests; QA reviews coverage
  • Q2: QA writes acceptance scenarios; both teams automate them
  • Q3: QA runs chartered exploratory sessions; tracks bugs and findings
  • Q4: Define performance/security thresholds in Q2; integrate smoke tests in CI; run full tests pre-release

The quadrant isn't a bureaucratic checklist—it's a way to make testing conversations precise. When a team says "we need more testing," the quadrant asks: which kind, for what purpose, who does it? That precision is the value.

Read more

Start now free