verifying the correctness of the acceptance tests and reviewing test scores to decide which failed tests are of highest priority. Acceptance tests are also used as regression tests prior to a production release. A user story is not considered complete until it has passed its acceptance tests. This means that new acceptance tests must be created for each iteration or the development team will report zero progress. Types of acceptance testing Typical types of acceptance testing include the following User acceptance testing This may include factory acceptance testing (FAT), i.e. the testing done by a vendor before the product or system is moved to its destination site, after which site acceptance testing (SAT) may be performed by the users at the site. Operational acceptance testingAlso known as operational readiness testing, this refers to the checking done to a system to ensure that processes and procedures are in place to allow the system to be used and maintained. This may include checks done to back-up facilities, procedures for disaster recovery, training for end users, maintenance procedures, and security procedures. Contract and regulation acceptance testing In contract acceptance testing, a system is tested against acceptance criteria as documented in a contract, before the system is accepted. In regulation acceptance testing, a system is tested to ensure it meets governmental, legal and safety standards. Factory acceptance testing Acceptance testing conducted at the site at which the product is developed and performed by employees of the supplier organization, to determine whether a component or system satisfies the requirements, normally including hardware as well as software. Alpha and beta testing Alpha testing takes place at developers' sites, and involves testing of the operational system by internal staff, before it is released to external customers. Beta testing takes place at customers' sites, and involves testing by a group of customers who use the system at their own locations and provide feedback, before the system is released to other customers. The latter is often called "field testing". List of acceptance-testing frameworks Concordion, Specification by example (SbE) framework Concordion.NET, acceptance testing in .NET Cucumber, a behavior-driven development (BDD) acceptance test framework Capybara, Acceptance test framework for Ruby web applications Behat, BDD acceptance framework for PHP Lettuce, BDD acceptance framework for Python Cypress Fabasoft app.test for automated acceptance tests Framework for Integrated Test (Fit) FitNesse, a fork of Fit Gauge (software), Test Automation Framework from Thoughtworks iMacros ItsNat Java