Introduction to User Acceptance Tests
A very important part of a bespoke software project is something called user acceptance tests (UAT). Stakeholders and users don’t need to be technical to understand UAT, but they do need to recognise its value.
This blog explains in plain language what user acceptance tests are, how they work, how often you’ll be involved, and how it can make or break your custom software project. We also give a real-life example from a call-back feature we built for one of our clients, along with sample user acceptance test forms and templates.
What is User Acceptance Testing?
User Acceptance Testing (UAT) is the final step before your new software goes live. It’s where you or your team try out the system to make sure it works the way you want it to. It is part of risk management and is the client’s opportunity to confirm the software meets your business needs; not just that it’s bug-free, but that it does the job it was built to do.
User Acceptance Testing: Why It Matters in Bespoke Software Projects
User acceptance tests (UAT) play a crucial role in bespoke software projects because the development team builds the system specifically around the client’s business, workflows, and goals. Unlike off-the-shelf software; where thousands of users may have tested the system before, it’s only the client and their team who can confirm if the software truly works in their environment.
You and Your Team are the Experts

The people involved in user acceptance tests are typically those who will use the software day to day.
This includes front-line staff, operations managers, and sometimes even external partners. If customers or clients will be using the software, they may also take part, or members of the client’s team will test on their behalf.
Each has a vital role to play:
- Front-line users (like admin staff or sales teams) test whether they can carry out their tasks efficiently. For example: booking appointments or processing orders.
- Managers and supervisors test for oversight and control, can they see the right reports or receive the correct alerts?
- IT or support staff might check if the system works well with existing tools.
These are the real experts when it comes to what the software needs to do, and their involvement in UAT is what ensures the final system is both usable and valuable.
“Quality is not just tested in a lab. It’s proven in the hands of the people who actually use it.”
— James Whittaker, ex-Microsoft Engineering Director and author on software testing
What is the Purpose of User Acceptance Testing?
The main purpose of UAT is to verify that the system supports your company’s real-world business processes and to give you confidence before launching. This ensures and reassures the client that the software produced is of sufficient quality.
The Four Goals of UAT
1) Confirm the system does what it should from a user’s point of view

This is the most basic but important part. A feature might technically work, but if it doesn’t make sense to the end user or isn’t usable in practice, it could still fail. For example, if a finance manager needs to download monthly reports but the system makes them go through five menus instead of one, the feature doesn’t suit its purpose.
2) Catch misunderstandings between your requirements and what was delivered

Requirements can get lost in translation. Maybe the original brief asked for a drop-down menu for customer types, but the developer implemented free-text input. This is the client’s chance to spot those differences before they cause problems.
3) Avoid costly rework after go-live by catching issues early

Fixing a problem before go-live is always cheaper and less disruptive than fixing it afterwards. If the client team finds a broken email notification rule during UAT, the development team can fix it before it affects real customers or delays service.
4) Get user buy-in from staff who are often involved in testing

When staff perform user acceptance tests, they feel included and valued. It becomes “their” system. They’re more likely to adopt it quickly and champion its use internally.
When and How Often is the Client Involved in UAT?

Clients are usually involved in user acceptance testing at two key stages. The first is shortly before the software goes live. This allows the client to confirm that the system functions as expected, meets business requirements, and is ready to use. The second stage might occur after future updates or changes to ensure the new features also meet expectations.
For small business bespoke software projects, UAT might take a couple of days. For larger corporate systems with more users and features, it could take a week or two. Importantly, the client team does not need to test every single function; they focus on the real-world tasks their team will be performing.
How to Do User Acceptance Testing
User acceptance testing usually follows four key phases. In bespoke development projects, the development team guides the process, but the client provides the real-world expertise. Here’s how it works:
User Acceptance Tests – Phase 1) Planning

The development team works with the client to define what success looks like. This includes creating a list of user actions the system must support. For example: “Can a team member create a call-back for a customer and receive a confirmation?” The client chooses who in their team will be involved in testing. This might include operational staff, team leaders, and someone with decision-making authority to provide sign-off.
User Acceptance Tests – Phase 2) Preparing

