MVPs & custom software6 min readReviewed by the Softivum team,

What is UAT in software development?

Short answer

UAT, or user acceptance testing, is the final check in which the people who will use the software, usually the client's own team, try it on real tasks to confirm it does what the business needs. It happens after the developer's testing and before sign-off, launch and final payment.

The key points

  • UAT is done by the client's users, not by the developer's testers.
  • It checks that the software fits the business process, not only that it works without errors.
  • Agree before it starts what counts as a defect and what counts as a change request.
  • Sign-off after UAT usually triggers launch, handover and the final payment.

What is UAT in software development?

User acceptance testing is the stage where the people who will actually use the software check it against the job it was built to do. The ISTQB glossary describes acceptance testing as testing carried out to decide whether to accept a system, which is why the word acceptance matters: at the end, somebody says yes or no.

It differs from the developer's own testing. The development team tests whether the software is correct: calculations are right, pages load, nothing crashes. UAT asks a different question: can a receptionist book an appointment in under a minute, and does the report show what the owner needs on Monday morning? Software can pass the first kind of test and still fail the second.

Who does UAT, the client or the developer?

The client does it. Your own staff, or a few representative customers, run through real tasks with test data. The developer prepares the test version, supplies a short guide, answers questions and fixes what is found, but does not decide whether it is accepted.

Pick testers who do the work every day, not only managers. A person who processes thirty orders a day will notice that a button is in the wrong place long before a person who has never used the old system. Name one person on your side who collects findings and speaks for the group, so the developer receives a single list instead of ten emails.

How is UAT different from QA testing?

Quality assurance testing is the developer's side of the work. It covers whether each feature behaves as specified, whether the software holds up under normal use and whether obvious security and data problems have been checked. UAT comes after it and uses real scenarios from your business.

A simple way to remember it: QA asks whether the software was built correctly, and UAT asks whether the right software was built. Skipping UAT means the first people to find that mismatch are your customers.

What should a UAT plan include?

A short written plan keeps the stage from turning into an argument. It should name the testers, the dates and the test environment, which is a copy of the software with test data and never your live system. It should list the scenarios to be tried, written as ordinary tasks such as create an order, refund it and find it in the report.

It should also state the acceptance criteria, meaning the conditions under which you will accept the software. These come from the original scope, so the proposal for your custom software and the list of features agreed at the start are the reference. Finally, it should explain how findings are reported and how quickly they will be handled.

  • The testers, the dates and the test environment
  • Scenarios written as everyday tasks
  • Acceptance criteria taken from the agreed scope
  • How issues are logged, prioritised and answered
  • Who signs off, and what sign-off triggers

How long should UAT take?

It depends on the size of the system. For a small first product it can be a few days of focused testing, and for a larger system with several user roles it can take a couple of weeks, with fixes in between. Fit it into the plan from the start, because testing is the stage that is squeezed first when a build runs late. The overall shape of a project is covered in our guide to the software development life cycle, and the time a first product needs is explained in how long it takes to build an MVP.

Run it in rounds. Test, send the list, let the developer fix, then retest what changed. One long round at the end tends to find too much at once.

What happens when UAT finds a bug?

Findings fall into three groups, and agreeing the groups beforehand prevents most disputes. A defect is something that does not work as agreed, and the developer fixes it as part of the project. A change request is something that works as specified but that you now want done differently, and it is priced and scheduled separately. A suggestion is a good idea for a later version.

Ask for each finding to be recorded with the steps to repeat it, a screenshot if possible and how serious it is. Serious issues, such as wrong totals or users seeing each other's data, are fixed before launch. Minor cosmetic points can be scheduled for after.

What does sign-off mean for payment and handover?

Sign-off is your written statement that the software meets the agreed criteria. It is normally the trigger for launch, the final payment and the start of the support period, so read what you are signing and do not give it under time pressure. If you want to compare how vendors treat this, our guide to comparing software development quotes shows where payment milestones and acceptance terms usually appear.

Before signing, confirm that the code, hosting and third-party accounts are registered to you, as covered in who owns your website after a developer builds it. Sign-off is also the point at which the developer's responsibility for fixing defects changes into a support arrangement, so check how long that support runs and what it includes.

Before you start UAT

  • Testers who do the daily work are named and have the time
  • A test environment with test data exists, separate from the live system
  • Scenarios are written as ordinary tasks from your business
  • Acceptance criteria come from the agreed scope
  • Defects, change requests and suggestions are defined
  • You know who signs off and what sign-off triggers

Sources

Rules and guidance this answer relies on. Policies change, so check the current version before acting on it.

  1. ISTQB Glossary: acceptance testing
  2. GOV.UK Service Manual: How the beta phase works

Questions people also ask

Not quite. UAT is a formal check by the client's own users, with defined tasks and a sign-off at the end. Beta testing releases a nearly finished product to a wider group of real users to find problems in everyday use, usually without a formal acceptance decision.

You can, but you take on the risk. Problems that UAT would catch in a controlled setting then appear in front of customers. If time is short, shorten the scope of testing to the most important tasks instead of removing the stage.

Defects, meaning behavior that differs from the agreed scope, should be fixed by the developer within the project. Requests to change something that works as specified are change requests and are priced separately. Agree this distinction in writing before testing starts.

Want this applied to your business?

Tell us what you are planning in a free 30-minute call, or have your current website checked first with no call needed.

Get a Free 2-Minute Website Audit

Free 30 minutes ยท no obligation

WhatsAppCall