In software engineering, user acceptance tests are performed to establish the degree of confidence in a system, parts of it or its non-functional characteristics. The trust in the system will be determined by its degree of adherence to the needs, requirements and business processes requested by the user or client. It is in function to these that the user must decide if he accepts or not the system that is being delivered to him.
What are the UAT?
The user acceptance tests are usually the responsibility of the clients or users of the system. Other project stakeholders can also get involved. In this article we present the various aspects that define what the software acceptance tests are, including when it is defined, about what aspects are carried out and what the acceptance test classes are.
What is the acceptance test?
In Engineering and its various disciplines, Acceptance Testing is performed to determine if the requirements of a specification or contract have been met. In Systems Engineering, software acceptance tests involve black box testing before final delivery.
Image Source: cloudinary.com
For its part, the International Software Testing Qualification Board (ISTQB) defines “Acceptance” as: Formal tests with respect to user needs, requirements and business processes, carried out to determine if a system meets the acceptance criteria that allow the user, client or other authorized entity can determine whether or not to accept the system.
Acceptance tests are often also referred to as user acceptance tests (UAT), end user tests, operational acceptance tests or field tests. These tests are essential to ensure the success of the final implementation of a software engineering project, which is why they must be included in the software testing plan.
What is the basis for defining software acceptance tests?
According to the standards established by the ISTQB, software acceptance tests are designed from:
- User requirements
- System requirements
- Use cases.
- Business processes
- Risk analysis reports.
What is validated with software acceptance tests?
The ISTQB states that the following elements may be subject to software acceptance tests:
- The business processes of systems that have already been integrated.
- Operational and maintenance processes.
- User procedures.
- Configuration data.
When are system acceptance tests performed?
Image Source: persiantools.com
Acceptance tests can be used to evaluate the degree to which the system is ready to be implemented and used, although it is not necessarily the last level of Testing. For example, a large-scale test of system integration may be established after the acceptance tests. They are not necessarily limited to the final phase of integration of the system, but can be carried out at different stages of the life cycle.
If one of the components of the new system is a commercial software package, acceptance tests can be performed as soon as it is installed and integrated. The usability acceptance test (a type of non-functional software test) of a given component can be performed during the testing of that component.
The acceptance test of a new functionality improvement can be performed before the system test. The Project Software Test Plan must specify in which parts system acceptance tests, parts of the software or full integration will be performed.
For more about the Acceptance Testing: Click Here