Skip to content
Web Development4 min read

User Acceptance Testing for Business Software: Acceptance Criteria and a Practical Sign-Off Framework

How to write acceptance criteria that prevent scope disputes and run user acceptance testing: entry and exit criteria, defect severity and sign-off.

01

How should businesses run acceptance testing?

Write acceptance criteria for each requirement before development, in testable form; turn them into UAT scenarios that real users run in a staging environment with realistic data; triage defects by severity and separate them from change requests; and sign off against agreed exit criteria. Tie acceptance to the contract so payment milestones and warranty periods follow clear evidence.

This guide is for product owners and operations leads accepting software from internal teams or suppliers.

02

Key takeaways

  • Agree acceptance criteria before work starts.
  • Test with real users, realistic data and real workflows.
  • Define entry and exit criteria for UAT.
  • Classify defects by severity; log changes separately.
  • Record sign-off with scope, date and named approver.
03

Writing acceptance criteria

Good criteria describe behaviour, not implementation, and cover rules and exceptions.

  • One behaviour per criterion; avoid vague words like fast or user-friendly without a measure.
  • Include permissions, validation and error cases.
  • Include non-functional criteria where they matter (performance, accessibility).
  • Review criteria with the people who will test.
Example criteria (Given/When/Then)
Requirement: Trade customers can reorder from past orders

Given a signed-in trade customer with at least one past order
When they choose "Reorder" on an order
Then the basket contains the same products and quantities
And products no longer sold are listed as unavailable, not added
And current contract prices apply, not the original prices
04

Planning UAT

ElementWhat to define
ScopeFeatures and workflows in this release; what is out
Entry criteriaQA complete, environment stable, test data ready, known issues listed
ScenariosEnd-to-end business tasks built from the acceptance criteria
Testers and timeNamed users with time blocked in calendars
Environment and dataProduction-like staging, anonymised or synthetic data
Exit criteriaScenarios passed; no open critical or high defects; workarounds agreed
Sign-offWho approves, in what form, and what it triggers
05

Defects versus change requests

SeverityMeaningRelease impact
CriticalBlocks a core task or risks data loss or securityMust fix before go-live
HighMajor function wrong, no reasonable workaroundFix before go-live or agree a dated workaround
MediumFunction wrong with a workaroundCan go live with a fix plan
LowCosmetic or minorBacklog
Change requestWorks as agreed, but the business wants something differentEstimate and prioritise separately
06

Linking acceptance to the contract

Contracts should define acceptance criteria per release, a testing window, how defects are classified, and what sign-off triggers (payment, warranty start, go-live). Deemed acceptance after a period without feedback protects suppliers; clear exit criteria protect buyers. See custom software development in the UK for other contract points.

07

Hypothetical example: a wholesaler's trade portal

This example is hypothetical. A wholesaler accepting a new trade portal wrote acceptance criteria with its sales and customer service teams during discovery. UAT ran for two weeks with six internal users and three friendly customers on staging with anonymised data. Of 41 issues logged, 9 were reclassified as change requests. Sign-off recorded two medium defects with fix dates, and go-live triggered the warranty period.

08

Common mistakes

  • Writing criteria after development.
  • UAT by the development team instead of users.
  • Unrealistic or empty test data.
  • Treating every request as a defect.
  • Sign-off by email with no record of scope.
09

Conclusion

Acceptance criteria and a disciplined UAT turn go-live decisions into evidence rather than opinion, and keep scope discussions fair. Agree criteria early, test with real users, separate defects from changes and record sign-off. For automated checks between releases, see automated regression testing.

Preparing to accept a new system?

ZSpace Labs is a remote-first technology studio that works with clients globally on business applications and mobile apps, with acceptance criteria agreed up front. If it would help to plan acceptance for your project, we are happy to talk it through.

Start a Project
FAQ

Common questions.

Testing by the business users or client, in a realistic environment, to confirm the software supports their work and meets the agreed acceptance criteria before it goes live. It complements developer and QA testing rather than replacing it.

Get in touch

Have a project in mind?

Whether you're building a new digital product, improving an existing website, or looking to automate part of your business — let's talk.