User acceptance testing | Unleashed Technologies

User Acceptance Testing: The Definitive Guide

I think you will agree with me when I say, in the software, website, and application development world nearly everything seems to be complicated and confusing. Or is it? Well, it turns out that user acceptance testing (UAT) is fairly straightforward. In this definitive guide, we will explain UAT step-by-step. 

But first, What is it?


What is user acceptance testing (UAT)?

The goal of user acceptance testing is to make sure the created software, website or application can handle all required tasks in real-world scenarios, according to user specifications, often called Beta testing. This is normally the last phase of testing before full release. The reason this final phase of testing is completed is to be sure that, once released, the developed software, website or application is free of any defects that would impede users from completing tasks in their day-to-day business operations.

Who and How to Test?


Who is involved in testing?

Whenever possible, the most important group to include in UAT testing should be the end users of the software, website or application also called the subject-matter expert (SME). They are the individuals that will be using and interacting with your software, website or application on a daily basis. This daily usage will allow them to find problems that your internal team may not be able to as they will be impacted the most if the product is not working correctly in their business.


Other people who could participate in UAT could include.

  • Product Managers
  • Customer Service Representatives
  • Paid Beta Testers
  • Segmented portion of end users


One note of consideration is tests performed by client or end users do not normally focus on minor cosmetic issues like color schemes, spelling errors or software glitches. These issues must be identified and fixed by developers during earlier testings phases; for example unit testing or integration testing.


Planning And Conducting Your Test


As with everything, planning is the key. A well-structured user acceptance testing plan will limit the number of retests needed to complete your project and drive down the associated costs of fixing mistakes. Creating a user acceptance testing checklist will help guide your team through each stage of the process. Some of the main questions to include in your UAT checklist should be:

  • Has the acceptance criteria been defined?
  • Is all input data available that is required for testing?
  • Has the testing procedure been defined?
  • Were all problems documented?
  • Were all identified problems resolved?
  • What aspects of business functionality need to be tested to gain the approval of clients?
  • Who is responsible for which tasks? Who’s doing the strategic planning?
  • Who’s managing the logistics?


After your checklist is complete, let's move on,


Design the user acceptance test cases

Your tests should be designed around communications received from your end users or client that started during the discovery phase of your project. Execute tests against predetermined scenarios that represent what end users would be completing as part of their daily activities. Plan to keep tests broad in nature to allow for the testers to navigate freely to complete tasks.


Stay away from click-by-click test steps, as these do not allow for any variance during completion. Once your testing is created make sure you have templates to record test results and internal procedures in place to effectively log the feedback you will receive once testing starts.

Now, let's move on to testing:


Execute Your Test

After your test cases have been accepted, the UAT team can begin completing each task and any additional related test that may need to be completed. Typically testing happens in a group setting like a conference room (or virtually). All users, the project manager, quality assurance specialists and build team representatives will work closely together over a few days complete designed tasks and work through all the acceptance test cases.

Performance Feedback

After testing is completed, the (SEM) or end users will provide feedback to the build team. Feedback typically contains both positive comments and reports of defects, bugs or ways to streamline or increase functionalities. The team manager needs to document the end users findings and begin to triage the bug fixes and requests.

Acceptance testing triage

Once performance feedback has been documented, the build team reviews feedback from either an internal Quality Assurance Specialist or the end users. The team then Triages that feedback and prioritizes it based on its severity level. This process is known as Triage. Triage often includes the client to confirm which feedback, based on different criteria, may need clarification, should be acted on, or should not be acted on and what items should receive the highest priority.


Remember to keep UAT feedback and remediation cycles concise. This will be important as feedback trickles in, as it can lead to fragmented remediation which can add cost to the project via duplicated work. It’s best to allow a set period of time for the client to provide their UAT feedback, then triage that feedback once it’s all in, and then remediate thereafter. The overlap in these three steps should be minimal if any at all.


user acceptance testing - user acceptance testing cycle

Ensuring clear and concise UAT cycles is important to the health of the project. Triage plays a critical role in that process and helps to manage expectations and ensure that feedback being remediated adds value and increased functionality to the overall build. Once the software, website or application is working properly and meets the specifications of your client, it is time to have the project reviewed and signed off by the client.

It's now time to meet with your client:


UAT Sign off meeting

Before moving into production, or going "live" you want to make sure there are no critical defects left open and that the software, website or application meets all contractual and business requirements. You are now ready to meet with all client stakeholders to demonstrate completeness against all contracted requirements. Often, there may be legal requirements for acceptance of the system that ties into payment.  

In Conclusion

There will be many forms of testing that occur in the full lifecycle and development for software, websites or applications. Including user acceptance testing as one of the tools in the development of projects will reduce the probability of unexpected issues. The full quality assurance process goes hand-in-hand with reducing the amount of required maintenance, driving down overall cost and increasing client satisfaction.

Important points:

  • In regular software developing scenarios, UAT is carried out in the QA environment. If there is no staging or UAT environment
  • UAT is more effective when the client is involved in the process


Bonus tip, Test Automation Tools

There are a number of tools available on the market used for user acceptance testing. Three of the most popular are:

  • FitNesse an open-source wiki tool that specializes in comparing program expectations and outcomes. It is often used to automate user acceptance testing by allowing end users to write test cases.
  • Selenium is also open-source and it remembers what you did as you clicked around in a browser, and produces a code that can be used in automated tests.
  • SoapUI another open-source tool that does web service testing for service-oriented architecture. Allowing a development team to run automated regression, compliance, functional and load tests, soapUI gives you complete test coverage.


Please take some time to check out all three and let us know which tool you like best!