– Acceptance testing as the name suggests is a technique followed for the determination of whether the product meets its state specifications and requirements or not.
– Acceptance testing is common and crucial to be followed in various disciplines of engineering and this includes software engineering as well.
– Acceptance testing in general may involve various kinds of performance tests, chemical tests, and physical tests and so on.
– In concern with the system engineering, the black box testing techniques might be included in the acceptance testing.
– Acceptance testing in software engineering is different from that in the system engineering in the sense that the system is tested by the customer before it is actually delivered in software engineering.
– In the case of the software testing we term acceptance testing as UAT or the user acceptance testing.
– Sometimes, it might be known by many other names such as field acceptance testing, site acceptance testing, and end-user testing etc.
User accepting testing can be defined as the process in which the confirmation regarding whether the specifications of the software system are being met or not is obtained.
– These specifications are stated by the client or the customer up on some mutually agreed requirements.
– Here, the role of the owner or the client is important.
– He/ she is considered as the owner of the OUT or object under test.
– The owner of the OUT is usually called as the SME or the subject matter expert and is one who gives the final confirmation at the end of the testing process.
– The SME does so by trying or reviewing the software system.
– In SDLC or the software development life cycle, the last phase is nothing but the user acceptance testing.
– This testing is carried before the software is accepted by the user.
– The test cases defined in the test plan are carried out by the users of the system.
– These users are in the contact of the client or are derived from the user requirements specification.
– A set of formal tests is drawn up by the testers and designers.
– In addition to the tests they also devise severity levels spanning over a wide range as required by the software.
– In an ideal testing process, it is important that the same person should not carry out both the tasks of writing the tests and integrating them.
– The result of the user acceptance testing serves as a final verification for the proper functioning of the system.
– This verification is carried out by emulating usage conditions of the real – world.
– This is done on behalf of the SME who pays for it.
– If the software shows a positive UAT result, then the same stability levels can be extrapolated in the production process reasonably.
– The user acceptance tests carried out by the users are not focused up on identification of simple and casual problems usually.
– These problems are problems of spelling errors, showstopper defects, and cosmetic issues and so on.
– These issues have already been tested by the testers in the earlier testing sessions as in unit testing, integration testing and of course system testing.
– FAT or the factory acceptance test is a common form of user acceptance testing followed in the industrial sector.
– This testing is carried out prior to the installation of the system under test.
– Here, testing also includes checking whether the system is fully functional or not rather than just checking whether the specifications of the concerned component are met.
Following are the parts of FAT:
These results are crucial as they build up the client’s confidence level concerning the software product’s performance in the production. The client may state some contractual or legal requirements for acceptance.