User Acceptance Testing or UAT is the step you are usually taking after all other testing like regression, system, functional, etc. are done with. UAT is the process of validation your solutions against business requirements. You will require end users acquainted to requirements to perform UAT. Alpha, beta, etc. testing are kinds of UAT. Hence this is the last step of testing you will be performing before the actual release you will require to pay as much effort and attention to it as possible as, basically, this is your last chance to make improvements.
Involve end users to UAT for supreme results. Make sure you have different groups of beta testers with different interests, skills and goals. You will have picture that is fairly clearer this way.
What are the biggest challenges you will face with users?
- Environment and deployment. If UAT tests will be taking place in the very same environment your functional tests were done, well, you’ll miss quite a lot. Performance testing environment will not do as well, so consider creating something separate for UAT. After all that is done you are left with a task of controlling the release cycle. Make sure you are testing appropriate software versions rather than wasting valuable time on something that is still under development or testing an older version of your app.
- Planning. This is always a big pain to many of us. Acceptance testing is to be carefully planned while the design phase and requirements analysis are being done. You will not be able of determining appropriate objectives when UAT phase has already started. Know what you are expecting from the app and plan tests accordingly. Also determine prioritized business goals and pay extra attention to them from the beginning. As noted above you will be performing UAT in the very end when time and resources are of curtail value thus you are to be prepared in advance. Be prepared to users finding many unexpected defects that are to be fixed before release as users will be dealing with 100% UI and that was not available earlier. Plan some extra time for such defect elimination in advance so you are not getting off schedule with your release.
- Your testers are to be of high skill. One common mistake here would be forcing your functional test teams to perform UAT. The all gain you may have receive is compromised. Users are not testers and will look at the app under a different angle. The amount of locate defects will be devastating. Second common mistake is actually hiring unskilled UAT testers. Meaning untrained for your requirements that is. Take time to properly train your UAT team and you won’t regret it. The third shared mistake is a communication channel you can’t communicate through. Creation of a proper communication channel is a task of high priority. Email is a pain with offshore teams. Fixes will be getting delayed due tiny ambiguity. Think things through twice when planning a com channel with your testers and you will not regret this decision.
Good luck with your users!