After gathering requirements, organizing, completing sprints, integration testing and maturing the system into a launch-ready product, user acceptance testing, or UAT, then takes place.
Testing happens throughout the software development lifecycle (SDLC), but that's not UAT in an agile project. End users can be your business partners on your project, but they're usually heavily involved in it, so their perspectives can be influenced. This is where the business team and technical team test the product with new, uninvolved users to make sure it fits their needs and works in real life.
In UAT, you're going to test whether the system can handle real-world business scenarios and make sure everything is built correctly for business and end-user.
To help you make your UAT cycle more effective, we've put together four best practices:
1. Determine your target audience
Knowing your target audience and their needs is crucial. By doing this, you won't waste time trying something that won't work. When it comes to UAT, it's important to pick real users and potential users. User tests shouldn't be done by the development team. Users' feedback is very valuable because it allows to see problems and fix them in the future.
In addition, you want to test with real users or an external vendor who can independently test on user’s behalf. End users can be internal or external or both. User selection is crucial to UAT's success.
2. Develop a detailed test plan
A test plan is a living document. It's important to keep your Test Plan current at all times to ensure success on your testing project. The test plan is a blueprint for how a project's testing will go.
- Scope (in-scope and out of scope)
- Entry, Exit and Acceptance Criteria
- Roles and Responsibilities
- Risks and Risk Management
- Defect Management
- Stakeholders and Approvers
Bonus point: Ensure that UAT test plan has been reviewed and approved before you start test execution. And UAT phase entry, exit and acceptance criteria are clearly defined in the UAT test plan and agreed upon with stakeholders who will be approving the test plan and UAT test results. This is a key component in a successful completion of a UAT phase as the stakeholders share risk in deciding if the product/release is approved or not.
3. Define detailed test cases
and ensure the following
- Test scenarios been translated into detailed test scripts with steps and are ready for execution.
- Test cases have been peer reviewed and approved.
- Test data has been identified to be used during UAT and ample test data is available for test execution.
4. Defect management and reporting
This information will also be included in the overall test plan. In terms of tools, processes and reporting.
- Tool(s) – Elaborate what tools will be used for test execution and defect management.If one is already setup in your organization (JIRA, HP-ALM, Microsoft AzureDevOps, etc.), make sure the right people have permission to view, edit, and manage defects.
- Processes – You need to specify what defect management or other processes you are going to follow in your test plan, either elaborate full process in the test plan document or point to an existing one defined by Testing Center of Excellence (TCoE),Quality Assurance Center of Excellence (QACoE) or another project.
- Reporting – You can also include this in your test plan because it's part of your communication strategy. Describe how often and in what format you'll report and what kind of info will be in it. You can do this by emailing stakeholders and the project team every day, or just by using a dashboard.