QA vs QE vs Business Acceptance Tester

QA vs QE vs Business Acceptance Tester: Roles, Ownership, and Hand-Offs

Most release delays I have seen trace back to one unanswered kickoff question: who owns which quality decision? The QA vs QE debate usually gets framed as old versus new, yet a business acceptance tester brings a third perspective that most comparisons skip. This article maps what each role owns, where the roles overlap, and how to staff them on regulated healthcare and financial projects.

Short answer

A QA analyst verifies that the build matches the specification. A Quality Engineer (QE) builds the automation, pipelines, and feedback loops that stop defects from being created. A business acceptance tester confirms the solution supports the business process, rules, and compliance obligations before end users ever touch it.

QA vs QE: The Core Difference in One Sentence Each

The ISTQB Glossary defines quality assurance as activities focused on providing confidence that quality requirements will be fulfilled. That definition covers process, not job titles. Organizations then split the work into roles, and the split varies by company. The three cards below reflect how I have seen the roles staffed on enterprise programs.

ROLE 1

QA Analyst / Tester

Question it answers: Did we build it right?

Owns: test design, system and regression execution, defect reports, test summary.

Works from: requirements, user stories, acceptance criteria.

ROLE 2

Quality Engineer (QE / SDET)

Question it answers: Can we keep building it right, every commit?

Owns: automation framework, CI/CD quality gates, test data, contract and API tests.

Works from: architecture, code, pipelines, production telemetry.

ROLE 3

Business Acceptance Tester

Question it answers: Did we build the right thing for the business?

Owns: business-rule validation, end-to-end process checks, compliance evidence, BAT sign-off.

Works from: business requirements, process maps, policy, regulation.

The first two roles are about verification. The third is about validation. BABOK v3 makes the same split for business analysis work. Its Solution Evaluation knowledge area asks whether a solution delivers value, which is a different question from whether code matches a specification.

What a QA Analyst Owns Day to Day

A QA analyst turns requirements into test conditions, then proves or disproves them against the build. On most teams I have worked with, QA sits inside the scrum team and tests stories within the sprint. QA also runs system testing across stories once a release candidate exists.

Core QA responsibilities

Test design is the job that separates a good QA analyst from a script runner. ISTQB Foundation Level v4.0 lists black-box techniques such as equivalence partitioning, boundary value analysis, decision tables, and state transition testing. A QA analyst picks the technique that fits the rule. A claims-adjudication rule with five conditions belongs in a decision table, not twelve ad-hoc test cases.

QA also owns the defect report. A good report lets a developer reproduce the issue in under five minutes. If you need a refresher on how defects move through triage and closure, see the bug life cycle on this site.

Regression ownership usually sits with QA as well, even when QE automates the suite. QA decides which areas carry risk for this release. That judgment call is different from retesting a single fix versus running full regression, and teams mix the two up constantly.

Artifacts QA produces

Artifact Purpose Consumer
Test plan or test approach Scope, environments, entry and exit criteria PM, PO, QE lead
Test cases and conditions Traceable coverage of requirements Auditors, QE for automation candidates
Defect reports Reproducible evidence of failure Developers, PO for priority
Requirements traceability matrix Proves every requirement was tested Compliance, BAT, release board
Test summary report Go or no-go input with open risk Release manager, business sponsor

Where the QA role breaks down

QA breaks down when it becomes the only quality gate. Testers receive builds late, find defects late, and absorb the schedule pressure. I have watched QA teams lose a full sprint because nobody ran a smoke test before deploying to the QA environment. The fix there was not more testers. The fix was an automated gate, which is QE work.

What a Quality Engineer (QE) Owns

A Quality Engineer treats testability as an engineering requirement. QE work starts before code exists. A QE reviews architecture for seams where tests can attach, such as API contracts, feature flags, and injectable test data. The goal is fast, trusted feedback on every change.

Pipeline, automation, and quality gates

The QE builds and maintains the automation framework. That includes unit-test conventions, API and contract tests, a thin UI layer, and the CI/CD jobs that run them. A gate is only useful if the team trusts it. A flaky suite that fails 10% of runs for no reason trains developers to click “re-run” and ignore failures.

