Writing and Managing Effective Requirements with User Acceptance Testing (UAT)

Writing and Managing Effective Requirements Abstract:
Successful projects are built on the foundation of well-understood requirements. This course provides the techniques to help BPAs write well-formed, verifiable requirements that translate stakeholder needs into clear and testable solutions.

User Acceptance Testing (UAT) Abstract:
All too often the software products delivered to the business do not meet their expectations, especially with regard to the quality of the product. An effective User Acceptance Testing (UAT) process addresses this issue by confirming the functionality and performance of the product prior to its release. This UAT workshop session looks at the business issues which drive the need for a fully functional UAT process and describes the components of such a process. It is designed to help the BPA to develop an understanding of their role, the process, and the deliverables associated with UAT.

Course Objectives:

Participants will learn the techniques necessary to perform:

  • Enterprise Analysis - ensuring goals and objectives are defined

  • Elicitation – to help better understand the needs of the stakeholders

  • Requirements Analysis – to define and refine solution requirements

  • Solution Assessment & Validation - to confirm the proposed approach will meet stakeholder’s needs

  • Requirements Management & Communication – to properly manage and communicate requirements

  • Develop an understanding about basic concepts associated with User Acceptance Testing

  • See how UAT applies to the Software Development Lifecycle (SDLC)

  • Recognize benefits of improved quality of deployed software using User Acceptance Testing

  • Identify the key roles, activities and deliverables which make up User Acceptance Testing

  • Use a Business Use Case to define scenarios for testing

  • Create a UAT test plan and write UAT test cases with associated test data

  • Understand the process for testing functional and non-functional



This workshop is compliant with the standards for business analysis and requirements definition, the Business Analysis Body of Knowledge (BABOK® Guide). As an IIBA® Endorsed Education Provider (EEP) Charter Member; Babbage Simmel's IIBA® endorsed courses qualify for CDU credit.

Course Outline

Part 1 - Writing / Managing Effective Requirements


Section 1: Introduction to Business Analysis

  • What is Business Analysis

  • Benefits and Challenges

  • Project Success Factors


Section 2: The Role of the Business Analyst

  • BA role and responsibilities

  • The IIBA mission and history

  • BA-BoK guide and purpose

  • Overview of knowledge areas

  • Exercise: – Ball Toss Challenge

  • BA role vs. PM role

  • Importance of requirements communication

  • Exercise: – Introduce the Case Study


Section 3: Supporting the Project Portfolio (Enterprise Analysis)

  • The purpose of Enterprise Analysis

  • The executive paradox

  • Defining the business need

  • Exercise: – Defining the Business Need

  • Goals and objectives

  • Business requirements

  • Exercise: – Writing Business Requirements

  • The importance of stakeholders

  • Stakeholder identification

  • Keeping track of stakeholders

  • Exercise: – Identifying Stakeholders


Section 4: Developing the Solution Vision and Scope

  • Purpose of defining the vision and scope of a project

  • Conducting brainstorming sessions

  • Brainstorming usage considerations

  • Finding system boundaries

  • The Context Diagram

  • Actors and key information

  • Exercise: - Draw a Context Diagram


Section 5: Understanding Requirements and Business Rules

  • What is a requirement?

  • Requirement types

  • Business, Stakeholder, Solution, and Transition requirements

  • Assumptions and constraints

  • Business rules

  • Taxonomy of business rules

  • Decision tables

  • How to write simple calculations

  • Requirements vs. business rules

  • Exercise: – Writing Requirements


Section 6: Business Process Modeling

  • Why do we model processes?

  • What is Business Process Management?

  • Basic BPM notation

  • Developing a Business Process Model

  • Business Process Modeling – A case study

  • Exercise: – Create a Business Process Model


Section 7: Planning and Eliciting Requirements

  • What is requirements elicitation?

  • Interviewing – what and why?

  • Preparing for an effective interview

  • Types of questions to ask

  • Sequencing questions

  • Active listening techniques

  • Exercise: – Planning for Elicitation

  • Conducting the interview

  • Establishing rapport

  • Feedback techniques

  • Exercise: – Conducting an Elicitation Session

  • Other elicitation techniques


