UAT is defined as testing the software with the user or client, to determine whether it can be accepted or not… and yet the user is often forgotten or under prepared for testing! This crucial stage of the software development lifecycle should be treated with respect to protect the investment in the software being developed. Don't fall at the final hurdle!
Some of the main challenges of UAT are; not using the correct users, users becoming disinterested, insufficient training and refusal to sign off unknown software. In order to avoid these situations, we should line up future users early and engage them early in the process.
It may sound obvious but User Acceptance Testing should be built around the user. Although UAT is the only phase that has 'user' in its name, we should be involving them early in the project and keeping them in the loop throughout. They should be involved in the business requirements review and be empowered with the opportunity to review and feed back on the test plan and scripts. This will avoid frustration and time wasted at the actual UAT phase, where defects can sometimes be raised that are not in fact defects, but are the result of poor requirements. This will also allow the user to be more confident when signing off the software, as they have been involved from the start and will therefore have a greater understanding of the software.
It is important to find the right users to carry out your UAT. The right user will find issues that a tester may not, as they can see how the software will be used in everyday life. The right user should have a wealth of experience in handling the system in question, and will therefore understand the potential fringe cases that could be missed by testing; as well as being able to create a range of tests that differ from system test scripts, preventing repetition of tests executed in previous phases.
Always be reluctant to use testers and surrogate users to carry out UAT, and constantly stress the importance of the phase. A combination of these points will certainly help you get the most out of your user acceptance testing.
UAT should be more than just acceptance, if done well it can add greater value – not just acceptance but excitement and anticipation of the new system. Users who have an enjoyable experience during UAT, not only become experts but champions of the system!
Utilising users from the business, who have extensive experience and knowledge of the system, and have also had input into the development process, can massively improve their views. Because they have contributed to the development of the solution, they will be bought into the process and will have a vested interest in the success of it. Throwing something unexpected over the fence, will be met with annoyance and resentment.
In order to ensure your users become champions of the system, you should select users from all areas of the business – remember, every level of the business has different experience and knowledge. Involving users early and training them fully, before beginning the UAT process, will also increase the likelihood of developing champion users.
To avoid any frustrations and create a positive, enjoyable experience, which makes the user excited at the prospect of a system, there are a few things that we should do:
The benefits of having user champions are endless! Champions will create a positive atmosphere around the release which will permeate through the organisation. They’ll also be able to assist new users after the rollout, making the transition following go-live as smooth as possible. Having them distributed evenly throughout the business will ease transition and potentially remove teething issues and incorrect feedback.
Without the user, UAT is not UAT.
Clayton Sheldon - Test Lead