What Is UAT, And Why Do It?
The question of what User Acceptance Testing (UAT) is and why as a business user are you interested in it, becomes very important as you reach a stage of having a piece of software delivered to you. The system is claimed to give you major benefits, your team is already stretched running your organisation, and you can ill afford to use their time on something that may be a waste of it. So why bother?
What Is User Acceptance Testing?
The explanation of UAT is actually in its name. Taking each part separately explains what it is about.
Users means the real business users, who will have to operate the system; normally the staff of an organisation, but it could be your suppliers or customers. They are the only people who understand exactly what the business is, and how it operates. Therefore they are the only people qualified to check a system to see if it will deliver any benefit to the business or organisation.
System developers cannot do it, as although they are expert in writing software, they are unlikely to know anything about the realities of running the organisation, other then what they have acquired from requirements specifications, and similar documents. In addition they have been closely involved in the design compromises that always take place when a system is being developed, and so have a commitment to the system as it is.
The acceptance of a system means you are confident it will give benefit to the organisation. It does not mean that it only meets the original specification as requested. A system may very well meet all the specifications asked of it, but when trying to see how it will work in the business it is realised that it will not give anything positive to the organisation, or may even damage the organisation. This may be for a number of reasons such as a change in the business or business environment, such as a takeover.
The point is that a system may not be acceptable, even if it meets specification. You may still have to pay the supplier, but you will not incur any costs to implement it. Of course it may not even work to specification, which makes the question of acceptance even harder to answer. There are cases where it is worth implementing and paying for systems, which are imperfect, but that deliver real business value.
Whenever people are asked what testing is, many of them say it is to prove the system works. This is the key problem with the way UAT is employed in many organisations, as it is impossible to prove any system is correct. In fact a lot of effort is expended, and wasted, in trying to get right answers.
There is much literature on the subject of testing, and most writers agree that all you can prove is if a system is wrong. Therefore a good test is one that is designed to try and make a system fail, so as to expose its faults before it goes live. This type of testing is the only type worth doing.
Bringing the three words together shows that the point of UAT is for business users to try and make a system fail, taking into account the real organisation it will be working in. It is checking the system in the context of the business environment it will operate in.
Why Do User Acceptance Testing?
The short answer is to protect the organisation from harm. Any changes in a business, and especially installing new computer systems, expose it to many risks including:
- Reputation Risk: This is where external people such as customers, suppliers, or legal authorities perceive there is a problem with the organisation, and decide not to use it, or in the case of legal authorities, give it more scrutiny then they have before.
- Legal Risk: It is possible that the system could break laws, leaving you open to legal proceedings.
- Time Risk: The system may not meet key business deadlines. This is definitely something you would want to discover in testing and not when a system goes live.
- Resource Risk: If a system does not properly integrate with your organisation, a lot of resource may be expended in working around the system; adding cost, but no value.
Therefore the main reason for UAT is to find out what a system will do for your organisation before you implement it. Then make the decision based on the evidence presented by the testing.
User Acceptance Testing is Important!
Even though your organisation people are busy, you must free them up to conduct proper tests on a new system. Then a decision can be taken about the implementation. Even though this is expensive, it is nothing like the costs of installing a system which damages your organisation. To do this they need the proper skills which a training course can give them.
UAT from Different Angles
- UAT Definition is the formal UAT definition.
- Five reasons not to do UAT and how they affect the project success.