Writing Good Test Requirements


TstReqWS - Version:1
Description
This workshop has been designed to assist testers to understand better, 'what are test requirements?', how and when should we use them, and 'for which purpose'. We shall also discuss the pros and cons of using test requirements. In order to exercise test requirements, we will briefly discuss requirements engineering aspects, and identify the common fit palls that might be found in requirements - which might make them untestable. The problem of poor requirements is well known: poorly defined requirements lead to poor quality products and a high cost of rework with the testers often being blamed for not doing enough testing! According to industry experts such as DeMarco and Boehm, poor requirements might consume as much as 75% of overall rework costs. The solution is also well known: early involvement by testers in the requirements process, and in this workshop we shall see an addition to that – write and exercise test requirements. Writing test requirements is a step on the way to writing good requirements, it is related to as the Validation phase in the development of requirements process. In the workshop hints and tips will be suggested as to how to develop and recognize good, testable requirements, how to develop good test requirements and how to organize the test requirements in a test requirements hierarchy.
Intended audience
Software quality engineers, testers, project managers & test managers who have a good understanding of software testing principles, techniques and methods yet are still struggling with software quality issues due to poorly defined, missing or inadequate requirements, are lacking test requirements phase in their test design process, and would like to improve it. Professionals who seek ways to improve their test design, getting the test team closer to the business, and enable easier test case writing, while improving the requirements.
Expand All
  • Introduction
    • What are software requirements?
    • Requirements Engineering
    • Impact of poor requirements
    • Effect of different SDLC models
  • Requirements Development Process
    • Elicitation
    • Analysis
    • Specification
    • Validation
  • Requirements Management overview
    • Change control
    • Version control
    • Requirements status tracking
    • Requirements tracing
  • Writing Guidelines, Good and Bad requirements
    • Words and phrases to avoid
    • Consistency and structure
    • Case studies of good and bad requirements
    • Identifying bad requirements - Exercise
  • What are software test requirements?
    • Introduction
    • Test requirements development process
    • How test requirements fit into the life cycle
    • Organize and decompose test requirements
    • Validating requirements testability
    • Requirements validation checklist – Bonus exercise
    • Test requirements approaches
      • Verbs/actions
      • If..When..Then..
  • The test requirements different dimensions
    • Content (TR approach)
    • Type (X-ilities)
    • Environment/configuration
  • Types of Requirements
    • ISO 9216 overview
    • FRUEMP – Functionality, Reliability, Usability, Efficiency, Maintainability, Portability
    • Writing test requirements - Exercise
  • Fitting test requirements to the TRH
    • Review possible test hierarchy tree
    • Discuss optimization tips for building the TRH
  • This is an introduction to software test requirements and does not cover requirements development and requirements management other than in broad terms
  • It is also not an introductory course on software testing and participants must have a good grasp of software testing terminology, methods, techniques and processes
  • Participants will be expected to do some preparation by listing some ambiguous and ill-defined requirements from their current projects and be prepared to discuss these in the workshop in small groups
  • Understand the requirements development process
  • Understand the requirements management process
  • Understand what test requirements are
  • Discuss how to create test requirements
  • Understand where test requirements creation fits into the life cycle
  • Recognize good, testable requirements
  • Appreciate the skills required by test requirements analysts
  • Know how to decompose requirements and other technical documents into test requirements
  • Know what to look for when reviewing requirements specifications
  • Understand the impact of exercising Test Requirements process on the testing project