Here is a minimal pipeline gate a QE might own. It blocks a merge when FHIR contract tests or the smoke subset fail.

# .github/workflows/quality-gate.yml (excerpt)
jobs:
  contract-tests:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - name: Validate FHIR resources against profiles
        run: ./gradlew fhirProfileValidation
      - name: Run API contract tests
        run: ./gradlew contractTest
  smoke:
    needs: contract-tests
    runs-on: ubuntu-latest
    steps:
      - name: Smoke suite against ephemeral env
        run: npx playwright test --grep @smoke
        # Fails the job, which blocks merge via branch protection

QE also owns the measurement side. The DORA research program tracks change failure rate and failed deployment recovery time as stability metrics. Those numbers belong on the QE dashboard. If change failure rate climbs, the QE investigates which test layer let the defects through.

QE vs SDET: same job or different?

An SDET (Software Development Engineer in Test) is usually a QE who writes production-grade test code. Some companies use the titles interchangeably. Where they differ, QE is broader. A QE may own test data management, environment strategy, observability for tests, and quality coaching for developers. An SDET often focuses narrowly on framework and test code.

Where the QE role breaks down

QE breaks down when automation coverage gets mistaken for business coverage. A suite can hit 90% line coverage and still never check the rule that matters to finance. Automation verifies what someone told it to verify. If the requirement was wrong, the automation faithfully confirms the wrong behavior. That gap is exactly where the business acceptance tester earns their seat.

What a Business Acceptance Tester Owns

A business acceptance tester validates the solution against business needs, rules, and obligations. This person usually comes from the business side or is a business analyst with deep domain knowledge. They do not retest what QA already proved. They test end-to-end business outcomes across systems.

ISTQB lists several acceptance testing types, including user, operational, contractual, and regulatory acceptance testing. Business acceptance testing (BAT) is not a separate ISTQB term. In practice, organizations use BAT to cover business-rule, contractual, and regulatory acceptance before UAT. I treat that as a staffing convention, not a standard, and I tell teams to define it in their test strategy.

Business acceptance tester vs UAT tester

The roles differ by who participates and what they judge. A business acceptance tester judges correctness against business rules and policy. A UAT tester is an end user who judges whether they can do their job with the system. This site covers the phase differences in depth in BAT vs UAT. Here the focus stays on the person and their accountability.

Dimension Business acceptance tester UAT tester (end user)
Typical background BA, SME, operations lead, compliance analyst Nurse, claims processor, loan officer, agent
Judges Rule correctness, calculations, regulatory fields, process completeness Usability, workflow fit, daily task completion
Test style Scenario scripts plus data checks, often SQL Day-in-the-life scenarios, light scripting
Signs off BAT completion report with business sponsor UAT completion with PO and user group lead

Who should be a business acceptance tester

Pick people who can explain why a rule exists, not just what it says. On a payer project, that might be a utilization management nurse reviewer or a configuration analyst. On a lending platform, it is often a credit policy analyst. Avoid assigning BAT to whoever has spare capacity. Untrained BAT testers default to clicking through screens, which duplicates QA and misses rule defects.

Where the BAT role breaks down

BAT breaks down when it starts too late or runs on unstable builds. Business testers have day jobs. If they lose three days to environment outages, they stop showing up. Protect BAT with an entry gate: smoke passed, no open critical defects, and test data loaded for every scenario.

QA vs QE vs Business Acceptance Tester: Side-by-Side Comparison

The table below compares the three roles on the dimensions that matter for staffing and accountability. Use it in kickoff to stop the “isn’t that QA’s job?” conversation before it starts.

Dimension QA Analyst Quality Engineer (QE) Business Acceptance Tester
Primary goal Detect defects against spec Prevent defects and shorten feedback Confirm business fit and compliance
Verification or validation Verification Verification at scale Validation
When active Refinement through release Design through production Requirements review, then pre-UAT
Main skills Test design, analysis, SQL, domain basics Programming, CI/CD, APIs, test architecture Domain rules, policy, process, data validation
Typical tools Jira, Xray or Zephyr, TestRail, Postman Playwright, REST Assured, Pact, GitHub Actions, Jenkins Jira, Excel, SQL client, process maps
Success metric Defect detection before UAT, coverage of requirements Change failure rate, pipeline time, flaky-test rate Business-rule defects escaping to UAT or production
Reports to (common) QA lead or delivery manager Engineering manager Business sponsor or BA lead
Biggest blind spot Wrong requirement tested correctly Automates the wrong rule Technical failure modes, non-functional risk

