SoftwareTestPilot
Module 10 · Lesson 1intermediate 22 min read Test Design

Test Design Techniques — Write Fewer, Better Tests

Infinite inputs, finite time. Learn the 7 techniques ISTQB (and every senior QA) uses to cover real risk with a small, defensible set of tests.

Quick answer

Seven techniques cover 95% of real test design: Equivalence Partitioning, Boundary Value Analysis, Decision Tables, State Transition, Use Case, Pairwise, Error Guessing. Combine them — never rely on one alone.

1. Equivalence Partitioning (EP)

Group inputs that the system should treat the same. Test one representative per group — valid and invalid.

Example — age-based ticket price

PartitionRangeSample value
Child0–128
Adult13–6430
Senior65+70
Invalid (negative)< 0-1
Invalid (non-numeric)text"abc"

2. Boundary Value Analysis (BVA)

Most bugs live at boundaries. For each numeric range, test the value just below, at, and just above every edge.

BoundaryValues
Child / Adult (12 → 13)11, 12, 13, 14
Adult / Senior (64 → 65)63, 64, 65, 66
Zero-length input"", " ", "a"
Pair EP + BVA
EP tells you which groups to test; BVA tells you which values inside those groups. Use them together, never in isolation.

3. Decision Tables — for combinational logic

When behaviour depends on multiple conditions, enumerate every combination.

Example — free shipping rule

Cart ≥ $50MemberCouponFree ship?
YYYYes
YYNYes
YNYYes
YNNYes
NYYYes
NYNNo
NNYNo
NNNNo

4. State Transition Testing

For workflows: order, subscription, ticket lifecycle. Model states and transitions, then test every valid path and every invalid attempt.

Order states:  Draft → Placed → Paid → Shipped → Delivered
                                      ↓
                                   Cancelled

Valid transitions to test:
  Draft → Placed        (submit)
  Placed → Paid         (pay success)
  Placed → Cancelled    (user cancel)
  Paid → Shipped        (warehouse)
  Shipped → Delivered   (courier scan)

Invalid transitions to reject:
  Delivered → Cancelled
  Draft → Shipped
  Paid → Draft

5. Use Case Testing

Cover realistic end-to-end user journeys, including the main flow, alternate flows, and exception flows.

  • Main flow: User adds item, checks out, receives email.
  • Alternate: User applies a valid coupon before checkout.
  • Exception: Payment declined — user retries or cancels.

6. Pairwise / All-pairs Testing

With 5 parameters × 3 values each you'd have 243 combinations. Pairwise finds a subset (~10) that covers every pair of values at least once — proven to catch most interaction defects.

BrowserOSPaymentCurrencyLanguage
ChromeWindowsCardUSDEN
ChromemacOSPayPalEURFR
FirefoxWindowsPayPalGBPEN
FirefoxLinuxCardUSDFR
SafarimacOSCardEUREN
SafariiOSPayPalUSDFR
Use a tool
Don't compute pairwise combinations by hand. Try allpairs, PICT (Microsoft), or a spreadsheet template.

7. Error Guessing — structured intuition

  • Empty string, whitespace only, single character
  • Null, undefined, missing field
  • Zero, negative, very large numbers, floats where int expected
  • Unicode: emoji, right-to-left, combining accents
  • Timezones, DST switch, leap year Feb 29
  • Extremely long input (10k+ chars)
  • SQL / HTML / script injection strings
  • Fast repeat clicks (double submit)
  • Slow / flaky network, offline mode

8. Which technique for which situation

SituationBest technique
Numeric ranges (age, price, quantity)EP + BVA
Business rules (discount, permission)Decision Table
Workflows (order, ticket status)State Transition
End-to-end scenariosUse Case
Many independent parametersPairwise
After all else — sanityError Guessing

9. Hands-on task (40 minutes)

  1. 1

    Pick a real feature

    Choose a login form. Apply EP + BVA to email (min length, format) and password (length, complexity).

  2. 2

    Build a decision table

    For a coupon system with 3 conditions, enumerate all 8 rows and note the expected result.

  3. 3

    Model states

    Pick an order lifecycle in your app. Draw the state diagram and list every valid + invalid transition.

  4. 4

    Generate pairwise combos

    Use PICT against your browser × OS × payment matrix. Compare test count vs full factorial.

You've completed the QA Learning Path. Reinforce with the Practice Hub or head to the AI Mock Interview.

Frequently asked questions

1.What are test design techniques?
Systematic methods for choosing WHICH inputs to test out of infinite possibilities. Techniques like equivalence partitioning and boundary value analysis let you cover the same risk with 5 tests instead of 500.
2.What is equivalence partitioning?
Divide inputs into groups that the system should treat identically, then test one representative from each group. If age 18–64 is 'adult', test one value (say 30) instead of all 47.
3.What is boundary value analysis?
Test the edges of each equivalence partition — the value below, at, and above every boundary. For age 18–64, test 17, 18, 64, 65. Most defects hide at boundaries.
4.When should I use a decision table?
Any time behaviour depends on a combination of conditions (business rules, discounts, permissions). It forces you to enumerate every combination and catch missing rules.
5.What is state transition testing?
For workflows with clear states (order: New → Paid → Shipped → Delivered). You test every valid transition and every invalid one the system must reject.
6.Is pairwise testing worth the effort?
Yes when you have many parameters (browser × OS × payment × currency). Pairwise cuts 3^5 = 243 combos down to ~10 while still catching the vast majority of interaction defects.
7.Is error guessing a real technique?
Yes — it's structured intuition. Empty strings, nulls, negative numbers, unicode, timezones, DST boundaries, off-by-one dates. Keep a personal 'evil inputs' checklist and reuse it forever.

Related lessons