alphaspirit - Fotolia


User acceptance testing best practices for Agile teams

Dig into the basics of user acceptance testing, including who handles the task, what should go into test criteria and other best practices.

Agile brought user acceptance testing into all stages of the software development process. The methodology invites business stakeholders, such as the product owners, into the fold as a member of the Agile team, where they can make sure their needs are met. User acceptance testing (UAT), a critical part of the testing process, is where business stakeholders determine whether an application or feature fulfills its purpose. In Waterfall deployments, UAT is typically the final phase in the software development lifecycle. However, it's difficult and expensive to find out that a product fails to deliver on its promises, or includes big defects, right before it goes live.

Product owners can solve this problem in Agile development. Product owners provide input on user story prioritization, how to define acceptance criteria, end-user-related questions and feature approval for release. And when business stakeholders test earlier in the process, they'll find fewer big defects right before deployment.

Here's how to integrate UAT into Agile workflows before, during and after a sprint. We also examine some user acceptance testing best practices.

UAT in Scrum and Agile ceremonies

Ceremonies are events during an Agile development project where team members get updates and share important information. Focus on UAT during these specific times.

Before the sprint. The product owner must attend sprint planning sessions. They should also be available during the sprint to join daily standups as needed. If a sprint is dedicated to UAT, bring the business stakeholders in early so they can execute the testing efficiently and effectively.

During the sprint. The earlier UAT testers get involved, the more familiar they will be with user stories. Additionally, these business stakeholders can offer input to shape the final product. Through demonstrations, which can occur throughout the sprint, UAT testers provide early feedback that is crucial to successful development and testing. 

After the sprint. Product owners and any other business stakeholders that perform UAT should attend the sprint review meeting. The meeting addresses feedback about features the team developed in this sprint and the backlog. At this meeting, the product owner can release those features.

Three Amigos meetings

The Three Amigos meeting helps development teams create and clarify user stories and their acceptance criteria.

A Three Amigos session brings together three perspectives:

  1. Business: what do customers want.
  2. Developers: how to implement the user story.
  3. Testers: how to make the user story testable to meet customer expectations.

Although Three Amigos sessions usually have three representatives, it is important to include others when you need their specific information or expertise. For example, if the team will develop a feature to make the application more accessible for disabled customers, it is worthwhile to include a UX or accessibility specialist in the discussion.

User acceptance testing best practices

Proper user acceptance testing goes beyond asking business stakeholders to explore the application, try out new features and find issues. Successful UAT requires thorough planning and execution, just like any other test. Here are a few user acceptance testing best practices to follow.

Set up testers to succeed. Choose business stakeholders who are subject-matter experts, and make sure they have time to dedicate to testing. Often, candidates juggle other responsibilities as well; if UAT testers are pulled in too many directions, they won't be effective. To address this problem, communicate the window for testing and amount of time necessary. Business stakeholders must choose and prioritize which tests the team executes. Put user acceptance testers in a test lab so their regular jobs do not distract them.

Prepare a realistic test environment and data. The UAT environment and test data must resemble production as closely as possible. Ideally, the UAT environment should be separate from the QA environment. If this is not possible, the next best option is a complete refresh prior to UAT. QA professionals should check the refreshed environment prior to UAT to ensure it's working as expected. 

Create test criteria. A QA manager or test lead should work with QA professionals to ensure the test coverage is complete. Checklists provide an effective alternative to test cases and scripts. Acceptance criteria should form the basis of testing user stories.

Separate UAT and other QA tests. It's just as important to know what UAT doesn't include. User acceptance tests should not duplicate the functional or regression tests that QA professionals perform. Although UAT also addresses risk, base the risk assessment and prioritization of these tests on the actual user's perspective.

The business stakeholders must accept the application or feature before the IT team deploys the software to production. After that, the customer finds defects and problems. Don't underestimate the value of a little more testing before that happens.

Next Steps

Quality assurance testing vs. user acceptance testing

How test summary reports yield business value and benefits

Dig Deeper on Software test types

Cloud Computing
App Architecture