Acceptance testing is performed by customers or their representatives after system testing to determine if the system meets their needs and expectations. Acceptance tests execute real-life scenarios near the customer environment and have a small number of test cases intended to validate functionality, not find defects. Customers verify that the product, procedures, user documentation and service level agreements all meet acceptance criteria before the product is approved for release.