Q16 of 38 · Test design

Walk through testing a search filter with date ranges, dropdowns, and free text.

Test designMidsearch-filtersscenarioscombinatorialmid

Short answer

Short answer: Treat each filter as a separate input dimension, apply EP/BVA per dimension, then use pairwise to cover combinations. Add scenarios for clear/reset, persistence across pagination, URL state, no-results, and very-many-results behaviour.

Detail

Per-dimension test design:

Date range filter:

  • BVA on the start date: today, today-1day, far past, far future.
  • BVA on the end date: same.
  • Boundary conditions: start = end (single-day query), start > end (invalid), start = null (open-ended), end = null.
  • Time zones: does the filter use user's TZ, server TZ, or UTC? Test a date that's "today" in one TZ but "yesterday" in another.
  • Daylight saving: filter spanning a DST transition.

Dropdown filter (e.g. category):

  • Each option selected individually.
  • Multi-select if supported: 1 selected, all selected, none selected.
  • Default state: what's selected when the user lands.
  • Localisation: option labels translate; sort order is locale-aware.

Free text filter:

  • Empty, whitespace-only, single character, very long.
  • Special characters and operators if supported ("quoted phrases", AND/OR).
  • Internationalisation: non-ASCII, RTL.
  • SQL injection / XSS attempts.
  • Typo tolerance and stemming if the search engine supports them.

Combinatorial coverage: with 3 dimensions, full combinatorial would be huge. Use pairwise to cover every pair (date × dropdown, date × text, dropdown × text) plus targeted full combinations for highest-risk pairs. ~15–25 cases is realistic.

Scenarios that cut across all filters: clear / reset filters (each individually, all at once); persistence across pagination; URL state (filter values reflected in URL query string; bookmarking works); browser back/forward; no-results empty state; concurrent updates (does a newly added matching item appear live or only on next request?); performance latency at typical and worst-case combinations.

The senior signal: organising the test design by dimension (each filter independently) plus combinatorial (the cross-product), plus the cross-cutting UX/state concerns.

// WHAT INTERVIEWERS LOOK FOR

Per-dimension test design, awareness of combinatorial scaling, and cross-cutting concerns (URL state, pagination, back-button).

// COMMON PITFALL

Treating it as one big input space and listing arbitrary combinations rather than a structured per-dimension + combinatorial approach.