Testing is more than proving that a system works. A team of testers looking for bugs and holes in the software, testing against requirements, and trying to “break” the system is only part of the holistic process of testing software. After QA completes testing and before the software is deployed, it needs to be tested and “accepted” by actual users of the software, not just the QA team. The QA team doesn’t know the business like an end-user knows the business, and therefore can’t prove the value of the system to the business like an end-user can. This is where User Acceptance Testing (UAT) comes into play.
UAT is the process of business users (users who know the organisation and will be operating the system) ensuring the software adds value to and supports the day-to-day business scenarios and operations of the organisation.
UAT benefits both the customer and the software development team; the customer benefits by gaining confidence that the software will add value to their business, and the software development team benefits from keeping their customers happy and satisfied with their work. UAT can often reduce overall project cost by avoiding surprises. It can be detrimental to a business to discover issues in a new system once it’s in production. These issues could lead to clogs in business operations, the need to hire more people, and other unknown expenses. UAT ensures the business requirements are met and that features and changes to requirements were communicated and coded effectively.
It’s important to understand what goes into User Acceptance Testing. Creating a test plan helps define the scope of testing, who will conduct the testing, and how defects will be logged. Outline any possible risks in the test plan.
In order to conduct UAT, you must know the business requirements. This comes from working closely with the stakeholders and end-users. Once the business requirements are understood and documented, you need to define test cases from them. That is, how do you test each requirement?
For example, take this requirement:
An end user should be able to place an order for one or more items at a time.
Test cases for that requirement could be:
By documenting the test cases, it ensures testers are targeting all of the business functions.
TestLodge Test Case Management is a great tool to help organise and execute UAT testing. TestLodge allows you to create test plans, write test cases, and execute test runs. During the test run, you can mark each test case as pass, fail, or skipped and input the actual results. This makes it easy to provide a cohesive experience for end-users to conduct UAT on their software. You can try TestLodge free for 30 days.
UAT is important to both the client and the software team. It ensures both teams are on the same page and the end result is a piece of high quality software, happy customers, and efficient users.