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:

  1. 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.

  2. 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 Posterarrow-up-right 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).

Category
Method, paradigm, technique, style and ideas for test cases
Degree of difficulty/intensity

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

CRUD (Create, Read, Update, Delete)

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

Combinatory testing (pair tests)

3

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

White-box (Internal structure, paths)

Coverage: branch, condition, Cyclomatic Complexity

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

2

Parts which have changed

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