What is User Acceptance Testing (UAT)?
What are UAT tests? Who carries them out? Any why are they necessary?
What are User Acceptance Tests (UATs)?
The User Acceptance Test represents the final step in the development of a web, mobile or software application.
During UATs, the end users (in this case the testers) are required to test the software tool that has been developed, in order to validate whether it’s able to meet the use objectives for which it was initially designed.
Example: End users are testing a convenience food delivery application. They will therefore test whether the application really meets the expectations below:
- Finds a restaurant near me.
- Views the list of dishes offered by a restaurant.
- Places the desired dishes in the basket.
- Pays for my order by credit card.
- Follow the steps of preparation and delivery of my order.
- Contacts customer service by phone.
- Sends an SMS to the delivery man
There are many use cases that can be tested during UATs.
At the end of the UAT sessions, the testers will report whether or not the product complies with what was requested by the ordering party upstream of the project. The testers establish a list of modifications and improvements to be implemented in the software in order to make it compliant with the requirements.
The testers will test the software against values that are based solely on the original requests made at the very start of the project.
Who is responsible for performing the UATs?
As mentioned in the paragraph above, the “testers” are responsible for performing the UATs. In the IT development industry, a tester is someone responsible for testing the application or software coded by developers. In UATs the tester(s) are usually the client themselves, or the end users.
The UAT team should be made up of technical and business team members.
Testing whether an application complies with initial requests is sometimes called a “recipe.”
A UAT brings together both functional/technical experts and business users. Together they will validate the functional and business aspects of the software. The presence of business users is essential for the success of the tests and the project. These are the people who are involved in the business and will use the software on a daily basis, so they know exactly what the software should be able to accomplish and feel like.
Indeed, software can be fully functional but not pass the UAT tests if it does not fulfil the business objectives in the initial specifications described in the project upstream.
What are the reasons for performing UATs?
UATs will make it possible to validate the conformity of the developed software delivered in an instant. Indeed, several back and forth exchanges can be made between the UAT testers and the team of developers, who will modify and adjust the software so that it attains compliance with the requirements. In practice, there is usually an intermediate project manager between the developers and the UAT team managing this feedback loop.
Without UAT tests, it might be easy to assume that changes are in accordance with what was requested, when in fact they are not. UATs ensure that when the software is deployed in production, there will be no surprises. End users will be satisfied.
If you attempt software development without UAT testing, which certainly represents an additional cost, you risk damaging your reputation by providing your end users with unsuccessful and inefficient software.
Another important rationale is that UAT tests can uncover problems not detected during unit tests and integration tests. Read our article on this subject if you want to find out more about this type of test.
Finally – and perhaps most importantly – UAT tests provide a global (macro) view of the software that’s been developed.
What are the 4 stages of UAT tests?
Here are the following steps to follow for successful UAT tests.
Step one: Have all the information needed to perform the tests
The first mistake often made is rushing to start UAT tests with very little information on what to actually test: having incorrect, incomplete or information that hasn’t been updated. An effort must be made to collect the most exhaustive information possible.
Obtain the information needed for creating complete test books. The goal here is to create test books that will test the application as a whole – in correlation with the requirements.
Ask yourself: do we have sufficient data to perform our UAT tests?
Information to collect:
- What are the business processes and workflows that need to be tested?
- What test data (datasets) will be used?
- For each test, what is the concrete result that’s expected?
- Who will make up the UAT testing team?
- What are the steps and actions to follow in order to perform each test with a high level of detail?
Step two: Prioritize the business goals that will be tested
By collecting the necessary information for the UATs and by writing the test books, you’ll quickly realize that the list of test cases can become overwhelming and unending.
If this happens, we advise you to prioritize the business processes that need to be tested.
Doing this effectively will be determined by having a well-defined scope for your tests upstream. If you don’t, you risk never truly finalizing the UAT phase.
Step three: Design the UAT Tests
After you have prioritized and determined your test scope, you can move on to the actual test design stage. This step consists of describing – in a document called an acceptance book – each test, accompanied by its expected result.
Step four: Run UAT Tests
Once your UAT testing project has been clearly defined, you can go ahead! After obtaining the test results, you’ll be able to know if you can put the software into production – or not.
We can help you prepare for your UAT tests. Discover our teams of experts from Vietnam, Madagascar and Mauritius who are ready to meet your digital challenges.