Wednesday, October 24, 2018

What is User Acceptance Testing?

In this post you will learn what is User Acceptance Testing and the steps are involved in UAT. 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 main purpose of this testing is to validate the software against the business requirements. This validation is carried out by end users who are familiar with the business requirements. UAT, alpha and beta testing are different types of acceptance testing.

When is it performed?

This is typically the last step before the product goes live or before the delivery of the product is accepted. This is performed after the product itself is thoroughly tested.

Need for UAT

Developers and functional testers are technical people who validate the software against the functional specifications. They interpret the requirements according to their knowledge and develop/test the software (here is the importance of domain knowledge).

This software is complete according to the functional specifications but there are some business requirements and processes which are known to end users only are either missed to communicate or misinterpreted.

This testing plays an important role in validating if all the business requirements are fulfilled or not before releasing software for the market use. Use of live data and real use cases make this testing an important part of the release cycle.

Many businesses who suffered big losses due to post-release issues know the importance of successful User Acceptance Test. The cost of fixing defects after release is many times greater than fixing it before.



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

No comments:

Post a Comment

High Paying Jobs after Learning Python

Everyone knows Python is one of the most demand Programming Language. It is a computer programming language to build web applications and sc...