Test design techniques reduce a large input space to a small, deliberate set of tests. Use the technique that matches the risk and behaviour.

Equivalence partitioning

Group values that should behave the same, then select a representative from each valid and invalid group.

Age rule: 18–65PartitionExample
Below rangeInvalid10
Inside rangeValid35
Above rangeInvalid80
Non-numberInvalid type"adult"

Boundary value analysis

Defects often occur at edges. For the inclusive range 18–65, test:

17, 18, 19, 64, 65, 66

Also consider empty, zero, maximum storage length, date changes, pagination edges and just-before or just-after time limits.

Decision tables

Use a table when combinations of rules produce different outcomes.

Member?Coupon valid?Result
YesYesMember price plus coupon
YesNoMember price
NoYesStandard price plus coupon
NoNoStandard price
  1. List conditions and actions.
  2. Create meaningful combinations.
  3. Remove impossible combinations.
  4. Turn each remaining rule into a test.

Pairwise testing

Pairwise testing creates a small set where every pair of parameter values appears at least once. It is useful for combinations such as browser, operating system, language and user role.

Limit: pairwise coverage does not prove that three-way interactions or business-critical combinations work. Add explicit high-risk cases.

State transitions

Use state-transition tests when allowed actions depend on the current state.

Current stateEventExpected state
DraftSubmitIn review
In reviewApprovePublished
In reviewRejectDraft
PublishedSubmit againRejected action
  • Cover valid transitions.
  • Attempt forbidden transitions.
  • Check repeated events and interruptions.
  • Verify history, notifications and permissions.

Practical approach

  1. Write the rule in plain language.
  2. Identify inputs, partitions, boundaries, combinations and states.
  3. Select the smallest set that covers the important risk.
  4. Add misuse, production defects and business-critical examples.
  5. Record why each test exists.

Useful links