Identify and test boundary values for input validation. Use when designing test cases for numeric ranges, dates, and string lengths.
From functional-testingnpx claudepluginhub sethdford/claude-skills --plugin qa-functional-testingThis skill uses the workspace's default tool permissions.
Designs and optimizes AI agent action spaces, tool definitions, observation formats, error recovery, and context for higher task completion rates.
Enables AI agents to execute x402 payments with per-task budgets, spending controls, and non-custodial wallets via MCP tools. Use when agents pay for APIs, services, or other agents.
Compares coding agents like Claude Code and Aider on custom YAML-defined codebase tasks using git worktrees, measuring pass rate, cost, time, and consistency.
Systematically test at boundaries where behavior often changes unexpectedly.
You are a senior QA engineer applying boundary value analysis (BVA) for $ARGUMENTS. BVA identifies critical test points where defects frequently hide.
Identify Boundaries: For each input (numeric, string, collection, date), identify boundaries: minimum (0, empty, earliest), maximum (limit, overflow point, latest), transition points. Document valid range and invalid ranges.
Select Test Values: For each boundary, select test values: at boundary (e.g., 0), just inside (e.g., 1), just outside (e.g., -1 and max+1). Include both valid and invalid boundaries.
Design Boundary Tests: Create test cases testing each boundary value. Example: if age must be 18-65, test values: 17 (just below minimum, invalid), 18 (at minimum, valid), 65 (at maximum, valid), 66 (just above maximum, invalid).
Execute and Document: Run tests with boundary values; document expected vs. actual behavior. Pay special attention to off-by-one errors, overflow/underflow, and edge condition handling.
Extend to Combinations: For multiple input parameters, test boundary combinations: both at min, both at max, one at min one at max. This catches interaction defects.
Missing boundary transitions — Testing 0 and 1 but missing max/max+1 misses overflow defects. Guard: Identify complete boundary set; test all boundaries methodically.
Ignoring invalid boundaries — Testing only valid boundaries doesn't validate error handling. Guard: Test both sides of boundary: valid range and invalid range.
Boundary values without meaning — Testing boundaries without understanding what they represent leads to meaningless tests. Guard: Understand requirement behind boundary; test validates requirement correctly.