Black-Box Test Design Technique Selection: Choosing the Right Method for Each Scenario

Black-Box Test Design Technique Selection: Choosing the Right Method for Each Scenario

Black-box testing has seven or eight primary techniques. Knowing each individually is useful. Knowing which to apply to which problem is the skill that makes tests actually effective.

This guide maps test scenarios to the techniques that produce the highest-value test cases for each.

The Techniques

A brief taxonomy before the selection guide:

Equivalence Partitioning (EP): divide the input domain into partitions where all values behave the same. Test one representative from each partition.

Boundary Value Analysis (BVA): test at and near the boundaries between partitions, where bugs concentrate.

Decision Table Testing: tabulate conditions and actions in a decision table. Each column is a test case.

State Transition Testing: model system states and transitions. Test valid transitions, invalid transitions, and sequences.

Use Case Testing: derive tests from use case flows. Test the basic flow, alternate flows, and exception flows.

Pairwise Testing: for multi-variable inputs, test all 2-way combinations of variable values.

Cause-Effect Graphing: graphically model cause-effect relationships between inputs and outputs.

Error Guessing: use domain knowledge and experience to guess likely error conditions.

The Selection Framework

The right technique depends on four characteristics of the feature under test:

  1. Input structure: single variable, multiple independent variables, multiple interacting variables?
  2. State: does the system have explicit states?
  3. Business rule complexity: simple validation vs. complex conditional logic?
  4. Risk level: what's the cost of a missed bug?

Decision tree for technique selection

Is the input a value with a range or valid/invalid distinction?
  → YES: Use BVA + EP (always)
  → NO: Continue

Does the system have distinct states and transitions?
  → YES: Use State Transition Testing
  → NO: Continue

Are multiple input variables involved with interactions?
  → YES + many variables: Use Pairwise Testing
  → YES + few variables: Use Decision Table or EP
  → NO: Continue

Is there complex conditional business logic?
  → YES: Use Decision Table Testing
  → NO: Continue

Is there a defined user workflow?
  → YES: Use Use Case Testing
  → NO: Use Error Guessing

Technique Application by Scenario

Scenario 1: Input validation (single field)

Example: age field that must be 18–65, integers only

Best technique: BVA + EP

EP identifies partitions (< 18, 18–65, > 65, non-integer). BVA targets the boundary values (17, 18, 65, 66). Together: 6–8 test cases covering all meaningful distinctions.

Why not decision tables: only one variable, no interactions to model.

Why not pairwise: only one variable.

Scenario 2: Multi-field form validation

Example: registration form with name (1–100 chars), email (valid format), age (18–65), country (dropdown, 200 options)

Best technique: EP + BVA per field, then consider pairwise for combinations

For each field independently: apply BVA and EP to get the key test cases. This gives ~5 test cases per field = ~20 tests.

For cross-field validation rules (if country = US, phone must include area code), add specific cross-field tests.

Why not decision tables: too many fields, each with independent validation. Decision tables work for bounded combinations, not large independent variable sets.

Scenario 3: Complex business rules

Example: loan approval based on income, credit score, loan amount, employment status, with conditional discount programs

Best technique: Decision Table Testing

Build the decision table: conditions are income levels, credit score ranges, loan amount ranges, employment status. Each combination produces accept/reject/pending. The table makes all combinations explicit.

For n binary conditions: 2^n columns. With 4 conditions: 16 columns. With EP to reduce each condition to 2–3 ranges, grow to 3^4 = 81 combinations — then use pairwise to reduce.

Why not BVA alone: BVA handles each condition independently but misses the interaction effects. A low income with high credit score + small loan amount might approve, but the same income with a large loan amount rejects.

Scenario 4: State-driven workflow

Example: order lifecycle: PENDING → CONFIRMED → SHIPPED → DELIVERED; cancellation possible from any state

Best technique: State Transition Testing

Build the state transition diagram. Test each valid transition (minimum: one test per transition). Test a sample of invalid transitions. Test key transition sequences (round trip: place order → confirm → ship → deliver).

Why not decision tables: the state machine structure matters. Decision tables don't capture the sequencing requirements.

Coverage levels:

  • All transitions (0-switch coverage): test each transition at least once
  • All transition pairs (1-switch coverage): test each pair of consecutive transitions
  • All transition triples (2-switch): etc.

