User Acceptance Testing

Many businesses are asked to undertake User Acceptance Testing (UAT) when an IT change is implemented within their organisation. For users who have never tested before this can be a daunting task.

Often users take their steer on how to conduct UAT from the IT Test phases which occur before hand. Whilst it is essential to work with the IT test teams on any implementation, this approach can often result in a repetition of the system testing which has been undertaken previously, resulting in errors making their way into the production environment. To prevent this, users must ensure that UAT focuses on all the tools which support their business processes of which the IT system is only one.

A user will most likley wish to consult their organisational Test strategy before starting to conduct UAT however the following briefly outlines the broad concepts which underpin this phase of testing.

Imagine a business process runs horizontally from A to Z and is supported by the following four key pillars:

  • The documented procedure/process (Procedure)
  • The IT System which enables the service (System)
  • The person who uses the IT system (User)
  • The training which is delivered to the user either personally or via a user guide (Training)

User Acceptance Testing should aim to test that these four pillars work in harmony to deliver the end to end business process or “user experience” as the case may be.

Lets understand what is User Acceptance Testing?

Introduction:

Once the application is ready to be released the crucial step is User Acceptance Testing.

In this step a group representing a cross section of end users tests the application.

The user acceptance testing is done using real world scenarios and perceptions relevant to the end users.

What is User Acceptance Testing?

User Acceptance Testing is often the final step before rolling out the application.

Usually the end users who will be using the applications test the application before ‘accepting’ the application.

This type of testing gives the end users the confidence that the application being delivered to them meets their requirements.

This testing also helps nail bugs related to usability of the application.

User Acceptance Testing – Prerequisites:

Before the User Acceptance testing can be done the application is fully developed.
Various levels of testing (Unit, Integration and System) are already completed before User Acceptance Testing is done. As various levels of testing have been completed most of the technical bugs have already been fixed before UAT.

User Acceptance Testing – What to Test?

To ensure an effective User Acceptance Testing Test cases are created.
These Test cases can be created using various use cases identified during the Requirements definition stage.
The Test cases ensure proper coverage of all the scenarios during testing.

During this type of testing the specific focus is the exact real world usage of the application. The Testing is done in an environment that simulates the production environment.

The Test cases are written using real world scenarios for the application

User Acceptance Testing – How to Test?

The user acceptance testing is usually a black box type of testing. In other words, the focus is on the functionality and the usability of the application rather than the technical aspects. It is generally assumed that the application would have already undergone Unit, Integration and System Level Testing.

However, it is useful if the User acceptance Testing is carried out in an environment that closely resembles the real world or production environment.

The steps taken for User Acceptance Testing typically involve one or more of the following:

  1. User Acceptance Test (UAT) Planning
  2. Designing UA Test Cases
  3. Selecting a Team that would execute the (UAT) Test Cases
  4. Executing Test Cases
  5. Documenting the Defects found during UAT
  6. Resolving the issues/Bug Fixing
  7. Sign Off

User Acceptance Test (UAT) Planning:

As always the Planning Process is the most important of all the steps. This affects the effectiveness of the Testing Process. The Planning process outlines the User Acceptance Testing Strategy. It also describes the key focus areas, entry and exit criteria.

Designing UA Test Cases:

The User Acceptance Test Cases help the Test Execution Team to test the application thoroughly. This also helps ensure that the UA Testing provides sufficient coverage of all the scenarios.
The Use Cases created during the Requirements definition phase may be used as inputs for creating Test Cases. The inputs from Business Analysts and Subject Matter Experts are also used for creating.

Each User Acceptance Test Case describes in a simple language the precise steps to be taken to test something.

The Business Analysts and the Project Team review the User Acceptance Test Cases.

Selecting a Team that would execute the (UAT) Test Cases:

Selecting a Team that would execute the UAT Test Cases is an important step.
The UAT Team is generally a good representation of the real world end users.
The Team thus comprises of the actual end users who will be using the application.

Executing Test Cases:

The Testing Team executes the Test Cases and may additional perform random Tests relevant to them

Documenting the Defects found during UAT:

The Team logs their comments and any defects or issues found during testing.

Resolving the issues/Bug Fixing:

The issues/defects found during Testing are discussed with the Project Team, Subject Matter Experts and Business Analysts. The issues are resolved as per the mutual consensus and to the satisfaction of the end users.

Sign Off:

Upon successful completion of the User Acceptance Testing and resolution of the issues the team generally indicates the acceptance of the application. This step is important in commercial software sales. Once the User “Accept” the Software delivered they indicate that the software meets their requirements.

The users now confident of the software solution delivered and the vendor can be paid for the same.

What are the key deliverables of User Acceptance Testing?

In the Traditional Software Development Lifecycle successful completion of User Acceptance Testing is a significant milestone.

The Key Deliverables typically of User Acceptance Testing Phase are:

  1. The Test Plan- This outlines the Testing Strategy
  2. The UAT Test cases – The Test cases help the team to effectively test the application
  3. The Test Log – This is a log of all the test cases executed and the actual results.
  4. User Sign Off – This indicates that the customer finds the product delivered to their satisfaction