technine.io
A white sheet with three empty checkboxes and a red tick in the top box, on a light blue background.

Guide

What Is User Acceptance Testing (UAT)? Checking Software Before Go-Live

User acceptance testing (UAT) is when the people who will use a new system check that it supports their real work before go-live. Learn who takes part and how to plan it.

Updated

User acceptance testing (UAT) is the stage where the people who will use a new system check that it supports their real work before it goes live. Developers test that the software works as built. UAT asks a different question: does the system do what the business needs, in the way staff and customers will use it? For a company buying custom software, it is often the main chance to confirm the delivery before handover or launch.

How UAT differs from other testing

A software project usually includes several rounds of testing. They overlap, but each has a different owner and purpose:

  • Developer and QA testing checks that features work as specified and that the code behaves correctly. It is normally done by the delivery team.
  • Regression testing checks that existing features still work after a change.
  • User acceptance testing checks that the system fits the business process, using realistic tasks, data and user roles. It is done by, or with, the business users.

Passing developer testing does not guarantee acceptance. A form can work perfectly and still ask for information in an order that does not match how front-desk staff take a booking.

Who should take part

UAT works best when the testers are the people who will rely on the system, not only the project sponsor. Depending on the project, that might include:

  • front-line staff who handle daily tasks such as bookings, orders or enquiries;
  • supervisors or administrators who approve, edit or report on records;
  • finance or operations staff who check amounts, exports and reconciliations;
  • where suitable, a small group of customers or members testing public-facing journeys.

The delivery team usually prepares the test environment, explains how to report issues and fixes what is found. The business decides whether the result is acceptable.

What to prepare before UAT starts

  • Acceptance criteria: agree in writing what "accepted" means for each feature or journey, ideally when the scope is set rather than at the end of the project.
  • Test scenarios: short, realistic tasks such as "create a booking for a member, change the time, then cancel it", with the expected result for each step.
  • A test environment: UAT is normally done on a staging or test version of the system, separate from live data, so testers can make mistakes safely.
  • Test accounts and data: an account for each user role and sample data that resembles real records. Avoid using real personal or payment details unless this has been properly agreed.
  • A way to log issues: a shared list or tracker recording the steps taken, the expected result, what happened and a screenshot.
  • A timetable: testers have their normal jobs, so set aside time for UAT and for a second round to recheck fixes.

Illustrative example: A company replacing a spreadsheet-based booking process with a web app asks two front-desk staff and one manager to run UAT. The developers' tests all pass, but the staff find that the system cannot save a phone booking for a customer who has no email address. The issue is logged, both sides agree whether it is a defect or a change to scope, and the fix is rechecked before launch.

Sorting the issues you find

Not every UAT issue is a bug, so it helps to classify each one:

  • Defects: the system does not do what was agreed.
  • Change requests: the system works as agreed, but the business now wants something different. These may affect timeline or cost and should be agreed separately.
  • Questions and training needs: the feature exists, but users did not know how to use it.

Agree a severity for each defect, such as whether it blocks launch or can wait for a later release, so sign-off is based on clear priorities, not the total number of issues.

Sign-off and after go-live

UAT usually ends with sign-off: a recorded decision that the system is acceptable for launch, sometimes with a list of known minor issues and a plan to fix them. Check what sign-off means in your agreement, for example whether it starts a warranty period or a support arrangement.

UAT checks a system at one point in time. After launch, changes and updates can affect features that were accepted earlier, which is where regression testing and ongoing website monitoring help. Support terms after sign-off are often set out in a software support SLA. If you are building a first version to test an idea, read what an MVP is.

For a service-focused overview, see technine.io’s website and web app development service, which includes UAT and launch validation.

Frequently asked questions

Is UAT the client's job or the developer's?

Usually both. The developer prepares the test environment, supports testers and fixes defects. The business runs or takes part in the tests and makes the acceptance decision. Agree these roles before the project starts.

How long should UAT take?

It depends on the size of the system, the number of user roles and how much time testers can give. Plan at least one round of testing plus a round to recheck fixes, and agree the timetable early so staff are available.

Can UAT be automated?

The acceptance decision needs people, because it is a judgement about whether the system fits the business. Repeatable checks of agreed journeys can be automated, and those scripts can later be reused for regression testing; see technine.io’s automated UI and user journey testing.

technine.io

technine.io is a Hong Kong software development and system integration team. We build, connect and improve applications, cloud platforms, data and device-based systems for real business operations.

Contact

(852) 3596 2500

contact@technine.io

28/F, 9 Wing Hong Street, Cheung Sha Wan, Kowloon, Hong Kong

Copyright 2026 © Tech Nine Limited
ConsultWhatsApp
What Is User Acceptance Testing (UAT)? | technine.io