At this stage, the development team prepares a user acceptance testing template that explains what the team will test, who will do it, and when. They may also give the client team a short training session or walkthrough to help everyone understand the system and their testing role. If the software is to be used on a range of devices, such as tablet, mobile, desktop, then this will need to be made available for user acceptance testing too.
User Acceptance Tests – Phase 3) Executing

The client team performs real-world tasks using the system. They do this in a controlled environment, replicating what they would normally do day-to-day. For each task, they record the outcome: did it work as expected, was anything confusing, and were any problems encountered?
User Acceptance Tests – Phase 4) Review and Fix

Once the client team has finished testing, the development team reviews the results. Any issues are addressed and retested. Only when all tasks pass and the client is happy, does the project move forward. At that point, the client completes a software user acceptance form to formally sign off.
Real-World Example: Call-back Feature for Smart Home Charge (SHC) Client
To help process EV charger requests, SHC needed a way for customers to schedule a short consultation with their team. Previously, their staff were chasing people by phone, often unsuccessfully. The goal was to give customers an online form where they could book a time for a call-back.
Here’s how user testing worked for this new bespoke feature:
Customer-facing requirements:
- Customers needed to fill in a form to request a call-back.
- They had to choose a suitable date and time.
- They needed to receive confirmation and reminders.
Office team requirements:
- Staff needed to see incoming call-back requests.
- They needed to mark when a call started and ended.
Supervisor requirements:
- They had to track missed calls and follow-ups.
Once the feature had been built and tested internally by the developers, a UAT session was organised with SHC’s supervisor and a senior staff member who would use the feature daily. The development team, including the project manager and a lead developer, ran a complete user acceptance tests session with them.
Sample User Acceptance Testing Process
In our client project, a sample UAT test included this task:
“A customer books a call-back on the Smart Home Charge website for Thursday at 2pm. A confirmation email is sent immediately. The staff member sees the alert and makes the call at the scheduled time. If the call is missed, the banner at the top of the supervisors screen will display the details of the missed call-back.”
This tested:
- The customer-facing form
- System validation (e.g., checking time slots)
- Backend assignment to office staff
- Alerts to staff
- Email delivery to customer
- Alerts to supervisor
Software User Acceptance Template
Your testing doesn’t have to be complicated. Here’s a basic UAT template, for the call-back feature:

You’ll typically complete this in Excel, Google Sheets or even paper if you prefer.
Software User Acceptance Form
Once testing is complete and the system behaves as expected, the development team provides a user acceptance form for the client to sign. This form confirms that the software meets the agreed requirements and is ready to go live.
If the client is not fully satisfied at this stage, this is their opportunity to highlight any issues or requirements that have not been met. In that case, the development team will make the necessary changes and another round of user testing, would be carried out. This cycle continues until the client is happy to sign off.

Thinking of investing in a tailored software solution or digitial transformation for your company? Fill out our contact form and we’ll be in touch to discuss your requirements.
Why UAT is Essential in Bespoke Software Projects
A bespoke software solution is built for a specific purpose. This means only the client can truly judge whether the system meets their needs. User acceptance testing is the safeguard that ensures the custom software delivers value and functions correctly in the real-world context it was built for.
Here’s what that looks like:

Reducing Risk
UAT helps prevent avoidable problems that could disrupt business operations after launch. It is far less costly and risky to fix issues before the system is rolled out to staff or customers.

Building Confidence and Engagement
By involving staff in UAT, clients not only test the system but also prepare the team for rollout. Staff are more likely to support and adopt the system when they’ve helped test and shape it.

A Stronger Partnership
Clear and structured UAT also builds trust between the client and the development team. It shows that the software was built properly and confirms that all requirements have been met.
Final Thoughts: Don’t Skip User Acceptance Testing
No matter how experienced your software development house is, no one understands your business better than you. User acceptance tests gives you the chance to make sure the solution works for your team, not just in theory, but in practice.
If you’re planning to invest in bespoke software, make sure user acceptance testing is a formal, documented part of your process. You’ll be glad you did.
Let’s make your software work for your business. BSPOKE Software can guide you step by step. Give us a call, or fill in our contact form and we’ll get back to you shortly.