Start with all transitions. Add transition pairs for high-risk sequences.

Scenario 5: User journey

Example: checkout process: browse → add to cart → enter shipping → enter payment → confirm → order placed

Best technique: Use Case Testing

Identify the flows:

  • Basic flow: successful purchase, all happy path
  • Alternate flows: apply coupon, change shipping address, use saved payment method
  • Exception flows: card declined, out-of-stock item, invalid address

Test each flow with specific input values derived from BVA/EP for each field.

Why not state transitions: the checkout has state, but the user perspective (what they're trying to accomplish) drives more meaningful tests than the system state transitions.

Scenario 6: Many-variable configuration

Example: notification settings with 8 toggles (email, SMS, push, weekly digest, marketing, product updates, security alerts, account activity)

Best technique: Pairwise Testing

With 8 binary variables: 2^8 = 256 combinations. All-combinations testing is impractical. Pairwise testing covers all 2-way interactions with ~20–30 test cases.

Specific focus: add explicit tests for known interactions. If "marketing" interacts with "weekly digest" (one includes the other), test that pair directly.

Why not BVA: no ranges, no continuous values.

Why not decision tables: too many variables for a manageable table.

Scenario 7: High-risk financial calculation

Example: tax calculation with income, deductions, filing status, jurisdiction, and special circumstances

Best technique: All applicable techniques together

For high-risk financial code, stack the techniques:

  1. EP + BVA for each input (income brackets, deduction limits)
  2. Decision table for the interactions between filing status and deductions
  3. Pairwise for the combinatorial explosion of special circumstances
  4. Error guessing for known tax calculation edge cases (rounding, negative deductions, zero tax)

The techniques complement each other. No single technique is sufficient for high-risk complex calculations.

Technique Combinations

Some techniques are almost always used together:

EP + BVA: always pair these. EP identifies what to test; BVA specifies where to test it within each partition boundary.

Decision tables + EP: use EP to determine the condition ranges in the decision table. Don't just use True/False — use the meaningful partitions.

State transitions + use cases: model the state machine structurally (state transitions) and then test it through realistic user flows (use cases).

Pairwise + error guessing: pairwise provides the systematic coverage; error guessing adds the domain-specific edge cases pairwise might miss.

How Many Tests Per Technique?

Approximate test count guidance:

Technique Test Count
EP per field 3–5 (one per partition)
BVA per field 2–4 (boundary values)
Decision table One per column (after reduction)
State transitions One per valid transition + some invalid
Use case (basic flow) 1–3 per flow
Pairwise (n variables, k values each) ~k × (n-1) test cases

These are minimums. For high-risk features, add tests for each negative path, error condition, and interaction effect.

Risk-Proportionate Technique Selection

Technique selection should scale with risk:

Low risk (internal tool, easily reversible errors):

  • EP for key fields only
  • Basic flow use case test

Medium risk (production feature, user-visible errors):

  • EP + BVA for all inputs
  • Decision table for complex rules
  • All valid state transitions

High risk (financial, security, compliance):

  • Full technique stack
  • All techniques applied to all inputs
  • Explicit tests for all combinations identified by pairwise
  • Error guessing for domain-specific failures

Building a Test Design Document

Before writing tests, document the technique selection:

Feature: Subscription upgrade
Risk level: High (financial)

Technique selection:
- BVA + EP: subscription price field (1–999.99, specific tiers)
- State transition: subscription states (FREE → TRIAL → PAID → CANCELLED)
- Use case: upgrade flow, downgrade flow, payment failure flow
- Decision table: discount combinations (first-time, annual, enterprise)
- Error guessing: concurrent upgrade from same account, upgrade during payment processing

This document makes coverage decisions explicit and reviewable before any tests are written.

Summary

Black-box technique selection isn't guesswork. Match the technique to the problem structure:

  • Single variable with ranges → BVA + EP
  • Multiple interacting variables → Decision tables or pairwise
  • State-driven behavior → State transition testing
  • User workflows → Use case testing
  • High-risk combinations → stack techniques

The worst common practice: using only one technique for everything. "We use BVA" applied to every test requirement misses whole categories of bugs. The best practice: analyze the feature structure, select the appropriate technique or combination, document the selection, and apply it systematically.

Start now free