Exploring and Defining Software Requirements (CSTP #5) or (CTM Elective)

This tutorial covers area 5 of the Certified Software Test Professional requirements. This tutorial also counts as an elective towards the requirements of the Certified Test Manager (CTM) certification.

For cost and cities where this course might be offered, check our Public Training Schedule.To bring this course to your test team at your location, contact our Education and Professionals Services Group.

Concepts

This course is essential for test and quality professionals, requirement engineers, business and system analysts and everyone who is involved in writing, validating and testing requirements. It covers details on how to document different types of requirements in a form that is testable. The course adopts a model-driven requirement process. It is based on the instructor's philosophy of using models to assure completeness, correctness, testability, and precession of requirements. The course will also discuss the elements of requirement management process.

Participants will learn:
  • Different types of requirements and how to document them
  • How to evaluate requirements for completeness, precision, and testability
  • Defining quality requirements as well as functional requirements
  • Requirement Traceability as means of making requirements more testable
  • How models can tremendously improve the testability of requirements
  • How to identify test scenarios for model-based requirements
  • What are the elements of a requirement management process and learn how to build your own process
Outline
  • Understanding Requirements
    • Why requirements are so important
    • Definitions
    • Who is the user?
    • Different types of users and their participation
    • Understanding ambiguity in requirements
    • Functional vs Quality Requirements
    • Types of requirements
    • Requirement traceability
    • Documenting quality requirements
    • Assessing the quality of software requirements
    • Forms of requirements
  • Exploring Requirements
    • Interviews
      • Before the interview
      • During the interview
      • Getting Started: Context-Free Questions
      • Starting Exploration: Asking the "Right" Questions
      • Meta-questions
      • After the interview
    • Idea-Generation Meetings
      • Brainstorming: the four essential rules
      • Methods for reducing the list of ideas
      • Brainwriting
      • Affinity Analysis
    • JAD Sessions
      • What is JAD
      • Where Does JAD Fit?
      • When to Use JAD
      • Why is JAD Effective?
      • The JAD Process: Two Main Phases
      • Methods of Recording JAD Sessions
      • JAD Participant Roles
      • Room Arrangement
    • Prototyping
      • What is Prototyping?
      • Why Prototyping?
      • The Place of Prototyping in The Development Process
      • Characteristics of Prototyping
  • Defining and Refining Requirements
      • The Requirement Management Process
      • Models for Defining and Refining Requirement
      • Data models
        • Entities and relationship
        • Supertypes/subtypes
        • Identifying business rules in data models
        • Group project
      • Process models
        • Processes and Data Flows
        • Data Stores
        • Multi-level data flow diagram
        • Group project
      • Decision Tables
        • Understanding decision tables
        • Constructing decision tables
        • Identifying test scenarios
        • Decision Trees
        • Group project
      • State Models
        • What is a state model
        • When do we use state models
        • Understanding state models
        • Testing based on state model
      • Use Cases
        • Understanding Use Cases
        • Pre-conditions and Post-conditions
        • Primary Vs alternate scenarios
        • Identifying scenarios
        • Deriving test design from use cases
        • Systematic negative testing with use cases
        • Group project