Effective User Acceptance Testing (UAT) is critical to ensuring that the new software and processes meet the needs, of both the business and individuals. It allows for any issues to be identified and fixed before the system goes live. Problems identified after go-live can have a serious negative impact on the business and user adoption.
To mitigate such risks, here are some proven top tips for UAT:
Have a plan and set clear expectations
Meet with key stakeholders to agree UAT objectives, resource requirements, success criteria, a communication plan, the test scope and timelines. Stakeholders must understand their role and responsibilities as well as approve the testing process, timeline and desired outcomes.
It’s important that the test participants understand the purpose of UAT. So, set clear expectations around the desired outcomes, their role, and how they will be supported. When people understand the value of an activity, they are happier to participate in it. Examples of desired outcomes could be ensuring the solution minimises administration, makes collaboration easier or reduces risk. The most valuable outcome of UAT is to find genuine issues, it’s not a tick box exercise. The more problems you find, the more you’ll be able to resolve before go-live, the smoother the transition will be and the better the system will perform and be adopted.
Functional testing is not UAT
Testing performed by the IT or project team is functional testing, not UAT. Functional testing is an important process, but only end users can tell you whether the solution meets their requirements.
Identify the right people
Test participants must represent users from different teams and roles across the business. They also must be available to diligently complete testing within the agreed timescales. Many organisations combine the Testing role with Super User/Product Champion roles, as anyone who performs UAT does gain an in-depth understanding of the solution.
Support testers well
Provide good support to enable people to test the solution effectively. They will be following complex testing instructions, on an unfamiliar system. They will need to interpret results and clearly describe and record any defects. A single training session, followed by “here’s the script, now go away and test” may not be enough.
Offer comprehensive training, on both the solution and the testing process itself. Additionally, they will also need support while they are testing – be at hand to answer their questions, provide guidance and help them to validate and record issues. A lack of support during UAT often leads to poor testing outcomes and projects slip.
Focus on real-world scenarios, not just buttons
The objective of UAT is to ensure that the solution meets the requirements of people, across the organisation, in their day-to-day activity. Therefore, testing steps should reflect the real world, incorporating use cases and typical workflows. This helps put the testing steps into context, but also provides a more realistic view of how the solution will be incorporated into their end-to-end processes.
Test the whole deployment
Testing must be performed on the full deployment package and reflect the real world. Avoid the temptation to perform testing on new PCs, with manually installed software. Test using the different PC builds used in the business, especially the older devices as they may contain legacy software and settings. Also think about the small teams that may be using bespoke tools or processes. This is an opportunity to avoid any nasty surprises.
Clarify and validate results
It’s unrealistic to expect UAT participants to document results like professional testers, so it’s worth speaking to them to clarify and validate the test results they have documented. To assist, create testing scripts with clear, defined actions and outcomes. For example, rather than asking someone to simply ‘save a document’, ask them to save a document, using a specific method, in a specific space, with a specific name and metadata. The expected result(s) should also contain detail, to provide the tester with enough information to make an informed assessment on success. The information will help your technical team to identify and focus in on specific issues. This approach will also help you to identify any inconsistencies, misunderstandings or knowledge gaps.
Think about perception
Be mindful that testers are end users. They will form opinions on the new solution, and no doubt will share these opinions with their colleagues. So, it’s important to ensure that they have a positive experience. Thorough functional testing, before UAT begins, will help ensure that any major issues are discovered and fixed before the UAT phase. When testers first see the solution, it must impress! After the first test run, schedule face-to-face meetings with testers to gauge reactions and the overall mood. A successful test doesn’t always mean users are 100% happy with the solution.
Give yourself space
UAT is a critical milestone, the outcome of which will determine the go-live decision. Ensure that your project plan allows enough time for multiple test runs and any fixes that may need to be applied. Tight timescales may result in the go-live date being pushed back. With good planning, this can be avoided.
The importance of a well-thought through UAT should not be underestimated. Its findings have a bearing on software adoption and project success ultimately, but also on cost and ROI.