Welcome to Practical Testing
Overview
This site helps you test better - whether you're a tester or a developer looking for quick, effective testing ideas.
What you get:
Effective, practical test design and test techniques 🛠️ Learn proven test design methods with clear, real-world examples. Even basics like Boundary Value Analysis (BVA) are covered in more depth than typical resources.
A Handy Reference Guide 📔 Think of this as your go-to testing cheat sheet. When you need a fast refresher or testing idea, it’s all here in one place.
What you can find here
Proven Test Techniques
EP & BVA in depth: goes far beyond just numbers
Decision Tables: from simple to advanced
Pairwise Testing: handle combinatorial explosion
State Transitions: Model complex flows
Practical Heuristics to catch even more bugs. Some include:
Zero, One, Many
Interrupt
CRUD sequences: both basic and tricky
Powerful Mnemonics and their usage:
SFDIPOT for holistic, structured software testing and exploration
RCRCRC for regression
ZOMBIES - very dev-friendly
RIMGEN - for deep bug investigation and strong bug reports
Useful Knowledge for Test Automation
Types of coverage
Test your tests with Mutation Testing
Checklists - quickly see if you've missed anything (you most likely have)
Bug Report Template and tips - make every report count
What you won't find here
Vague theory or generic “agile” advice
Process improvement or QA management
Tutorials on test automation tools
In its essence, this website aims to cover in-depth the excellent Test Design Poster from 2005 by Peter Zimmerer. It may be decades old, but it is just as relevant today because it represents the fundamentals of testing.
"The Test Design Poster contains a categorised overview of test design methods, paradigms, techniques, styles and ideas for how to generate test cases. We give it out to everyone who works in development and testing in order to give them inspiration. Then, we go out into the organisation, and show them how to use the different methods."
— Peter Zimmerer
Test Design Poster
The workload/difficulty ranges from 1 (small/simple) to 5 (large/difficult).
Black-box (interfaces, data, models)
Standards, norms, formal specifications, requirements
3
Criteria, functions, interfaces
1
Requirement-based with traceability matrix
3
Use case based (activity diagram, sequence diagram)
3
Scenario tests, soap opera tests
4
User/Operational profiles: frequency and priority/criticality
4
Statistical testing (Markov chains)
4
Random (ape testing)
4
Design with contract (built-in self test)
3
Domain tests, category partition
4
Test catalogue/matrix for input fields and values
5
Cause-effect graphs
5
Syntax tests (grammar)
4
Evolution tests
5
Grey-box
Dependencies/relationships between classes, objects, methods, functions
2
Dependencies/relationships between components, services, applications, systems
3
Communication behaviour (dependence analysis)
3
Tracking (passive testing)
3
Protocol based (sequence diagram)
4
Positive, Valid cases
Normal, expected construction
1
Negative, invalid cases
Unauthorised construction
3
Defect management
3
Exception management
5
Fault-based
Risk-based
2
Systematic defect analysis (FMEA: Failure Mode and Effect Analysis)
4
Defect catalogues, bug taxonomies (Biezer, Kaner)
4
Attack patterns (Whittaker)
3
Defect models that depend on the technology and nature of the system
2
Defect patterns: standard patterns or from root cause analysis
3
Error guessing
2
Test patterns (Binder), Question patterns (Q - patterns by Vipul Kocher)
3
Ad Hoc, intuitive, based on experience
1
Parts affected by the changes
2
Risky, highly prioritised, critical parts
3
Parts which are often changed
3
Everything
5
Original Poster:

Last updated