How to Carry Out Effective User Acceptance Testing with agile methodology
Tags: uat, testing, agile
Published: 2022-09-12 06:26:13

**Agile** is an iterative approach to project management and software development that helps teams deliver value to their customers faster and with fewer headaches. Instead of betting everything on a "big bang" launch, an agile team delivers work in small, but consumable, increments. Requirements, plans, and results are evaluated continuously so teams have a natural mechanism for responding to change quickly. [Further reading](https://www.atlassian.com/agile)

**Agile**  It involves constant collaboration with stakeholders and continuous improvement at every stage. Once the work begins, teams cycle through a process of planning, executing, and evaluating. Continuous collaboration is vital, both with team members and project stakeholders.

**User Acceptance Testing (UAT)** is one of the last stages of the software development life cycle. It is performed after the software has been thoroughly tested. It is sometimes known as End User Testing

## The following steps are involved in UAT:

**Planning:** The UAT strategy - which mainly includes time-frame - is outlined during the planning step.

Designing test cases: These are created to cover the core functional scenarios of the software in real-world usage.

**UAT team:** The testing team is comprised of real world end-users or users who are not part of the development/testing phases.

**Execution & Documentation of test cases:** The testing team executes the designed test cases as well as the relevant random exploratory tests. All bugs are logged in the bug tracker with steps to reproduce.

**Bug fixing:** Taking an account of the bugs filed by the testing team, the development team starts with the bug fixation depending on its severity. Once all the tests are run and the results are in hand, the Acceptance Decision is made, which is also known as the Go/No-Go call. If the users are satisfied, it’s a Go for production or a No-go.

**User acceptance testing tips**
It is every test engineer’s dream to ensure that the right solution is delivered to the users. This section will discuss some tips a developer may use while performing UAT along with best practices.
**Set up the right environment:** Having a production-like test environment is important. Accurate performance testing cannot be carried out in test environments.
**Plan your test:** Design a clear test acceptance plan during the requirement analysis and design phase. Planning reduces pressure to meet deadlines.
**Train the UAT staff properly:** The testers need to be trained on the developed business requirements. During the planning phase, select and train testers. This can significantly increase the success of UAT.
**Have the right communication channel:** UAT involves collaboration between the development, quality assurance (QA), and UAT team. Having a proper communication channel is key to the success of UAT, especially when the teams are working remotely.
**Do not use the functional testing team:** Functional testers are not meant to perform UAT. Functional testers may end up not testing all real-world scenarios. This leads to end-users finding issues when the software is in production.
 

## When should you not do UAT

- Its standard package so doesn't need testing( COTS)
- The staff don't understand the new system , users was not involved in early process