Notice the blind spots row. Each role’s weakness is another role’s strength. That is the argument for keeping all three, even when budgets push you to merge them.

How QA, QE, and Business Acceptance Testing Hand Off Work

The flow below is the process I use on regulated programs. Each arrow is a gate with an owner. Without named owners, gates turn into suggestions under deadline pressure.

Quality hand-off flow (one release)

1. Requirements review
BAT + QA + QE review acceptance criteria and rules
➜
2. Build + pipeline
Dev unit tests; QE contract tests and smoke gate
➜
3. System + regression
QA executes; QE keeps automation green
➜
4. BAT
Business rules, end-to-end process, compliance evidence
➜
5. UAT + release
End users accept; release board decides go or no-go

Feedback loop: every BAT or UAT defect is classified by “which gate should have caught it” and fed back to step 1 or 2.

Entry and exit criteria by role

Role gate Entry criteria Exit criteria
QE pipeline gate Merge request opened, unit tests pass locally Contract, API, and smoke suites green; flaky tests quarantined with ticket
QA system testing Build deployed, smoke passed, stories at “Ready for QA” All planned cases executed; no open Critical; High defects have accepted plan
BAT QA summary report issued; BAT data loaded; testers trained Every business rule has a pass result or a signed exception; sponsor signs

RACI: Who Owns Each Quality Activity

A RACI resolves most role disputes on paper before they become sprint arguments. Keep exactly one “A” per row. When two roles both claim accountability, neither is truly accountable.

Activity QA QE BAT BA PO Dev
Acceptance criteria review C C C R A C
Automation framework C A/R I I I C
CI/CD quality gates I A I I I R
System and regression testing A/R R I I I C
Business-rule validation C I A/R C I I
Compliance evidence pack R C A C I I
Defect priority decision C C C I A C
Release go or no-go input R R R I A I

Legend: A = Accountable R = Responsible C = Consulted I = Informed. Adjust to your org chart, but keep one A per row.

Edge case: in SAFe programs, a System Team often owns the integration environment and end-to-end pipeline. In that setup, the QE “A” for quality gates may move to the System Team lead. Record that explicitly, or both groups will assume the other one is watching the pipeline.

Scenario 1: Payer Prior Authorization API in Healthcare IT

Here is a composite of work I have seen on payer interoperability programs. The CMS Interoperability and Prior Authorization Final Rule (CMS-0057-F) requires impacted payers to stand up a FHIR-based Prior Authorization API. It also sets decision timeframes of 72 hours for expedited requests and seven calendar days for standard ones. Check the rule for current compliance dates, because CMS phases them by provision.

The team built the API on the HL7 Da Vinci Prior Authorization Support (PAS) implementation guide. Each role found a different class of defect.

What each role caught

QE · found in pipeline
PAAPI-412 — ClaimResponse fails PAS profile validation when reviewAction is absent
Severity: High  |  Priority: P1  |  Component: pas-adapter
Steps: Submit pended request via test harness → run profile validator in CI
Expected: Resource conforms to PAS ClaimResponse profile
Actual: Validator error on missing required extension; merge blocked
Root cause layer: Mapping code. Caught before any human tester saw the build.
QA · found in system test
PAAPI-438 — Expedited flag lost when request is resubmitted after “more info needed”
Severity: High  |  Priority: P1  |  Story: PAAPI-301
Steps: Create expedited request → pend for documentation → provider resubmits
Expected: Priority remains EXPEDITED per AC-3
Actual: Priority resets to STANDARD on resubmission
Technique: State transition testing on request lifecycle.
BAT · found in business acceptance
PAAPI-467 — Decision clock starts at queue assignment, not at receipt
Severity: Critical  |  Priority: P1  |  Type: Requirement defect
Evidence: SQL check shows 41 standard requests decided within 7 days of assignment but beyond 7 days of receipt
Expected: Timeframe measured from receipt per policy interpretation signed by compliance
Actual: System and requirement both used assignment timestamp
Why QA missed it: The story itself specified the wrong timestamp.

