Introducing acceptance testing
Acceptance testing is a step performed to determine whether the business requirements or contracts are met. It involves black-box testing against a complete system from a user perspective, and a positive result means acceptance of the software delivery. Sometimes also called user acceptance testing (UAT) or end-user testing, it is a phase of the development process where software meets a real-world audience.
Many projects rely on manual steps performed by quality assurers (QAs) or users to verify the functional and non-functional requirements (FRs and NFRs), but still, it's way more reasonable to run them as programmed repeatable operations.
Automated acceptance tests, however, can be considered difficult due to their specifics, as outlined here:
- User-facing: They need to be written together with a user, which requires an understanding between two worlds—technical and non-technical.
- Dependencies integration: The tested application...