Writing, and Testing from, Requirements

Motivation

Software development often fails because requirements are written poorly, or testing does not adequately cover those requirements, or both. As a consequence, more often than not, half of the test effort is just trying to understand the requirements.

The better the quality of the requirements, the higher the chances for the development and testing teams to be able to understand those requirements and focus on their software development tasks. Testable requirements improve the success of creating a set of tests that adequately cover those requirements. These tests are used to verify that the software behaves as expected. The rest of the test effort focuses on using the right test case design techniques to capture all of the requirements within a well defined test planning process.

Purpose

Writing, and Testing from, Requirements concentrates on two areas of the software development process:

  • 1. identifying how to write requirements properly so that they are testable
  • 2. how to effectively test those requirements

From the requirements’ perspective, students will learn:

  • what requirements are
  • the impact of incorrect and missing requirements on the software development process
  • how poorly written requirements can be identified
  • how to improve the quality of requirements so that they are written in a testable manner

From the testing perspective, students will learn:

  • the overall test process with an emphasis on test planning
  • a range of test case design techniques that work from the requirements

Content

  • What are Requirements?

    • What are and aren’t Requirements
    • What are Testable Requirements
    • Different types of Requirements Documents
    • Different ways that Requirements can be written

      • Requirements Templates
      • Use Cases
      • State Transition Diagrams
      • Decision Tables
      • Flowcharts
      • User Stories

  • Implications of Bad Requirements and Missing Requirements
  • Identifying Poorly Written Requirements

    • 26 common problems writing requirements with examples
    • Exercise

  • Writing Testable Requirements

    • 26 techniques for improving the quality of requirements
    • Exercise

  • Connecting Requirements, Test Cases and Software Behaviour

    • Prevalent gaps among requirements, test cases and software behaviour
    • Strategies to eliminate those gaps

  • The Test Process

    • The overall Test Process

  • Test Planning

    • Review the 16 components of a Test Plan

  • Basic Test Case Design Techniques

    • Equivalence Class Partitioning
    • Exercise
    • Boundary Value Analysis
    • Exercise
    • State Transition Diagrams
    • Exercise
    • Decision Tables
    • Exercise
    • Pairwise Testing
    • Exercise

  • 9. A Quality Assessment – a self evaluation of your SDLC processes

NOTE: The same problem is covered by each test case design technique so that the test case design techniques can be contrasted and compared

Course Materials

Student manual containing the course slides and exercises

Zielgruppen

  • Erfahrene Softwaretester
  • IT-Leiter
  • IT-Spezialisten
  • Product Manager
  • Test Consultants
  • Testanalysten
  • Testmanager