Acceptance testing is making sure products and services deliver what is expected of them. This expectation is set by the customer or a customer representative for whom the product or service has been created for.
For example, the expectation in its simplest form for a bicycle, would be, that it can be ridden, steered and stopped in a timely manner. These expectations could go on to form the basis for the acceptance tests.
Acceptance tests are not full on tests, where every facet is tested.
Acceptance tests are designed to provide a level of confidence to the customer of the product or service, being of the standard expected and that the product or service can be used in the way the customer expects.
So, the acceptance criteria for acceptance testing a bicycle would probably involve riding the bicycle and testing out some common features such as steering, braking and gearing.
Acceptance testing would not involve an exhaustive test of all the component parts, or the wear and tear of all component parts, or the behaviour of the bicycle under various conditions.
Acceptance testing generally consists of,
- User Acceptance Testing
- Operational Acceptance Testing
- Production Acceptance Testing
Not all these forms of acceptance testing are practised and many organisations may simply rely on just one form of acceptance testing typically, User Acceptance Testing.
The three types of acceptance tests are done before the product or service is handed over to the customer, that is, accepted by the customer as acceptable.
It's important to understand, the use of the word customer does not necessarily imply someone who buys the product or service.
The customer could be a department, another employee, someone who acts in the interests of a customer, in fact anyone who expects a product or service to be available to a particular standard.
For example, a large automobile manufacturer builds engines and before these engines are put into the cars, certain tests are carried out, to ensure the engines work as expected before the 'customer', that is, the department which assembles the cars, accepts the engines.
These tests would not involve testing all the capabilities of the engine but a series of tests which may show the engine working, producing the required power and having the fittings to attach to the vehicles it was designed for.
These tests will only prove that the product or service is usable and built to the required standards and operates as expected.
Acceptance by proxy is conducting the acceptance testing on behalf of somebody else. So, for a customer who buys tomato soup for their lunch, there is an expectation for the tomato soup to taste a certain way. The acceptance test in this scenario would be done by the chef, who will do a quick taste check.
The acceptance test does not need to be done by the end customer, it can be done on their behalf.
It makes sense for the chef in the above example to ensure the soup is cooked to a standard, which will be acceptable by the paying customers. Adding too much salt or not enough tomatoes in the soup without testing the taste, could incur possible complaints and a potential reprimand from the chef's peers.
Acceptance testing is looked upon as positive testing, whereby, only the positives such as whether a select set of features works is tested.
Many others view it as a box ticking, 'pat on the back' exercise to massage a few egos. However, when done in conjunction with other testing, acceptance testing can become essential.
Where acceptance testing would fail to deliver value, would be if it was the only form of testing used. So if an automobile manufacturer relied solely on acceptance testing then this could create many problems, especially if serious faults developed which end up involving expensive litigation.
Relying on acceptance testing as the only form of testing can be dangerous.
Hence in conjunction with Functional and Non-Functional testing, acceptance testing can provide reassurance about the usability and stability of a product or service.
There are three types of acceptance testing, Operational, Production and User acceptance testing
Acceptance testing is making sure products or services deliver what is expected of them
The customer or a customer representative generally conduct the user acceptance tests.