Advanced Test Case Design Techniques
Presented by Phil Robinson, Principle Consultant, Lonsdale Systems, Australia
One day Tutorial on August 13th, 2008
Tutorial Code: 202F
Abstract:
This one-day tutorial introduces participants to an essential “grab-bag” of advanced test case design techniques.
The tutorial commences with a brief discussion of black-box and glass-box test models followed by a discussion of practical test coverage criteria for both models.
The tutorial then moves on to an in-depth discussion of various black-box testing techniques. This is followed by a demonstration of how the techniques can be applied to both the conventional and “model-based” approaches to testing.
The second-half of the course covers glass-box testing techniques and shows how these may be applied to both conventional testing and the static analysis of program code.
The tutorial concludes with a brief discussion of how the techniques learnt during the course can be used with automated test tools.
Workshop Agenda
- Introduction
- Test Models
- Black-box test models
- Glass-box test models
- Examples of a test models
- Test Case Coverage
- Test case coverage defined
- Unrealistic coverage goals
- Realistic coverage goals
- Black-box coverage
- Glass-box coverage
- Black-Box Testing Techniques
- Equivalence partitioning
- Identifying partitions of equivalent values
- Selecting partition test cases
- Equivalence partition coverage criteria
- Boundary value analysis
- Testing on the boundary between partitions
- Selecting boundary test cases
- Risks and coverage criteria
- Cause-effect graphing
o Identifying the rules that connect inputs to outputs
- Constructing cause-effect graphs
- Converting to decision tables
- Selecting test cases
- Cause effect coverage criteria
- State transition testing
- State transition diagrams
- State tables
- Testing single transitions
- Testing sequences of transitions
- Constructing a state tree
- Selecting test cases
- State transition coverage criteria
- Syntax testing
- A notation for modelling the syntax of inputs and outputs
- Selecting test cases
- Testing for invalid syntax
- Model-Based Testing
- Goals of model-based testing
- Generating test cases from models
- Partitions and boundaries
- States and transitions
- Syntax
- Using model-based testing when there is no specification or it is
out of date
- Applying models-based testing to random and reliability testing
- Glass-Box Testing Techniques
- Statement testing
- Rules for counting statements
- Statement coverage
- Control flow graphs
- Modelling control flow with “nodes” and “edges”
- Control flow and cyclomatic complexity
- Branch/decision testing
- Branches vs. decisions
- Selecting test cases
- Condition testing
- Branches vs. conditions
- Branch condition testing
- Branch condition combination testing
- Modified condition decision testing
- Data flow testing
- Variable definition, calculation use (c-use) and predicate
use (p-use)
- Definition-use pairs (du-pairs)
- Modelling data flow
- Selecting test cases
- Linear Code Sequence and Jump (LCSAJ) testing
- Identifying program sub-paths
- Selecting test cases
- Basis path testing
- Identifying independent paths
- Selecting test cases
- Static Analysis of Program Code
- Applying glass-box test case design techniques to static analysis
- Static analysis of program data flow
- Static analysis of program paths
- Automated static analysis tools
- Test Cases and Automated Testing
- Automating unit testing
- Applying glass-box and black-box test cases to unit testing
- Test cases and unit test frameworks
- Glass-box testing and coverage tools
- Automating system testing
- Applying black-box test cases to system testing
- Test cases and capture/replay tools
GUI tools
- Web tools
- System and acceptance test frameworks
- Review and Conclusion
Presenter’s Profile:
Phil Robinson, Principle Consultant, Lonsdale Systems, Australia
Phil has worked with information technology for more than thirty years. During his lengthy career, he has been involved in the planning, analysis and implementation of a diverse range of business, engineering, scientific and technical information systems.
Phil is an experienced workshop facilitator and has led numerous workshops in the course of his consulting assignments. He has extensive training experience, earning a reputation as a lucid and knowledgeable presenter. Phil has presented training courses for clients in Australia, India, Indonesia, Hong Kong, Malaysia, Philippines, Singapore Taiwan and Thailand.
As well as presenting courses, Phil has authored numerous courses for industry and three University units. Earlier in his career, he wrote two books on programming Apple computers. The books were published in a number of countries including the USA, UK and as translations in Germany and France. More recently, Phil has co-authored two award-winning articles describing an original organisational theory and a chapter for a book on enterprise architecture.
Phil has a degree in Electrical Engineering and has trained as a Group Work Leader.
top^ |