The phrase "test, test, test" is thrown around so much that it's become a bit of a cliche. But there is a rationale behind the phrase's popularity. Testing is vital for software development teams (even if it's a bit of a drain!). Without testing, your users may be stuck with bugs and hit dead-ends you aren't even aware of.
This article will cover one type of testing: User Acceptance Testing (UAT).
Let's go! 👇
What is User Acceptance Testing?
User Acceptance Testing (“UAT” for short) is when you run through your product the way your users will use your product, to spot any bugs or UX clunkiness they might run into.
When is UAT performed?
UAT is often conducted before a new feature or product is shipped or the client accepts a software deliverable. It's typically conducted in a staging environment, before shipping to production.
Who performs UAT?
UAT is often performed by internal members of the development team, such as the product manager. Sometimes, users, clients, or customers will participate in UAT.
How To perform UAT step-by-step
Before we go into how your team can perform UAT, you have to keep in mind that you'll need to meet some prerequisites before you start. Some of these prerequisites include:
- Written product / business requirements
- Completed unit and integration testing
- Completed regression Testing
- The team otherwise feels ready to ship to production
- Any known and reported faults have been thoroughly tested and corrected.
Once you have these in place, proceed to "Step 1. Set acceptance criteria."
Step 1. Set acceptance criteria
Acceptance criteria are a set of things that your client or project lead will test before accepting the product (for example "The user can login successfully"). They are often extremely specific.
Your acceptance criteria will specify precisely what should be tested.
During this step, you'll need to consult with your team and determine all criteria. Consider including key members like requirement analysts, quality assurance engineers, business analysts, or product owners in this process. Then, based on your findings, generate technical documentation for the process (ahem, usually a checklist) to explain your criteria so you can refer to it later.
Step 2. Create a test plan and define your scope
Developing a UAT test plan can assist you in ensuring that everyone is working toward the same objectives and vision. It's your primary document — it contains all the information on what will be tested, who will test it, and how the tests will work.
To ensure that your UAT covers all organizational and process-related components, you must specify the testing approach and entry/exit criteria accordingly.
Additionally, decide what is in and out of scope. Never initiate UAT before the project's scope has been specified. If you don't determine your scope in advance, it might be difficult to determine on the fly what is crucial to the test's success (and you might do more testing than you need!).
Step 3. Execute your test
With your UAT process outlined, you can begin testing, correct any flaws, and determine whether or not to go to production. To ensure that this process is as efficient as possible, you'll need excellent communication and balance between testers and developers. Focus on documentation (which we discuss further in "Step 5. Document outcomes"), progress reporting, and defect management.
(Psst - need a fast way to document bugs as you find them? Check out Jam.)
Conduct test cases and, if necessary, report defects. Then retest bugs that have been fixed.
Step 4. Analyze your results
You'll learn a lot about your product's readiness by doing UAT. You should look at your results and consider the following things:
- The stability of the system. You can measure stability by looking at the number of unexpected errors encountered during UAT.
- Testing coverage. Coverage is quantified based on the number of test scenarios/cases written and their proportion to the total number of completed tests.
- The system's usability. This is determined by the number of tests that were not passed because the user could not complete them.
- Compliance with the original requirements. This guarantees that the software remains consistent with the initial requirements/contract scope, even after user acceptance changes.
Step 5. Document outcomes
It is critical to document your UAT testing approach and overall plan to ensure the success of your current and future tests.
After UAT execution, all problems must be documented with appropriate comments and forwarded to the development team. (A super quick & easy way to do that is to use Jam to capture and send bugs to developers.) They will modify the code to solve the flaws discovered by UAT.
Once you've resolved the problems, re-test them to ensure that everything works properly. Once the acceptance criteria have been met and authorized by reviewers, a final judgment on the system's production readiness will be made.
UAT best practices
The key to effective UAT is adhering to industry best practices. We won't dive into these in detail, but they generally include these key points:
- Prepare a plan for user acceptance testing early in the project's life cycle.
- Set well-defined and explicit acceptance criteria.
- Prepare a checklist before the start of the UAT process.
- Conduct a pre-UAT session during the system testing phase.
- Establish clear expectations and specify the scope of your UAT testing.
- Conduct usability testing.
- Establish communication standards for bugs.
- Have a feedback session and meeting with all system stakeholders before proceeding to production.
Use Jam to report bugs quickly while doing UAT
While you're running your UAT test, when you spot a bug, Jam is the fastest way to quickly capture it and get back to your testing.
Jam captures every detail developers need to fix the bug, like page URL, browser info, device info, even console and network logs.