Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

User acceptance testing (UAT) is acceptance testing performed by intended users or their authorized representatives in a realistic, often simulated operational environment. It determines whether the product supports agreed user needs, business processes, and acceptance criteria well enough for an authorized person to accept the release. UAT supplies evidence for a business decision; it does not prove that no defects remain and does not replace developer, system, security, or performance testing.

What is UAT?

The ISTQB glossary defines UAT as “Acceptance testing carried out by future users in a (simulated) operational environment focusing on user requirements and needs.” In practice, users attempt realistic tasks and compare the observable results with criteria agreed before testing.

Acceptance testing is the wider category. Depending on the decision and authority, it can include contractual, regulatory, operational, alpha, beta, and user acceptance testing. Do not use those labels interchangeably: document what is being accepted, under which authority, and against which evidence.

What UAT establishes

  • Whether representative users can complete important workflows in the intended context.
  • Whether business rules and outcomes match the agreed requirements.
  • Whether known limitations and unresolved defects are acceptable risks to the named decision-maker.

What UAT does not establish

  • That the software is defect-free.
  • That QA or developer verification was unnecessary.
  • That a user’s newly suggested feature was part of the original contract or scope.

Who performs UAT?

UAT is collaborative, but intended users or customer representatives must provide the user-needs judgment. Roles vary with risk and organization.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
Participant Primary contribution
Representative users or customer representatives Explain real workflows, priorities, terminology, and whether outcomes are usable and acceptable.
Product owner or business sponsor Sets business priorities, resolves scope questions, and identifies the accepting authority.
Business analyst Clarifies requirements, business rules, and observable acceptance criteria.
Testers and test analysts Make coverage repeatable, support execution, capture evidence, and coordinate retesting.
Developers and delivery staff Explain intended behavior, investigate failures, and implement fixes without substituting for user acceptance.
Test or delivery lead Coordinates sessions, triage, reporting, and sign-off workflow.

How does user acceptance testing work?

1. Agree scope and decision rules

Identify the release or change, user groups, business processes, integrations, exclusions, environment, participants, and person authorized to accept it. Agree entry conditions, exit criteria, severity handling, evidence requirements, and how blocked tests will be treated before sessions begin. There is no universal pass percentage or defect count; the project’s criteria control the decision.

2. Turn needs into acceptance criteria

Decompose each important requirement into a specific, observable condition. Cover the main business process, significant business rules, valid alternatives, and consequential failure paths. “Easy to use” is not testable until you define the user outcome and evidence—for example, which task a named user can complete and what result must appear.

3. Write user-centered scenarios

Describe a goal in business language rather than a sequence of interface clicks. A useful format is Given/When/Then:

  • Given: the account, data, permissions, and starting state.
  • When: the meaningful user action or business event.
  • Then: the specific, observable result, including records, notifications, totals, or permissions.

Keep cases atomic and independent where practical so they can run in different orders. Use the interface detail only when the interaction itself is the requirement.

What’s actually slowing this PC down?

Pick the symptom - the matching free tool is one click away.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

4. Prepare people, data, and environment

Schedule representative users and explain the scope, vocabulary, result states, and issue-reporting method. Create appropriate accounts, roles, integrations, and realistic but controlled data; apply privacy and access safeguards. Validate that the environment supports the intended workflow and that dependencies are available before the session.

5. Execute and record evidence

For every case, record the criterion, setup, actual result, pass, fail, or blocked status, timestamp or run identifier, evidence, and issue reference. Ask users to note confusing workflows and unsupported needs, but keep exploratory observations separate from pre-agreed acceptance failures. Screenshots, exports, audit records, and short recordings can make a decision traceable.

6. Triage, fix, and retest

Log a reproducible description, business impact, affected users, environment, and supporting evidence. The accepting group decides whether an issue blocks acceptance under the agreed rules; the delivery team owns investigation and fixes. Retest the affected case after a fix and run relevant regression scenarios, not merely the single failed step.

7. Review and decide

Compare results with the exit criteria. Present passed, failed, blocked, out-of-scope, and unresolved items, along with accepted risks and evidence. The authorized stakeholder records accept, accept with documented conditions, or reject/postpone. ISTQB guidance describes sign-off when acceptance criteria are met; it does not prescribe one numeric threshold.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

When should UAT happen?

UAT can be organized around a release or run incrementally as requirements and acceptance scenarios mature. The suitable cadence depends on the delivery lifecycle, risk, and availability of representative users. In either model, involve users early enough to shape criteria rather than asking them to approve a finished product against vague expectations.

What should a UAT test case include?

  • Unique case ID and linked requirement or acceptance criterion.
  • User role, business goal, and priority or risk.
  • Preconditions, accounts, permissions, integrations, and controlled data.
  • Given/When/Then steps or an equivalent setup, action, and expected-result structure.
  • Pass, fail, blocked, or not-run status and actual result.
  • Evidence location, issue ID, owner, severity, and retest result.
  • Scope notes identifying exploratory findings or out-of-scope requests.

Best practices that make UAT defensible

Represent real users and risk

