User Acceptance Testing (UAT) is one of the final phases in the project life cycle and provides end users of the system with the opportunity to test the system prior to its live state. It is the final check that the Business Processes will function in the manner they were intended and built.
Although the actual testing is at the end of the project life cycle, it is imperative that the business and associated users are involved throughout the whole project cycle. Failure to perform effective UAT may jeopardise the future of the entire product, cause the product to be withdrawn from use, induce costly maintenance and re-work and instil loss of confidence amongst the users along with potentially damaging the company reputation.
There is a vast array of activities that need to be completed during a UAT test phase. While each item on your checklist may or may not be required for every UAT test cycle as priorities may differ from team to team or project to project, this list of tasks can act as a guideline to help you organise the UAT process. Creating a robust and proven checklist can assist the UAT Lead with tracking tasks and enables real-time reporting to the project team on the UAT progress status.
Having a checklist (or to do list) simply saves you from missing something out, a checklist is a standardised list of activities for a repetitive task. It helps to ensure consistency and completeness across all projects in carrying out a task or series of tasks that are essential for project success.
When creating a UAT checklist you need to consider five distinct categories:
• Strategy and Planning
Strategy and Planning are key elements to determining what you need and when. Your checklist must include the testing scope and objectives of the UAT test phase, establish the communication approach, select the testing environment to be used, summarise the assumptions, constraints and dependencies, and determine the acceptance and sign-off criteria. Additionally, ensuring that test data is prepared, along with identifying any testing tools required.
Documentation will be required to detail the test scenarios which will provide the step-by-step workflow scripts. ‘How to’ documents will be produced to provide quick information on how to perform a function quickly, a bug defect template to provide a structured and consistent approach for recording issues if no defect management tool is used and finally reports to provide updates to the stakeholders on the progress and status of UAT.
When resourcing the UAT test phase you will need to identify and define the size of the team, and any participants whose area of business will be affected by the new or enhanced software, as they must be identified such as business analysts, stakeholders and technical support as they may be required to assist with the UAT phase. Creating a resourcing plan (who and when) will give a visual aide to the participants of this test phase.
UAT Execution is the phase whereby you execute the test cases and when necessary report bugs if any are found. During this phase you will be expected to re-test bugs once issues discovered are fixed. The test cases help the team to effectively test the application in UAT environment. UAT should happen in a set up where the users and QA team representatives sit together and work through all the acceptance test cases. Once all the tests are run and the results are in hand, the acceptance decision can be made. This is also called the Go/No-Go decision.
During this phase you will be expected to conduct triage meetings for defects discovered and at the end of testing create a UAT test report with metrics of test passed/failed and the overall outcome of the test phase.
UAT Training needs to occur for the users who will be conducting the testing for UAT. Firstly, it is important that all testers who will be executing the test scripts understand the principles of UAT and how to get the most out of a UAT phase. This involves how to follow test scripts and how to effectively record the results so that they can be passed or failed.
The second element of training that should occur for all users, regardless of whether they are experienced with UAT or not, as this is an education in the changes to the software and business processes that shall be part of the UAT phase. The time taken for users to familiarise themselves with the operations to be performed as part of the UAT scripts will be reduced following an induction to the changes they will experience, particularly if there is a brand-new application being introduced or large changes to an existing IT system.
Post UAT you should conduct a lessons learned session and take from it any additional material you will need for subsequent UAT phases and add anything new to your checklist to make the process slicker the next time around as with all checklists, they will develop with tasks being added and taken away as required, but the simple fact that a checklist exists does give you a head start in setting about addressing UAT testing and to ensure that all the essentials to do items are already predefined and ready to be actioned.
Other benefits of having a repeatable checklist are that you can associate timings to each task, so you know how long it will take to do, you’ll know who can support the tasks on your list along with ordering the tasks into what tasks happen first, second third etc. Overall, there’s a huge amount of benefits of having a checklist both for UAT testing or any other stages of testing.