Skip to main content

Requirements-based Testing Workshop (3-day)

  • Develop and maintain efficient tests that cover all functional requirements
  • Design test cases that force defects to appear early in testing
  • Learn and practice cause-effect graphing to design more robust tests
  • Learn and practice alternative test design approaches—pairwise, equivalence class
  • Optimize and reduce the size of your test suite
  • Integrate testing in the software development lifecycle

If your testing efforts are not achieving the payback you and your organization expect, this course is for you. Requirements-Based Testing (RBT) delivers a proven, rigorous approach for designing a consistent and repeatable set of highly optimized test cases. Companies employing RBT practices have achieved twice the requirements coverage with only half the tests they previously maintained.

Design the Test Library
The RBT process helps you validate that the requirements are clear and complete. Then, it guides you to define a set of tests verifying that the design and code fully meet those requirements. You’ll learn and practice cause-effect graphing, a test design technique which ensures that defects will be fully observable. If there are any defects in the software—even ones that could be hidden from tests by other errors—cause-effect graphing will find them. With this technique, you’ll be able to reduce the number of tests you need and make sure that every test is valuable.

Explore alternative test design techniques and the advantages and disadvantages of each. Learn how to complement functional, black-box testing with code-based, white-box testing to further ensure complete coverage and higher quality. Classroom exercises are employed throughout the course to reinforce your learning.

Leave With a Testing Process That Integrates With the Development Lifecycle
Take back a lifecycle testing process that incorporates testing as an integrated—and integral—part of the software development project. With the RBT process, your next project will experience significant time and cost savings while helping the test team develop better estimates and dynamically track test and project progress.

Bring samples from your own projects to work on and evaluate during class.
Who Should Attend
Requirements-Based Testing is for test managers, test engineers, QA specialists, software managers, and anyone responsible for developing tests and test suites.

Although the focus of this course is on process and techniques, there will be a brief introduction to the BenderRBT™ software tool, which automates much of the requirements-based testing process.

3-Day Course Outline

Making the business case for quality
Definitions of testing
The twelve-step RBT test approach

Initial RBT Steps
Validating requirements against objectives
Validating the scope of requirements using scenarios and tours

Exercise: Identifying scenarios

Finding Ambiguities in Requirements
The ambiguity review checklist
Managing the ambiguity process

Cause-Effect Graphing
Basic logical operators
Exercise: Identifying variables, states, and relations
Five graphing constructs of functional requirements
Exercise: Create cause-effect graphs for numerous requirements

Data Constraints
Boundary condition data constraints
Processing sequence imposed constraints

Exercise: Determine what constraints apply
Inconsistencies in processing rules
Exercise: Determine why the requirements are logically inconsistent

Test Case Design from Graphs
Strategies for test case design
Concept of fault detection
Identifying functional variations

Exercise: Determine the required functional variations to test
Packaging functional variations into test cases
Exercise: Complete the test designs from the variations

Alternative Test Designs
Equivalence class testing
Exercise: Determine the states to tests
Review of other model-based testing techniques
Optimized pairs and orthogonal pairs
Exercise: Design tests using optimized pairs
Comparing the various test design approaches

Points of Integration
Integrating testing throughout development
Developing user acceptance tests before coding starts

Code-Based Testing
White-box test completion criteria
Data flow-based testing
Integrating black-box and white-box testing

Management Considerations
Planning and estimating guidelines
Change control
Test team organization
Tracking the testing effort
Contract management

Test Automation
Test automation issues
How the RBT process integrates with the rest of test automation

Class Daily Schedule
/Registration 7:30–8:30am
Morning Session 8:30am–12:00pm
Lunch 12:00–1:00pm
Afternoon Session 1:00–5:00pm
Times represent the typical daily schedule. Please confirm your schedule at registration.
Training Course Fee Includes
• Tuition
• Course notebook
• Continental breakfasts and refreshment breaks
• Lunches
• Letter of completion
Richard Bender, BenderRBT

Richard Bender has over forty-five years experience in software with a primary focus on quality assurance and testing. He has consulted internationally to large and small corporations, government agencies, and the military. Richard’s work has included a wide variety of application classes and technology bases from embedded systems to super computer-based systems—and everything in between—consulting to both vendors and IT departments alike.

read more