Section 8: Use Case and User Story Analysis

  • What is an Actor?

  • Types of Actors

  • How to “find” Use Cases?

  • Diagramming Use Cases

  • Tips on naming Use Cases

  • Exercise: – Drawing a Use Case Diagram

  • What are scenarios?

  • The Use Case template

  • Scenario examples

  • Best practices for writing Use Cases

  • Exercise: – Writing the Main Success Scenario

  • Scenarios and flows

  • Alternate and exception flows

  • Exercise: – Writing Alternate and Exception Scenarios


Section 9: Analyzing and Documenting Requirements

  • Requirements and Use Cases

  • Non-Functional requirements

  • User Interface Requirements

  • Exercise: – Develop a User Interface

  • UI Data Table

  • Reporting requirements

  • Data requirements

  • Data accessibility requirements

  • Preparing the requirements package

  • Business Analysis deliverables

  • Exercise: – Analyzing Requirements


Section 10: Additional Information

  • Useful books and links on writing effective requirements


Part 2 - User Acceptance Testing


Section 1: Software Testing - The Basics

  • What is software testing and why is it important?

  • Typical problems that we encounter with software

  • The Cost of Quality (CoQ) and the cost of finding defects too late

  • The “V” Testing Model

  • The four stages of software testing (Unit, Integration, System, User

  • Acceptance Testing (UAT)

  • Testing best practices

  • Exercise: “How would you test it?” – A new technology is presented to the participants and they are asked to brainstorm what should be tested to ensure it is working correctly. (15 minutes)


Section 2: Understanding the Tester’s Terminology

  • What is UAT and what is the role of the Business Analyst?

  • Characteristics of a good UAT tester

  • The tasks of UAT testing

  • The UAT documents

  • Common terms & definitions

  • The six testing types for UAT (i.e., smoke, functional, intersystem, usability, regression, stress/load testing)

  • The three testing techniques for UAT (i.e., control flow, parallel, and positive testing)

  • Testing visibility (White Box, Gray Box, and Black Box testing)

  • Exercise: UAT Jeopardy – A fun and fast-paced game of Jeopardy – used as a review of terms, concepts, and roles learned in this lesson.


Section 3: The UAT Planning Process

  • The importance of UAT planning

  • What is a UAT Test Plan?

  • The six steps for creating a UAT Test Plan

  • General testing tips (see Testing Guidelines and Techniques document)

  • Exercise: “Create a UAT Test Plan” – The participants will identify UAT test scenarios from a Business Use Case and identify test objectives and high-level test data for each scenario


Section 4: UAT Test Coverage

  • What is UAT test coverage?

  • Using a Requirements Traceability Matrix

  • Set the testing scope – what to test and what not to test

  • The UAT Test Coverage Matrix

  • Verifying Non-functional requirements (i.e., performance, security, usability, availability, etc.)


Section 5: Creating and Executing the UAT Test Cases

  • What are the goals of UAT testing?

  • What is a UAT Test Case?

  • How do UAT Test Plans and Test Cases relate?

  • The four steps for creating a UAT Test Case

  • Exercise: “Write a UAT Test Case” – The participants will be asked to write a high-level Test Case from their Business Use Case and define test data for a portion of the steps

  • Preparing, running, and documenting the UAT Tests

  • General testing tips and techniques


Section 6: Verifying the Test Results

  • Documenting UAT test results

  • What is a defect?

  • How to log a defect?

  • The “bug” lifecycle

  • Writing a good problem description

  • Taking screen snapshots

  • 10 tips to avoid writing bad defect reports

  • Exercise: “Log a defect” – The participants will write a concise and complete statement to explain a defect

  • Signing-off on UAT


Section 7: Testing Vendor-Supplied Applications

  • Challenges of testing vendor-supplied applications

  • Challenges to the business

  • Eight steps for testing vendor-supplied applications

  • Handout: A case study for testing vendor product

Audience

This course is intended for beginner to intermediate Business Process Analysts (BPAs) who are looking to improve their skills for eliciting, analyzing, documenting, validating, communicating, requirements as well as applying user acceptance testing principles and practices.