User Acceptance testing is an important – yet often overlooked – step in every software development project. The principle of UAT is simple: It allows you to verify if a solution/software/application works for the user. Yet its implementation in real-life software development teams and processes is something a lot of companies struggle with. In this article, we guide you through a practical user acceptance testing example, illustrated by testing a Trello feature.
When and How to Start with User Acceptance Testing?
UAT tests usually have the goal to check if the client’s needs are met with the developed solution. Usually, this is done by checking the contract between the customer and the supplier.
Therefore, User Acceptance Tests are necessarily undertaken at the end of the software development cycle. This means that the developed software (e.g. web app or mobile app) must be largely feature-complete.
While the project team defines a UAT plan right at the beginning of a project (usually during the requirement definition), it executes the UAT test cases after development.
What is the Difference between Validation and Verification?
Before we can delve into user acceptance testing examples, it is important to understand the difference between a multitude of UAT scenarios. The first key difference in any UAT test plan is between validation and verification:
- Verification is when you confirm through examination and by obtaining objective evidence that the specified requirements have been fulfilled.
- Validation is when you confirm something through examination and by obtaining objective evidence that the requirements for a certain intended application have been met.
Basically, system testing is verification while acceptance testing is validation.
UAT Scenarios – User Acceptance Testing Example
What is a Test Scenario?
In a UAT plan, a test scenario is a prescribed collection of test procedures or scripts that are conducted in a predetermined order to complete a significant functional process. The test scenario is based on your workflow procedures and is performed by multiple team members and can take a few days to complete.
Depending on what you are evaluating, there can be different UAT test scripts that may require a variety of UAT templates. UAT scenarios template is a data and information collection tool that allows testers to accumulate feedback so they can improve their end product. Some of the UAT tool plan examples are given below.
Single-Purpose UAT Scenario Template
When a developer wants to test a particular aspect of their product or software, a single-purpose UAT template is the best option. It outlines the test and its description along with the criteria and different parameters.
Priority-Based UAT Scenario Template
When there is a multitude of aspects to evaluate and assess, it is a much better idea to rely on a template that provides the option to prioritize different testing criteria. This allows developers to address critical issues first and then focus on trivial bugs and fixes.
Customer-Focused UAT Scenario Template
As the name suggests, developers use this UAT template when they want to involve users or customers in the testing process. This enables them to engage the target audience and collect relevant data when it comes to addressing customer-oriented issues.
Multi-Purpose UAT Scenario Template
When a tester or developer is looking to evaluate a wide range of applications, it is a good idea to rely on a user acceptance testing template that’s Excel based. This provides them with flexibility and enables them to accumulate data regarding their product.
Detailed UAT Scenario Template
While the name is self-explanatory, a detailed UAT scenario template allows developers to include all types of information including test description, expected results, specs, and any relevant attachments. Testers use these templates to collect feedback for different systems such as desktop and mobile.
How to Write UAT Test Cases
Creating effective test scripts is essential for successful user acceptance testing (UAT). Prior to writing UAT scripts, it is important to develop detailed user stories along with acceptance criteria. These will provide the basic information you need to write effective scripts.
Create User Stories that Relate to Business Requirements
If you want UAT scripts to be user-oriented, it is important to make them the central part of the conversation. Define real-world use cases (stories) across different user roles during the development process. In Agile software development, user stories are simplified versions of the objectives that highlight how a particular feature is valuable to the user.
Come Up with Acceptance Criteria
Since user stories only form a part of the entire puzzle, you will also need to develop acceptance criteria to write effective UAT scripts. There should be a set of brief acceptance criteria for each story. On one hand, stories highlight the requirements of a feature while on the other, acceptance criteria outline the conditions that need to be met for that feature to be classified as satisfactory.
In the Agile development framework, developers often use a scenario-oriented approach to create acceptance criteria which use GIVEN > WHEN > THEN format.
Write UAT Scripts
Once you have developed user stories and corresponding acceptance criteria, you are in a position to write effective UAT scripts. The scripts should be written by involving the users who ensure that each script covers all the necessary requirements. This also means that the required steps are also followed to test every condition. It is highly recommended that UAT scripts are reviewed by business users to avoid any bugs and errors.
The next big thing is the one that makes the last big thing usable.
Blake Ross – Co-Founder, Mozilla Firefox
If we want users to like our software, we should design it to behave like a likeable person: respectful, generous and helpful.
Alan Cooper – Software Designer
High-Level vs Detailed UAT Test Plans
High-Level UAT Plan
Your UAT plan template should include a high-level UAT plan which is fundamentally a master test plan that outlines why the testing is required for a large project. The high-level UAT plan can include other UAT test plans across different levels featuring different objectives. Having a UAT test plan template can help your development team to ensure they are on the right track.
Detailed UAT Plan
As the name suggests, detailed UAT planning is all about getting into the nitty-gritty of the software being developed. You can have cause and effect test templates that can help you collect data and make the right decisions at the right time instead of heading forward in the wrong direction.
UAT Test Planning
This approach entails plans for both system and UAT testing in parallel. The purpose of having a test plan is to determine the approach, resources, scope, and schedule of UAT testing activities.
A User Acceptance Testing Example with Trello
Let’s assume we got hired by Atlassian to do a UAT test in Trello (yay!). Their development team approached us to check if the developed archiving feature for Trello cards actually works for the user.
Testing the functionality of such a simple feature sounds easy, right? However, we want to follow a proper UAT test setup here.
So how do we do that?
UAT Test case template
For our purpose of testing one particular feature of Trello, we make use of the available UAT test case template by the San Francisco State University.
The SFSU template helps testers identify, define, and execute UAT test cases based on defined requirements. The template ensures that all relevant information is available for the person conducting the UAT test cases.
Let’s start by filling this template for our particular test case.
1. UAT Scope
First of all, we need to define the UAT scope of our particular test case. As we are in charge to test the newly developed Archive feature of Trello cards, we define the list of features that we want to test, and the ones that are not being tested.
As seen below, this test case example focuses on Desktop tests only, while mobile tests are not included in this UAT test case.
2. UAT Assumptions and Constraints
After the definition of our UAT scope, we need to be aware of the assumptions and constraints of the test. These assumptions and constraints include timing and available resources, as well as test documentation processes.
For our test case example of testing Trello’s archiving feature on desktop, constraints could be the operating system to be used and specific browser versions. In addition, we must also clearly state the defined assumptions, such as how our test environment looks like, or how a tester should handle the error reporting.
3. UAT Risks
As UAT is a very crucial part of the software development cycle, we must look at potential UAT risks while planning, executing, and analyzing our UAT test case.
In our example we could face some of the following risks during UAT:
- Not properly trained UAT testers: Our UAT testers might not be properly trained and don’t have complete knowledge of the business and user needs.
- Incomplete UAT environment: Due to a lack of resources and time constraints, tests might be incomplete by the defined deadline.
- Error handling: The testers might not know how to properly report errors and bugs while testing.
- UAT test failure: Sometimes the developed features are incomplete and lack too many bugs which do not allow a test case to be completed at all.
4. UAT Team Roles & Responsibilities
Participants of a UAT team can vary from project to project. The entire UAT team will be responsible for coordinating the preparation of all test cases and their execution.
Our UAT team will ensure …
- that defined test cases are planned and conducted accordingly
- that test results are documented and shared among the project team
5. UAT Entry Criteria
The entry criteria ensure that everything is in place that allows the conduction of a user acceptance test. In order to start a UAT test for archiving feature of Trello, the following main criteria must be available:
- The development of the archive feature is fully completed
- All reported bugs are fixed
- The UAT test environment is available & the testers are trained to start the UAT test
6. UAT Requirements-Based Test Cases
While all previous steps aim to ensure a well-executable test case, it’s now time to describe the actual test case itself to be successfully conducted by the UAT testers.
As User Acceptance Tests aim to verify if business and user requirements are met, a test case procedure could look like this:
- Please visit: Trello.com
- Log in with the following credentials:
- Open the available Trello board
- Archive the first Trello card on the board
- This Trello card will be removed from the board
- This Trello card will be moved to the Archive
In order to execute a test case, testers follow the described test cases step by step. Ideally, the tester can successfully execute the test. However, one important part of UAT testing is to report unexpected behaviors of the software, or even real bugs.
Here’s the UAT example of Trello demonstrated with Usersnap:
A flexible UAT tool like Usersnap can support testers to report both standard UAT scenarios and unexpected issues. It’s easy to capture and understand bugs with Usersnap’s visual feedback widget that works on any website.
Testers do not need to leave the site or page to document the UAT result. And there’s an annotation toolbar to illustrate the issue for easy and more accurate communication.
7. UAT Test Results
After successfully completing the UAT test cases, every tester must provide their test results. A well-documented UAT test case enables the product or project team to conclude the next steps and define the next actions depending on the test results.
8. Document Signatures
Last, but not least, both the service owner and project manager, need to sign the conducted test cases. After sign-off, the tested feature is good to go and available for production.
Just like system testing, result-driven UAT governance ensures that the quality is maintained throughout the project with well-defined entry and exit QA parameters. This often includes end-to-end UAT validation to make sure critical business processes, stability, integration, data flow, and other technical functions are operational.
Wrap Up – User Acceptance Testing Example
All in all, we’ve shown you all the relevant steps for conducting a UAT test case. You can find the fully conducted UAT test case example for Trello here (and as a PDF version here).
From identifying the UAT scope and risks to describing and executing the particular test cases, such a user acceptance testing example shows you the necessary, practical tasks.
Bonus: Get Your Usersnap UAT solution
In order to start with User Acceptance Testing, I’d love to recommend our very own User Acceptance Testing solution from Usersnap. Used by small to large companies, like Canva, WPEngine, Instacart, Microsoft, Hawaiian Airlines, and others, it helps you manage your UAT efforts.
Resolve issues faster with visual bug reporting.
Simplify and reduce issue & bug reporting efforts with screen recordings, screenshots, and annotations.
And if you’re ready to try out a visual bug tracking and feedback solution, Usersnap offers a free trial. Sign up today or book a demo with our feedback specialists.