Choose participants who understand the work, not merely people who are available. Prioritize critical processes, high-impact rules, and realistic alternate paths. UAT need not exercise every technical edge case; risk and business importance should determine depth.

Make acceptance measurable

Agree criteria with the people who will accept the result. Replace adjectives with outcomes, limits, records, or observable behavior. State what evidence is sufficient and who can waive a condition.

Protect data and isolate cases

Use masked or synthetic information where possible, least-privilege accounts, and resettable data. Avoid hidden dependencies between cases, because one failed setup can otherwise contaminate an entire session.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Include relevant non-functional concerns

ISTQB acceptance-testing curriculum includes usability and user experience, performance efficiency, and security. Include those concerns when they affect the acceptance decision, while retaining specialist performance, security, accessibility, or compliance testing where the risk requires it.

Keep an audit trail

Version criteria and scenarios, retain run results and evidence, link defects to retests, and record the final authority, date, conditions, and accepted risks. This turns “looks good” into a reviewable decision.

UAT compared with other test activities

Activity Who owns the judgment? What is judged? Typical setting
UAT Intended users or their authorized representatives Fitness for user needs, business processes, and agreed acceptance criteria Operationally relevant or simulated operational environment
System or QA testing Testers and engineering teams Conformance to system and technical requirements Controlled test environment
Operational acceptance Operations or service owners Readiness for deployment, support, monitoring, recovery, and operation Operational or production-like environment
Contractual or regulatory acceptance Contracting party or designated authority Specified contract, law, regulation, or compliance obligation Evidence and conditions defined by that authority

Common UAT problems and fixes

“Users found issues we never agreed to test.”

Classify each observation as a defect against an existing criterion, a new requirement, or out of scope. Do not silently rewrite the baseline; route scope changes through the project’s decision process.

“Everything is blocked by access or data.”

Use an entry checklist for accounts, roles, integrations, seeded records, and environment health. Validate it with a short rehearsal before inviting business users.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

“A failed case cannot be reproduced.”

Capture user role, data identifiers, timestamp, browser or client, environment, exact action, expected and actual result, and logs or screenshots. Reset data and rerun the smallest isolated scenario.

“The team argues about the pass rate.”

Return to the agreed exit criteria and business risk. Report unresolved defects and proposed mitigations to the accepting authority instead of inventing a universal percentage.

“A fix passed once but broke another workflow.”

Retest the failed path and run risk-based regression around shared rules, permissions, integrations, and data changes. Update the scenario if the requirement itself changed.

Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Support on Ko-Fi

Capture evidence without maintaining a browser harness

For visual evidence of a UAT environment, you can automate a browser yourself, but authentication, consent dialogs, popups, lazy content, and unreliable pages add maintenance. ScreenshotNeo is a website screenshot API and MCP server that can capture a URL in PNG, JPEG, WebP, or PDF.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Or skip the browser setup:

One request can capture the evidence page. See the ScreenshotNeo documentation for all options.

cURL

curl -G "https://api.screenshotneo.com/v1/shot" -d access_key=YOUR_API_KEY --data-urlencode url=https://stripe.com -o shot.webp

Python

import requests
r = requests.get("https://api.screenshotneo.com/v1/shot", params={"access_key": "YOUR_API_KEY", "url": "https://stripe.com"}, timeout=90)
open("shot.webp", "wb").write(r.content)

Node.js

const q = new URLSearchParams({ access_key: 'YOUR_API_KEY', url: 'https://stripe.com' });
const res = await fetch(`https://api.screenshotneo.com/v1/shot?${q}`);

ScreenshotNeo accepts consent banners before capture and removes more than 60 known consent platforms, newsletter popups, and chat widgets; each step can be disabled. Bot checks or CAPTCHAs, blank pages, timeouts, failed loads, and cache hits are not billed, and response headers report the page verdict and billing status. Its MCP server provides take_screenshot, get_page_info, and capture_pdf for Claude, Cursor, and other MCP clients. The free plan includes 1,000 screenshots per month with no card; paid plans start at $5 for 3,000 shots. Sign up free.

Cost, performance, and reliability considerations

  • Keep UAT data and environments stable during a run; uncontrolled resets make results incomparable.
  • Run high-risk scenarios first when user time is limited, then cover alternate and failure paths.
  • Separate blocked infrastructure failures from product failures so the acceptance decision reflects the correct risk.
  • Use asynchronous or scheduled execution only when the evidence, identity, and environment are still auditable.
  • Define retention, access, and redaction rules for screenshots, exports, and user data before collecting evidence.

Frequently Asked Questions

Is UAT the same as QA testing?

No. QA or system testing checks conformance from a testing and engineering perspective; UAT asks intended users or their representatives whether agreed business needs and outcomes are acceptable.

Can developers perform UAT?

Developers can support setup, explain behavior, and fix defects, but they should not replace representative users or the authorized acceptance decision.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

What percentage must pass for UAT to be complete?

There is no universal percentage. Completion is determined by the exit criteria and risk rules agreed with the accepting authority before execution.

Does UAT happen only at the end of a project?

No. It may be release-based or incremental, provided criteria and scenarios are mature enough and results can be tied to an acceptance decision.

Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.