User Acceptance Testing Explained
What is UAT?
Does your new web project meet the requirements of the business?
User Acceptance Testing (or UAT) aims to ensure that the website and each related project does what it is supposed to do.
Does your new project meet the requirements of the business?
In most web software projects, including websites, eCommerce platforms, etc., it is important to have well-defined and documented business requirements that are clearly communicated to the development team and other stakeholders involved in the project's implementation and testing process.
However, before the new project is launched, thorough testing must be carried out to ensure that it meets the business requirements. That level of testing is known as User Acceptance Testing
or UAT.
What is UAT?
Website User Acceptance Testing is typically performed by end users, business analysts, product owners or client representatives. This could initially be carried out to validate whether the website and each related project meets the intended business needs, and looks and functions as expected.
In terms of eCommerce User Acceptance Testing the same applies, but the testing could extend to product search, selection, comparisons, promotional offers, shopping basket functionality, delivery tracking, emails, order cancellation, etc.
If there are any gaps, discrepancies, or usability issues between what has been required and what is being delivered, it will not meet the acceptance criteria. Those issues can be reported and communicated back to the developer(s) so they can be resolved. In some cases the issues found might actually be defects (or bugs
) which can also be reported, tracked and fixed.
During UAT, testers execute various relevant test cases which have been designed to mimic real-world scenarios. This will enable the tested to assess the project’s functionality, performance and user experience in line with the business objectives and intended purpose of the project.
What does UAT involve?
Validation of business requirements by using UAT ensures that the project meets the specified business requirements and aligns with the needs and expectations of the end users. It is therefore a crucial step to verify that the project fulfils its intended purpose, and typically involves the following activities:
Test Planning
Defining test objectives, identifying test cases, and outlining the UAT strategy.
Test Cases
Test cases should be based on user requirements, real life scenarios, workflows and business processes. Depending on the structure of the organisation, these test cases will sometimes be written by the QA team, and sometimes by Business Analysts or Product owners.
Test Execution
Users carry out the predefined test cases step by step, interacting with the new feature or update as they would in their actual work environment.
Defect (or bug) Reporting
Any identified issues or discrepancies are logged, documented, and communicated to the development team for resolution. Tools such as Jira, Trello, or even spreadsheets can be used for bug reporting and tracking.
Test Completion
Once all test cases have been executed and any reported defects have been addressed and re-tested, the UAT phase can be considered complete and signed off.
Also remember that carrying out UAT in each testing environment is important, especially when separate development projects meet for the first time on the same staging server. This is because it is not unusual to find compatibility issues which will need to be resolved before go-live.
Is UAT sufficient or are other tests needed?
Are other tests needed?
The success of UAT ensures that the software satisfies the needs of the end user, operates as expected, and is ready for deployment. It provides stakeholders with confidence that the software will effectively support their business processes and deliver the desired outcomes.
Therefore functional testing and usability testing (which is not the same as user acceptance testing) will be required. These will vary depending on the project requirements, the type and method of implementation, and whether the project is a standalone piece or has been integrated into other existing features.
However...
New features, software updates, and even fixes to existing code can introduce problems with other things which had been working properly. So a level of regression testing is a sensible approach to take before you can safely draw closure on the project.
Compatibility with other features
We shouldn't overlook the fact that new projects are often implemented at the same time as other projects, and sufficient testing would therefore need to be carried out to ensure that there are no problems with compatibility. For this reason you should consider integration testing
is carried out.
And of course, especially when implementing new features on websites, don't forget that cross browser testing
is carried out, and that the new feature is tested on mobile devices as well as desktops, laptops and tablets.
Thoughts, suggestions or comments? tt
Comments or Feedback?
If you have any comments, thoughts or suggestions about this article, please let us know.
Use the social media buttons below to share this article.
I'm Daron Harvey, founder of TargaWeb, specialising in AI chatbot implementation, website testing, auditing & consultancy. I am now in my 28th year of professional website production, testing and eCommerce best practices, and excited about the opportunities that AI chatbots and digital assistants can bring to ourselves, our customers, and our customer's customers.