Testing is one of the critical phases in the software development cycle. The testing can be understood as a process where the users get hands-on experience on software in order to cross-check or test the requirements specified in the document have met. UAT usually happens at the client location and is carried out by the client team members who will also be the intended users.
While developing the software, the ideal software environment conditions may differ thereby leaving the successful deployment and parallel behavior of the software on these conditions. UAT is also known as beta testing, end-user testing or application testing.
How to plan and execute a UAT?
UAT involves stages like planning, test case designing, tester selection, executing and documenting test cases, bug fixing and sign-off.
- Planning stage – This stage outlines the plan which specifies key acceptance criterion specified by the client. It will have the details of the dates, testing environment, testers, roles and responsibilities, the involvement of QA at the time of testing like assisting the team on how to use the software, templates, results and entry-exit criteria.
- Test case designing – The ideal way to document use cases is to start by clearly stating the user type, “As a user” followed by the task to be performed by him/her based on the functional requirement. Test cases should cover all possible scenarios and should be very simple to understand.
- Selection of testers – The testing team is comprised of real-world end users. The selection can be narrowed down by coordinating with the client and understand the key actors who will test the software.
- Executing test cases and documenting – Here the documentation is concerned with the functional requirements, level of criticality, test results to confirm if the functionality is in place and comments segment. All these factors need to be validated by the client for a successful sign-off. The comments segment can also have mention of bugs or errors faced during testing.
- Bug fixing – Bugs and even suggestion on improved UX are expected from the customer after the testing of the software is done thoroughly by them. Software developers then make necessary changes in the code to fix the bugs as pointed. The progress is then communicated to the client for a sign-off.
- Sign-off – As simple as it sounds, it might get very tricky for organizations which do not have dedicated Quality Analyst teams in place to get a written sign off smoothly. It is advised here to have a written communication in place to successfully mark the completion of the software development.
User Acceptance Test cases and associated expectations
- All the basic points like On click button behavior, page navigation and fields are tested in advance. These are the areas where you don’t want the client to point fingers at you.
- Identification of bugs in this stage is also acceptable as replicating the client environment is not always possible. However, a quick fix to it is equally important to keep the client’s confidence.
- Testing is of two types Alpha and Beta testing – Alpha testing happens in the developer environment and Beta testing happens at the production environment at the client location. Its always good to have both types of testing done.
- It is best to give credentials to the client to login to the test environment for testing.
Folks, in case you come across any challenging situation in designing and conducting a successful UAT, do let me know and I shall share some solutions to tackle the same.
P.C. Vectorpocket
Hannah Menfred
December 28, 2018 at 7:33 am
Good Article.
I am a project manager in Germany. Recently my company decided to dump whole module and rebuild it. My production manager wants me to rewrite whole UAT’s based upon UI designs. Can we do that? How much it will be helpful writing UAT’s before development is swing in or should I ask him to wait for development to finish and write UAT’s after that?
Can you suggest a good time to write UAT’s? is it before development or in mid development?
Thanks,
Aditee Joshi
December 29, 2018 at 10:07 am
Hello Hannah,
Glad to know you liked the article. You can surely start writing use cases at the beginning of the module development on the basis of UI designs only if you have the clearly defined and approved requirements from the client. However, it will need revision once the module is developed but the finishing touches won’t take a lot of time of yours.
TIP: Feel free to have a discussion with your Product Manager in this case. You will then easily finish the task as Product Manager has clarity on how exactly the module workflow will function.