The Role of Business Analysts in User Acceptance Tests: Identifying Test Cases That Work

Writing effective test cases is a key task in software projects. Defects that trickle into the production environment can lead to a massive and public project failure so it is extremely important that test cases are well thought out, comprehensive and feasible. Good test cases can save a lot of time and reduce hesitation.

Test cases are the specific inputs that you’ll try and the procedures that you’ll follow when you test the software - Ron Patton

Business Analysts have a key role to play in User Acceptance Test (UAT) sessions especially since they are involved in eliciting the set of requirements the solution must meet to be considered acceptable. In an ideal world, users would write their own test cases but in reality, BAs may have to support them or develop these test cases themselves. Though Business Analysis and System Testing are seperate professions, BAs understand the functionality the system is supposed to deliver and as such, have the knowledge needed to validate the system (confirm whether the solution meets business needs or not). They are able to support stakeholders in identifying relevant test cases. Read more on the role of Business Analysts in UAT sessions.

This article discusses possible approaches to finding test cases within a project.

So, where can BAs get test cases from?

  1. Requirements: Software requirements either modelled in the form of business processes or use cases can serve as a source of test cases. Test cases are drawn from functional design documents, requirements lists, design decisions or prototypes.
  2. Software Functions/Modules: Software features can be considered in building test cases. You may use these as a basis for testing to verify that the system is capable of fulfilling key business functions.
  3. Issues & Risks: Imagine as many ways as possible that the system can fail and then design tests that can help verify how the system will respond. 
  4. Scenarios: Think about or brainstorm possible scenarios that users are likely to be involved in and use these as a basis for developing test cases.
  5. Tutorials and User Guides: Draw up test cases by examining how the application is supposed to work using the information contained in user guides.

Finding test cases is a complex endeavour that requires experimentation with different testing techniques until you find the method(s) that work best in exposing defects. No style of testing or source of test cases can expose all defects but using one or more of these sources provides a starting point for building effective test cases.

Picture Attribution: “Pass Fail Buttons Shows Passing Or Failing” by Stuart Miles/