The third defect is the one that justifies BAT. QA tested the story exactly as written and passed it. The requirement was wrong. Only someone who understood the regulatory intent could see the gap.

The SQL the business acceptance tester ran

-- BAT check: prior auth decisions outside regulatory timeframe
-- Measured from RECEIPT, not queue assignment (PostgreSQL syntax)
SELECT  pa.request_id,
        pa.priority,
        pa.received_ts,
        pa.assigned_ts,
        pa.decision_ts,
        ROUND(EXTRACT(EPOCH FROM (pa.decision_ts - pa.received_ts)) / 3600, 1) AS hours_from_receipt
FROM    prior_auth_request pa
WHERE   pa.received_ts >= DATE '2026-09-01'
  AND ( (pa.priority = 'EXPEDITED' AND pa.decision_ts > pa.received_ts + INTERVAL '72 hours')
     OR (pa.priority = 'STANDARD'  AND pa.decision_ts > pa.received_ts + INTERVAL '7 days')
     OR  pa.decision_ts IS NULL )
ORDER BY hours_from_receipt DESC NULLS FIRST;

The BAT tester then flagged three edge cases. Requests pended for missing documentation. Time zone handling for the receipt timestamp. Requests arriving through the legacy X12 278 channel. Each one needed a compliance ruling before anyone could write a test. That is normal. Regulated rules rarely arrive fully specified.

HIPAA evidence and who produced it

The HIPAA Security Rule requires audit controls that record and examine activity in systems containing ePHI (45 CFR 164.312(b)). QA verified that audit log entries were written for every API call. QE automated that check in the regression suite. The business acceptance tester confirmed the logs answered the questions a privacy officer would actually ask. Three roles touched one requirement, and none of them duplicated work.

Scenario 2: Duplicate Payments in a Financial IT Release

The second composite comes from a payments modernization project at a mid-size lender. The team migrated ACH disbursements from a batch mainframe job to an event-driven service. SOX-relevant controls applied, because disbursements hit the general ledger.

QE built idempotency tests that replayed the same message twice and asserted one payment. Those tests passed. QA ran boundary tests on amounts, cutoff times, and holiday calendars. Those passed too. The business acceptance tester, a treasury operations analyst, ran a reconciliation against the old batch output for one parallel-run week.

-- BAT reconciliation: new service vs legacy batch, parallel-run week
SELECT  COALESCE(n.loan_id, l.loan_id)        AS loan_id,
        n.total_amount                         AS new_amount,
        l.total_amount                         AS legacy_amount,
        COALESCE(n.total_amount,0) - COALESCE(l.total_amount,0) AS variance
FROM   (SELECT loan_id, SUM(amount) AS total_amount
        FROM   payment_txn
        WHERE  value_date BETWEEN '2026-09-14' AND '2026-09-18'
        GROUP  BY loan_id) n
FULL OUTER JOIN
       (SELECT loan_id, SUM(amount) AS total_amount
        FROM   legacy_disbursement
        WHERE  value_date BETWEEN '2026-09-14' AND '2026-09-18'
        GROUP  BY loan_id) l
  ON   n.loan_id = l.loan_id
WHERE  COALESCE(n.total_amount,0) <> COALESCE(l.total_amount,0);

Seven loans showed variances. The cause was a business rule, not a code bug. Legacy batch netted a same-day reversal against a new disbursement. The new service sent both. Nobody had written that netting rule down, because it lived inside forty-year-old COBOL logic. The BAT tester recognized it from month-end close experience.

That defect went back to the BA as a requirement gap. QE then added a contract test for netting behavior. The feedback loop in the hand-off diagram is how one escaped defect becomes a permanent check.

Before and After: A Jira Story With Clear Role Ownership

