From functional-testing
Identify and test boundary values for input validation. Use when designing test cases for numeric ranges, dates, and string lengths.
How this skill is triggered — by the user, by Claude, or both
Slash command
/functional-testing:boundary-value-analysisThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Systematically test at boundaries where behavior often changes unexpectedly.
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.
npx claudepluginhub sethdford/claude-skills --plugin qa-functional-testingPartition test input domain into equivalence classes to reduce test count. Use when testing multiple similar scenarios.
Applies QA test design patterns like equivalence partitioning, boundary value analysis, happy paths, edge cases, permissions, accessibility checklists, and prioritization for test cases and coverage.
Applies systematic black-box test case design techniques including equivalence partitioning, boundary value analysis, decision tables, and state transition testing for thorough spec coverage.