- 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. Finding Ambiguities in Requirements is a prerequisite for this class.
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.
2-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
Basic logical operators
Exercise: Identifying variables, states, and relations
Five graphing constructs of functional requirements
Exercise: Create cause-effect graphs for numerous requirements
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
White-box test completion criteria
Data flow-based testing
Integrating black-box and white-box testing
Planning and estimating guidelines
Test team organization
Tracking the testing effort
Test automation issues
How the RBT process integrates with the rest of test automation