Quadrant 2's business-facing tests include the BDD acceptance tests that ensure we're building what customers actually need.
Post by Jan 12, 2026 9:31:42 AM · 6 min read

Quadrant 2: Building Quality In with Business-Facing Tests

Agile teams can use BDD-style, business-facing acceptance tests in Quadrant 2—guided by four perspectives—to ensure they’re building the right product from the start.

TABLE OF CONTENTS

A Comprehensive Testing Strategy, Part 1

I've spent decades watching teams struggle with the same fundamental question: "Are we building the right thing?" It's a question that haunts product teams, keeps executives up at night, and drives countless post-release defects.

For agile teams practicing Behavior-Driven Development (BDD), testing isn't just about finding bugs—it's about building quality in from the very beginning. This post is the first article in a four-part series where I'll share what I've learned about implementing a truly comprehensive testing strategy using Brian Marick's Agile Testing Quadrants, guided by the four Essential Perspectives: Functional, Performance, Security, and Usability.

We're starting with Quadrant 2: Business-Facing Tests that Support the Team—the BDD acceptance tests that ensure we're building what customers actually need. This stage is where teams either get it right early or pay for it later in production.

Understanding Quadrant 2: Business-Facing, Supporting the Team

Quadrant 2 occupies a unique position in the testing landscape, and I learned this the hard way. These tests are business-facing—written in the language of the business, not in technical jargon. They're created before or during development to guide implementation and ensure shared understanding across the team. And critically, they're automated and executed frequently.

In a BDD context, Quadrant 2 tests are your acceptance tests—the executable specifications that describe how the system should behave from a user's perspective. When done right, they answer the critical question: "Are we building what the customer needs?" When done wrong, they become a maintenance nightmare that teams eventually abandon.

The BDD Connection: From Discovery to Executable Specifications

Here's what I love about Behavior-Driven Development: it transforms Quadrant 2 testing from a checkbox activity into a collaborative specification. The Discovery-Formulation-Automation cycle creates tests as a natural byproduct of building shared understanding. I've seen this work beautifully, and I've seen teams miss the point entirely.

During Discovery workshops—what many call "Three Amigos" sessions—product owners, developers, and testers explore user stories together. When this works well, you uncover edge cases, challenge assumptions, and identify real acceptance criteria. When it works poorly, it becomes a rubber-stamp meeting where the product owner dictates requirements.

In the Formulation phase, those discoveries become structured scenarios:

Feature: Shopping Cart Management

As a customer
I want to add items to my cart and see the total
So that I can review my purchase before checkout

  Scenario: Adding multiple items calculates correct total

Given I am viewing the product catalog
When I add a laptop priced at $999.99 to my cart
And I add a mouse priced at $29.99 to my cart
Then my cart total should be $1,029.98

Finally, during Automation, these scenarios become executable tests. These tests are not just documentation gathering dust somewhere—they’re a living validation of your business requirements.

Applying the Essential Perspectives to Quadrant 2

One of the biggest mistakes I see teams make is treating Quadrant 2 as "functional testing only." They write scenarios for happy paths, add a few error cases, and call it done. Then they're surprised when performance issues, security vulnerabilities, and usability problems slip through to production.

The four Essential Perspectives—Functional, Performance, Security, and Usability—provide the framework for truly comprehensive Quadrant 2 coverage. Let me walk you through each one.

1. Functional Perspective

The Functional perspective asks: "Is the system doing what it is supposed to be doing from a business domain perspective?"

This perspective is where most teams spend their time, and for good reason. You're verifying business rules, processes, calculations, and role-based capabilities. But here's the thing I learned over the years: functional correctness isn't just about matching documented requirements. Some of the best test scenarios come from asking "What should happen here?" even when the requirements doc is silent.

What to test:

  • Business rules and validations (discount codes, age restrictions, field validations)
  • Business processes and workflows (checkout, approvals, notifications)
  • Data integrity and calculations (order totals, inventory updates, status transitions)
  • User capabilities by role (admin functions, customer restrictions)

I've seen teams waste months because they assumed a requirement was "obvious" and never wrote a scenario for it. Don't make that mistake.

2. Performance Perspective

The Performance perspective asks: "Is the system behaving or interacting responsively for a user?"

In Quadrant 2, you're not doing load testing—that's Quadrant 4. But you absolutely should verify that individual interactions feel responsive. I've watched too many teams ignore this until users start complaining.

What to test:

  • User-facing response times (searches, page loads)
  • Perceived performance (immediate feedback, progress indicators)
  • Performance-related functional behavior (pagination, lazy-loading)

Scenario: Long-running report shows progress indication

