Innovation and ways of working smarter often arise from the “cross-pollination” of ideas from multiple disciplines of software engineering. This book presents a strategy for software test design based on the idea of use case levels of test combined with high bang for the buck ideas from software testing, Quality Function Deployment (QFD), software reliability’s operational profiles, Structured Analysis and Design’s C.R.U.D. matrix, and formal methods like model-based specification and discrete math for testers. The goal of this “cross-pollination” is to provide you the tester with a test design strategy to:
Evaluate a set of use cases for test adequacy, determining if you are missing any essential for testing
Budget test design time to maximize reliability and minimize testing cost
Strike a balance between breadth of coverage of all use cases and depth of coverage for the most frequently used, critical use cases.
Provide a step by step process for when to use the plethora of test techniques covered in so many testing books helping address the plea “Just tell me where to start!”
Decompose the big problem of test design for a whole system or application into manageable chunks by using levels of test – not of units, modules or subsystems – but paths through the system.
Introduce innovative test design techniques not covered in other testing books; elaborate on key techniques covered only briefly in other books
Evaluate a set of use cases for test adequacy, determining if you are missing any essential for testing
Budget test design time to maximize reliability and minimize testing cost
Strike a balance between breadth of coverage of all use cases and depth of coverage for the most frequently used, critical use cases.
Provide a step by step process for when to use the plethora of test techniques covered in so many testing books helping address the plea “Just tell me where to start!”
Decompose the big problem of test design for a whole system or application into manageable chunks by using levels of test – not of units, modules or subsystems – but paths through the system.
Introduce innovative test design techniques not covered in other testing books; elaborate on key techniques covered only briefly in other books