Learn about User Acceptance Testing (UAT)

Tram Ho

Acceptance test concept

Before learning about User Acceptance Testing ( UAT ), we need to know what is Acceptance Testing ( AT ). Acceptance testing is a process that checks whether the contract documentation and specification requirements are being met.

ISTQB defines an acceptance test as follows:

Formal testing with respect to user needs, requirements, and business processes conducted to determine whether a system satisfies the acceptance criteria and to enable the user, customers or other authorized entity to determine whether to accept the system.

– Standard Glossary of Terms used in Software Testing –

That is, formal tests related to user requirements and business processes are conducted to determine if a system meets the acceptance criteria and allow the user, customer, or team. Other authorized agencies determine whether or not to accept the system.

Acceptance tests include the following common types:

  • User acceptance test ( UAT )
  • End-user testing
  • Operational Acceptance Testing ( OAT )

About user acceptance testing

User acceptance test is a type of acceptance test. It is a process that confirms that a created solution or software is suitable for end-user use. Test user acceptance is the process that goes into the final stages of the cycle test, after the stages of functional tests ( Functional Testing ), integration test ( Integration Testing ) and testing the system ( System Testing ) end. And as soon as the UAT stage is passed, the product will be ready for practical use ( production ).

The reason why the user acceptance test should be applied

Although after passing 3 functional, integration and system tests, the acceptance test will probably become redundant. However, the reason we should not skip this test step is because:

  1. Programmers rely on the specifications required for software development. However, this software is built according to their “understanding” of the requirements that may not be what users really need.
  2. Requirements that change during project implementation are not communicated effectively to programmers.

User acceptance testing and V-model

V-Model ( V-Model ) is a model that in the test phases will accompany a software development phase, or can say two development and test processes work in parallel.
In this model, the user acceptance testing will correspond to the requirements analysis phase.

The user acceptance test needs to meet the following conditions to be able to proceed:

  • Business requirements must be available
  • The program source code needs to be fully developed
  • Functional, integration, and system testing processes must be completed
  • There are no sudden program stop errors, or critical errors during previous system integration testing
  • Only cosmetic defects can be ignored before the acceptance testing process takes place
  • Complete the regression test without major errors occurring
  • All errors must be reported and corrected before the acceptance test begins
  • Complete the traceability matrix for all test suites
  • The environment for the acceptance test should be ready for use
  • There is a notice of availability for acceptance testing from the system testing team.

User acceptance testing process

Acceptance testing is conducted at the client, and is performed by the user who intends to use the system or software. The acceptance test procedure will include the following steps:

Step 1: Analyze business requirements

One of the most important jobs in the acceptance testing process is identifying and developing test scenarios. These scripts are taken from the following documents:

  • Project Charter ( Project Charter )
  • Business Use Cases
  • Process Flow Diagram
  • Business Requirements Document ( BRD )
  • System Requirements Specification ( SRS )

Step 2: Create a plan

The test plan for the acceptance test will be used to verify and ensure the application / program meets its business requirements. It will record input and output criteria for acceptance testing, test scenarios, test case approaches and test duration.

Step 3: Define Test Scenarios and Test Cases

In this step, we will define test scenarios related to high-level business processes and create test cases with clear test steps. The test cases must be complete to cover most of the acceptance test scenarios. Business use cases are the input to creating test cases.

Step 4: Prepare the data for the test

The data used for acceptance testing should be the actual data the user will use. We should scramble data, such as randomly pairing datasets, to increase security and privacy.
Besides, testers will also need to become familiar with database streams.

Step 5: Conduct testing and record the results

This step will carry out testing according to the available documents, processes and data. The errors that occur will be recorded and re-tested after being corrected.

Test management tools for this step can be applied, such as JIRA , Klaros , qTest, etc.

Step 6: Confirmation of meeting business objectives

The Business Analysist ( BA ) or the acceptance tester needs to notify the end of the process by email. By this point, the product is ready to be used in practice ( production ).

The handover documents of the acceptance testing process include test plans, test scripts, test cases , test results and error log.

To ensure readiness for production , acceptance testing needs to ensure the following:

  • No serious errors are still open
  • Stable business process
  • The acceptance tester has logged out of all accounts and stakeholders.

Some problems related to acceptance testing

To increase the success rate of the acceptance test ( UAT ), we can consider the following:

  • Prepare acceptance test plans early in the life cycle of the project
  • Prepare full checklists prior to acceptance testing
  • Perform Pre-UAT during system testing
  • Set expectations and clearly define the scope of the acceptance test
  • Test as end user only and do not repeat system test
  • Test with data to be used in practice, not using dummy data
  • Have the mindset of any user when conducting tests
  • There should be a response process before the acceptance test ends and goes into real use.


Above are some of my findings on user acceptance User Acceptance Testing ( UAT ). Besides these issues, user acceptance testing has many other related issues, I will continue to explore and put in the next article. Thank you everyone for reading the article ^^.


Share the news now

Source : Viblo