In our earlier post, we made discussion on two types of test cases “Functional and Non-functional Test Cases”. Now we’ll discuss next type of test cases “User Acceptance Test Cases”. This is the last post in the series of Type of Test cases. Before discussing what exactly are the user acceptance test cases first we’ll put light on some important terms and concepts which will provide solid base for understanding the need and concept of preparing user acceptance test cases.
User Acceptance Definition
“Formal testing with respect to user needs, requirements, and business processes conducted to decide whether or not a system satisfies the acceptance criteria and to allow the user, customers or other certified entity to determine whether or not to accept the system.”
User Acceptance Testing Strategy
The User Acceptance Test Plan should be used to record the Customer’s sign off of the documented scenarios. It is suggested that in depth test plans be used to record the results of user testing. The document is a high level guide, and is not proposed as a replacement for any specific user acceptance testing procedures that individual areas might have.
User Acceptance Testing
User Acceptance Testing is a process where the actual users of the system test the remediated functionality to make sure there are no errors or defects. The users will “Accept” the system when all the testing has passed.
User Acceptance Test Cases
These test cases are crucial and very important to client side people, because these test cases talk about their business and approach of the application to complete a particular client task that is also called as “End-to-End-Business Scenario” test case. Here we won’t be doing testing related to UI (User Interface), Functional or Non-functional. We only talk about business and scenario which the application is made for.
The User Acceptance Test Cases help the test execution team to test the application thoroughly. This also helps ensure that the User Acceptance Testing provides ample coverage of all the User Acceptance Testing scenarios. The Use Cases created during the Requirements definition phase may be used as inputs for creating test cases. The User Acceptance Test Case describes in a simple language the exact steps to be taken to test something.
Importance of User Acceptance Testing
Several factors contribute to the importance of making User Acceptance Testing a high precedence of any software development effort; these include:
- Reducing the cost of developing the application.
- Ensuring that the application behaves exactly as expected.
- Reducing the total cost of ownership. By providing software that looks and behaves as shown in your documentation, your customers require less hours of training and less support from product experts.etc
The Goal of User Acceptance Testing
When you ask somebody the question “What is the goal of a software test?” you might get an answer like: “The goal is to prove that a system does what it is supposed to do”. This answer is not exactly correct and demonstrates the necessity to define some fundamentals about software testing. Another response would be, “The goal is to find faults or defects”.
But the true goal of User Acceptance Testing is to assess the system can support day-to-day business and user scenarios and ensure the system is sufficient and correct for business usage.
Where does User Acceptance Testing fit in?
User Acceptance Testing tests are produced to verify the system’s behavior is trustworthy with the requirements. These tests will expose defects within the system. The work linked with User Acceptance Testing begins after requirements are written and continues throughout the final stage of testing before the client/user accepts the new system.
Qualities of a Good User Acceptance Testing Tester
Four core qualities of a User Acceptance Testing Tester are:
- Background: Experience of user operations not involved in the overall IT project, Experience in the use of IT facilities, and respected as an independent thinker.
- Skill: A good communicator, avoids politics, expects the system to fail.
- Independence: Not involved in user specifications, has an independent reporting structure, and is a self starter.
- Attitude: Creative thinker, determined, critical.
Tasks of User Acceptance Testing
When performing User Acceptance Testing, there are 7 basic steps to ensure the system is tested thoroughly and meets the business needs.
- Analyze Business Requirements
- Identify UAT Scenarios
- Define the UAT Test Plan
- Create UAT Test Cases
- Run the Tests
- Record the Results
- Confirm Business Objectives are met
If we conclude our discussion we can say User Acceptance Testing should focus on testing a set of requirements (that is expected to move to production as a production release) to ensure that the release meets user expectations.
The project test plan should identify User Acceptance Testing roles and responsibilities, tasks, deliverables, scope, test cases, test scripts, test execution, test data, defect management, test results and entrance/exit criteria.