Role confusion often starts in the ticket itself. Here is a story I rewrote for a team that kept arguing about who tests what.

Before

LOAN-882: Update disbursement service

As treasury, I want disbursements sent by the new service.

AC: Payments go out correctly.
Testing: QA to test.

After

LOAN-882: Send ACH disbursements via payment service

AC-1: One payment per idempotency key, even on replay.
AC-2: Same-day reversal nets against disbursement (rule BR-17).
AC-3: Cutoff 4:00 PM ET; later items value-date next business day.

QE: automate AC-1, AC-3 in contract suite.
QA: boundary and holiday tests for AC-3.
BAT: reconcile parallel run vs legacy for AC-2.

The “after” version names the business rule ID and assigns each acceptance criterion to the role best placed to prove it. That small change cut that team’s re-opened stories noticeably within two sprints. I did not measure it formally, so treat it as practitioner observation, not a statistic.

Defect Routing: Which Role Should Have Caught It?

When a defect escapes to UAT or production, ask which gate should have stopped it. Blame is useless. Routing data is not. Use this decision tree in your retrospective or defect triage.

Escaped defect: start here
Q1. Was the requirement or acceptance criterion itself wrong or missing?
Yes → BAT / BA gap. Fix requirement review; add rule to BAT checklist.
Q2. Could an automated check at merge time have detected it? (schema, contract, regression path)
Yes → QE gap. Add or fix the automated test; check for quarantined flaky tests.
Q3. Did a documented test case cover it, and was it executed?
Not covered → QA design gap. Apply the missing technique (boundary, state, decision table).
Covered but skipped → QA execution or scope decision. Review risk-based regression selection.
Q4. Did it only appear with production data, volume, or a downstream system?
Yes → Environment or test data gap. Usually QE-owned; log it as a risk if prod-like data is not allowed.

Track the answers for three releases. A pattern appears quickly. If most escapes land on Q1, you need stronger BAT, not more QA headcount. If they land on Q2, invest in QE. Use your test type definitions so everyone classifies defects the same way.

Common Mistakes When Teams Blur QA, QE, and BAT

Common mistake #1: Renaming QA to QE without changing the work

A title change does not create a pipeline. If your “QE” team still receives builds at the end of the sprint and runs manual scripts, you have QA with a new label. Real QE work shows up in merge-time gates and in developers writing tests with QE coaching.

Common mistake #2: Using business testers as extra QA capacity

When QA runs behind, managers sometimes hand QA scripts to business testers. That burns domain experts on field-length checks. It also means nobody performs actual business validation. Protect BAT scope as fiercely as you protect the release date.

Common mistake #3: Treating UAT as the business acceptance phase

End users judge workflow fit. They rarely verify calculation logic or regulatory fields line by line. When UAT is the only business check, rule defects reach production. The ISTQB distinction between user and regulatory acceptance testing exists for this reason.

Common mistake #4: Automating before the rule is stable

QE teams under pressure automate every acceptance criterion in sprint one. When BAT later corrects the rule, the automation has to be rewritten. For rules still under compliance review, run them manually first. Automate once BAT signs off on the interpretation.

When I Would Use Each Staffing Model

Ideal staffing rarely survives budget review. Here is how I decide what to keep when the program cannot fund all three roles at full strength.

Context Staffing model Why Risk to watch
Startup SaaS, weekly releases, low regulation QE-heavy; developers own most testing; PO does acceptance Speed matters most; rollback is cheap Business rules drift without anyone validating them
Healthcare payer or provider, EHR or claims All three roles; dedicated BAT with compliance input Rule errors carry regulatory and patient-safety impact BAT testers pulled back to operations during peak periods
Bank or lender, SOX-relevant change QA + QE in teams; BAT from finance or treasury ops Auditors expect segregated evidence of testing and approval Evidence scattered across tools; audit request takes weeks
SAFe program, many teams, shared environments QA per team; QE in System Team; BAT at release train level Integration risk sits between teams, not inside them No one owns cross-team end-to-end scenarios
Legacy COTS configuration (no custom code) QA + strong BAT; light QE for regression packs Most defects are configuration and rule errors Vendor upgrades break untested configuration