Given I request a monthly sales report
When the report is being generated
Then I should see a progress indicator
And I should receive a notification when complete

This simple scenario could have saved one team I worked with from a flood of support tickets about "broken" reports that were actually just slow.

3. Security Perspective

The Security perspective asks: "Is this system going to protect my information? Will it defend against security threats?"

Security in Quadrant 2 focuses on functional security behaviors from a user's perspective. You're not doing penetration testing here, but you're verifying that security features actually work.

What to test:

  • Authentication (login, password reset, session management)
  • Authorization (data access controls, administrative restrictions)
  • Data protection (masking sensitive information, secure connections)

Scenario: Users can only view their own order history

Given I am logged in as customer "alice@example.com"
When I view my order history
Then I should see only my orders
And I should not see orders from other customers

I can't count the number of times I've seen authorization bugs slip through because teams assumed "the developers will handle that." Write the scenario. Verify it works.

4. Usability Perspective

The Usability perspective asks: "How usable is this system? Is the interface intuitive and easy to navigate?"

While detailed usability testing happens in Quadrant 3, Quadrant 2 should include automated checks for basic usability requirements. This work is about making the system fail gracefully and providing helpful guidance.

What to test:

  • Error messaging clarity (helpful, actionable messages)
  • User guidance and feedback (required field markers, success confirmations)
  • Accessibility fundamentals (screen reader labels, keyboard navigation)

Scenario: Form shows clear validation errors

Given I am filling out a registration form
When I enter an invalid email address "not-an-email"
And I submit the form
Then I should see an error message "Please enter a valid email address"
And the error should appear next to the email field

Building Your Quadrant 2 Test Suite

Start with the Functional perspective—these typically form your largest scenario set. Then systematically layer in the other perspectives. For each feature, ask: "What performance scenarios are needed? What security scenarios? What usability scenarios?"

The teams I've worked with who do this well have a simple rule: you're not done with a user story until you've considered all four perspectives. The teams who skip this? They're the ones frantically patching production issues.

Common Pitfalls I've Seen (Too Many Times)

Ignoring non-functional perspectives: This is the number one mistake. Teams write beautiful functional scenarios and completely ignore performance, security, and usability until issues appear in production. Don't do this.

UI-coupled tests: I've inherited test suites where every scenario was tied to specific HTML IDs and CSS classes. When the UI changed, hundreds of tests broke. Focus on business behavior, not implementation details.

Testing too much in one scenario: Keep scenarios focused. If a test fails, you should immediately know what's broken. If you're testing three different features in one scenario, you're setting yourself up for debugging headaches.

Slow test execution: If your Quadrant 2 tests take hours to run, nobody will run them. I've seen teams with "comprehensive" test suites that got run once a week because they were too slow. That's not comprehensive testing—that's a false sense of security.

The Role of Quadrant 2 in Your Overall Strategy

Here's the reality: Quadrant 2 tests are foundational, but they're not sufficient on their own. They work best when complemented by:

  • Quadrant 1 tests (unit and integration) that provide fast feedback
  • Quadrant 3 tests (exploratory testing) that find issues automation misses
  • Quadrant 4 tests (non-functional testing) that evaluate performance at scale and comprehensive security

Each quadrant addresses different risks. A comprehensive strategy requires all four, guided by the four Essential Perspectives. Anything less is just hoping for quality.

Conclusion

Quadrant 2 testing in a BDD context is where teams build shared understanding and turn it into executable specifications. By applying the four Essential Perspectives—Functional, Performance, Security, and Usability—you ensure comprehensive coverage without creating redundant tests.

These tests answer "Are we building the right thing?" from multiple angles. But they're just the beginning. In the following article, I'll walk you through Quadrant 1: the technology-facing tests that provide fast feedback and enable confident refactoring.

Together, the four quadrants and the four perspectives form the foundation of Continuous Comprehensive Testing—the approach that ensures quality is built in rather than bolted on.

Next in this series: Part 2 - Building a Strong Foundation with Unit and Integration Tests (Quadrant 1)

About the Author

Rafael E Santos is Testaify's COO. He's committed to a vision for Testaify: Delivering Continuous Comprehensive Testing through Testaify's AI-first testing platform.Testaify founder and COO Rafael E. Santos is a Stevie Award winner whose decades-long career includes strategic technology and product leadership roles. Rafael's goal for Testaify is to deliver comprehensive testing through Testaify's AI-first platform, which will change testing forever. Before Testaify, Rafael held executive positions at organizations like Ultimate Software and Trimble eBuilder.

Take the Next Step

Testaify is in managed roll-out. Request more information to see when you can bring Testaify into your testing process.