Testing Fundamentals6 min readJune 9, 2026

What Is UAT Testing? User Acceptance Testing Explained

User acceptance testing (UAT) is the final validation that software meets business requirements before go-live. Here is what UAT checks, who does it, and how it relates to automated testing.

QG

Brad Ellis

TL;DR

UAT verifies that the right thing was built — that software meets business goals, not just that it functions correctly. It is a human judgment phase: acceptance criteria are validated by stakeholders or user proxies before launch. Automate the verifiable criteria; keep humans for the judgment calls.

User acceptance testing (UAT) is the final testing phase before software goes live. It verifies that the application does what the business intended and that real users — or representatives of real users — can accomplish their goals. UAT is the handoff between "technically works" and "ready for production."

What UAT Checks

UAT is not about finding code defects — that is what earlier testing phases are for. It is about validating that the software meets business requirements and user expectations from the perspective of someone who will actually use it.

UAT catches the gap between what was specified and what was built. A feature can pass all its technical tests and still fail UAT if the workflow is confusing, the terminology does not match what users expect, or a business rule was misunderstood during development.

Who Performs UAT

UAT is typically performed by:

  • Business stakeholders or product owners who defined the requirements and can evaluate whether they are met
  • Subject matter experts in regulated industries (finance, healthcare) who verify compliance with domain-specific rules
  • End users or customer representatives in beta or pilot programs
  • QA teams acting as user proxies when end users are not available for direct testing

UAT vs. Other Testing Types

  • Unit testing verifies that individual code components work correctly.
  • Integration testing verifies that components work together.
  • End-to-end testing verifies complete user journeys in the real application. See what is E2E testing.
  • UAT verifies that the right thing was built — that the software meets the business and user goals that motivated its creation.

Automated E2E tests and UAT serve related but different purposes. Automated tests run continuously and catch regressions quickly. UAT is a human judgment about whether the software is fit for purpose. Both are necessary in a mature quality process.

Can UAT Be Automated?

Some UAT scenarios can be expressed as automated tests — especially acceptance criteria that are precise and deterministic. Behavior-driven development (BDD) frameworks like Cucumber attempt to bridge the gap between business language and automated test execution.

However, UAT as a process includes human judgment that is difficult to automate: is this workflow intuitive? Does the error message make sense to a user who does not know the technical details? Does this behavior match the intent of the business requirement, even if it technically passes? These judgments still require humans.

The practical approach: automate the verifiable acceptance criteria (using E2E tests or BDD scenarios), and keep human UAT for the judgment calls that require domain knowledge and user empathy.

UAT in Practice

A typical UAT process:

  1. Define acceptance criteria before development begins, not after
  2. Prepare a UAT environment that mirrors production (real data where possible)
  3. Write UAT test cases based on user stories and acceptance criteria
  4. Conduct UAT with appropriate stakeholders or user proxies
  5. Document defects and decisions — "fails UAT" and "accepted as-is by business" are both valid outcomes
  6. Sign off formally when acceptance criteria are met

For teams building automated coverage, the acceptance criteria from UAT are often the best source of meaningful E2E test scenarios — they describe what the business actually cares about, which is exactly what your end-to-end test suite should be verifying.

Frequently asked questions

What is UAT in software testing?

UAT (User Acceptance Testing) is the final testing phase before a software release. It verifies that the application meets the business requirements and user expectations that motivated its creation, as validated by stakeholders or user representatives.

Who is responsible for UAT?

UAT is typically the responsibility of business stakeholders, product owners, or subject matter experts — the people who defined the requirements and can judge whether they are met. QA teams often support UAT by acting as user proxies when end users are unavailable.

Can UAT be replaced by automated testing?

Not entirely. Automated tests cover verifiable criteria efficiently. UAT also covers human judgments — is this workflow intuitive, does the error message make sense, does this match business intent — that require human evaluation. The two are complementary.

Tags

UATuser acceptance testingQA processtesting types

See modern QA in action

Everything we write about is what we build and run every day. Book a demo and we'll show you flow-based Playwright coverage on your own codebase.