If you can fund only two roles in a regulated program, keep QA and BAT. Then push developers toward QE practices with a part-time QE coach. Cutting BAT saves money in the sprint and costs much more after release.

Tool Choices by Role, Based on Actual Use

Tools follow the role’s question, not the other way around. This comparison reflects the stacks I have used or reviewed on enterprise projects. Check each vendor’s documentation for current licensing and features.

Need Primary role Tool options Use-case note
Test case management and traceability QA Xray or Zephyr (in Jira), TestRail Jira-native tools simplify audit trails from story to test to defect
API and contract testing QE REST Assured, Pact, Postman/Newman Pact suits many consumer teams; Postman suits QA exploration
UI automation QE Playwright, Selenium, Cypress Keep UI layer thin; most rules belong in API tests
FHIR conformance QE + QA HL7 FHIR Validator, Touchstone, Inferno Profile validation in CI catches mapping defects early
Business-rule and data validation BAT SQL client, Excel, Power BI BAT testers need read access to test data, which needs approval early
Defect tracking across all roles All Jira, Azure DevOps Add a “Detected by role” field to power the routing analysis

Whatever tracker you choose, make “Detected by role” and “Should have been caught by” required fields on defects found in BAT, UAT, and production. Without them, the routing analysis below the RACI becomes guesswork.

Business Acceptance Sign-Off Checklist

Sign-off fails in audits for boring reasons: missing evidence, unsigned exceptions, or test data nobody can trace. This is the checklist I hand to business acceptance testers before they sign. Every item should point to a stored artifact, not a memory.

BAT sign-off checklist

☐ Every business rule ID in scope has a BAT scenario linked in Jira or the test tool
☐ Each scenario shows pass, fail, or a signed exception with an owner and due date
☐ Calculation outputs reconciled against an independent source (legacy system, spreadsheet model, or policy table)
☐ Compliance fields verified with the compliance analyst, not only against the story text
☐ Test data source documented; PHI or PII masked per data-use approval
☐ Open defects reviewed with the PO; none Critical, and every High has a workaround or fix date
☐ Downstream reports, extracts, and interfaces checked for at least one full business cycle
☐ Evidence stored where auditors expect it: screenshots, query outputs, and the signed BAT report
☐ UAT team briefed on known limitations so they do not log duplicates

Edge case: when a release ships behind a feature flag, BAT can sign off on a flagged-off state. Record that explicitly. Then schedule a second, smaller sign-off when the business turns the flag on. Otherwise the code reaches production with business approval for behavior nobody has seen.

How to Measure Each Role Without Gaming the Numbers

Every metric gets gamed once it drives bonuses. Pick measures that reward the role’s actual purpose, and pair each one with a counter-metric. The pairs below have held up on programs I have supported.

Role Primary metric Counter-metric Gaming it looks like
QA Share of defects found before BAT Rejected-defect rate (not a bug, duplicate) Logging trivial cosmetic issues to inflate counts
QE Change failure rate trend Pipeline duration and flaky-test rate Quarantining failing tests instead of fixing them
BAT Business-rule defects escaping to UAT or production BAT cycle time against plan Signing exceptions instead of testing hard rules

Avoid raw test-case counts for any role. Count of executed cases measures effort, not risk reduction. A single well-designed decision table often replaces dozens of repetitive cases, and a count-based target punishes that improvement.

Where AI-Assisted Testing Changes the QA vs QE Split

AI tools now draft test cases from user stories, suggest locators, and summarize failed runs. That shifts some QA effort, but it does not remove the role. A generated test case inherits every gap in the story it read. If the story names the wrong timestamp, the AI writes a confident test for the wrong timestamp.

On the QE side, AI helps with self-healing locators and failure triage. The QE still owns the decision about whether a “healed” test now checks the right thing. I have seen a self-healing tool quietly re-point an assertion to a different field. The suite stayed green while coverage disappeared.

The business acceptance tester is the least affected role. AI can draft reconciliation queries, but it cannot know that treasury nets same-day reversals. Treat AI output as a draft from a junior colleague: useful, fast, and always reviewed by the role that owns the judgment.

