In software engineering, an acceptance test is the process of the user testing the system and, based on the results, either granting or refusing acceptance of the software/system being tested. It is often referred to as functional testing, beta testing, QA Testing, application testing, or end user testing. It is also sometimes split into factory acceptance testing and site acceptance testing, the first being run in-house, the second at the customer’s site