Glossary · Automation software engineering and architecture
Acceptance test
Also known as: Acceptance testing, User acceptance test (UAT)
German: Abnahmetest
In software and systems engineering, an acceptance test is a test carried out to determine whether a system or software satisfies its acceptance criteria and whether the customer or another authorized party accepts it. In automation projects, acceptance tests are often organized as a factory acceptance test (FAT) and a site acceptance test (SAT).
- Software engineering
In one sentence
An acceptance test checks whether a system meets its agreed acceptance criteria so the customer or another authorized party can accept it.
Example
Before shipping a packaging line, the integrator runs the agreed FAT protocol with the customer, including format changeovers and alarm handling, and both parties sign the results.
How it applies
- Engineering: Acceptance tests are derived from the contract, the requirements and the Acceptance criterion list, not from the implementation. Each test case should trace back to a requirement.
- Commissioning: In plant projects, the FAT checks the system at the supplier, the SAT checks it after installation with real field devices and utilities.
- Documentation: Keep test protocols, deviations, punch lists and signatures under Document control. The documentation team should check that the delivered manuals describe the software version that passed acceptance.
Acceptance test vs. integration test
An Integration test verifies that components work together as designed and is run by the development team. An acceptance test asks whether the system is fit for the customer's purpose and ends with a formal decision to accept it. Acceptance is closer to Validation, integration testing closer to Verification.
Passing an acceptance test does not by itself demonstrate that a machine is safe or compliant; safety validation and conformity assessment are separate activities.