Moving From QA to QE: What Changes in Practice

This is the question I get most from mid-level testers. The move is realistic, but it is not a rename. Three capabilities separate the roles in hiring loops I have sat on.

First, code you can maintain. A QE writes test code others can read, review, and extend. That means version control habits, code review, and one language well, usually Java, TypeScript, or Python. Second, pipeline literacy. You need to read a CI configuration, understand why a job failed, and fix it. Third, test architecture. You decide what belongs at unit, API, or UI level, and you defend that choice with cost and speed arguments.

What a QA analyst already brings is underrated. Test design technique, risk thinking, and domain knowledge are hard to teach engineers. The strongest QEs I have worked with started in QA. They automate the right things because they know where defects hide.

A practical path: take one flaky or slow regression area and own its automation end to end. Pair with a developer for code review. After two or three such projects, you have a portfolio, not just a certificate.

Questions Teams Ask About QA vs QE and Business Acceptance

Is QE replacing QA?

No, not in regulated environments. QE absorbs repetitive verification through automation. Exploratory testing, test design, and risk-based judgment still need QA skills. Many teams now expect one person to hold both skill sets, which is a different claim from “QA is gone.”

Is UAT done by QA?

It should not be. QA often supports UAT with environment readiness, test data, and defect triage. The acceptance decision belongs to business users. If QA executes UAT scripts, you have run a second system test, not acceptance testing.

Can a business analyst be the business acceptance tester?

Yes, and it is common. The risk is independence. A BA who wrote the requirement may test their own assumptions. Pair the BA with an operations SME, or have a different BA test the rules you authored.

Where does the Product Owner fit?

The PO is accountable for the acceptance decision and backlog priority. The PO rarely has time to execute BAT personally. Delegate execution to the business acceptance tester, and keep the PO as signatory.

Do small teams need all three roles?

They need all three perspectives, not necessarily three people. On a five-person team, a developer may wear the QE hat and the PO may wear the BAT hat. Write down who holds each hat for each release. Unassigned perspectives are the ones that fail.

Who writes acceptance criteria: QA, BA, or the business?

The BA or PO writes them, and QA, QE, and BAT review them before sprint commitment. Karl Wiegers’ Software Requirements treats requirement reviews as one of the cheapest defect-removal steps available. A thirty-minute three-role review of acceptance criteria catches the “wrong timestamp” class of defect before anyone writes code.

What happens to BAT in a vendor or COTS implementation?

BAT becomes more important, not less. The vendor runs its own QA against its product specification. Nobody at the vendor knows your benefit rules, fee schedules, or approval thresholds. In EHR and core-banking configurations, most defects I have triaged were configuration choices that matched the vendor spec and broke local policy.

Run a Three-Defect Escape Audit Before Your Next Release Planning

Pull the last three defects that reached UAT or production. Run each through the routing decision tree above and record which role’s gate should have caught it. Bring that tally to release planning. It turns the QA vs QE vs BAT staffing debate from opinion into evidence, and it tells you exactly which role to strengthen first.

FREE TOOLKIT

Download the QA, QE & Business Acceptance Role Toolkit (Excel + PDF)

Editable RACI matrix, entry and exit criteria by role, a defect routing log that classifies escapes automatically, a BAT sign-off checklist, and a role-gap self-assessment. The PDF includes the comparison table and routing decision tree for your kickoff deck.

Download the Toolkit (Excel)
Download the Decision Guide (PDF)

Sources and standards referenced

ISTQB Glossary of Testing Terms (quality assurance; user, regulatory, contractual, and operational acceptance testing) · ISTQB Certified Tester Foundation Level Syllabus v4.0 · IIBA BABOK Guide v3, Solution Evaluation knowledge area · CMS Interoperability and Prior Authorization Final Rule (CMS-0057-F) · HL7 Da Vinci Prior Authorization Support Implementation Guide · HIPAA Security Rule, 45 CFR 164.312(b) · DORA software delivery performance metrics (dora.dev) · Scaled Agile Framework, System Team guidance.

Scenarios are composites from enterprise healthcare and financial IT projects. Identifying details are changed.

Scroll to Top