Most validation rules are not interesting in the middle. They become interesting at 0, 1, 99, 100, and the one value somebody forgot to define.
Why this Skill is needed
Boundary Value Testing turns numeric, length, date, quantity, and state limits into deliberate test points tied to a rule and expected outcome.
What the Skill does
The Boundary Value Testing Skill is useful when a team needs a structured review of minimum, maximum, adjacent, invalid, inclusive or exclusive, and transition boundaries.
Awesome QA Skills organizes Skills by language and testing stage. The series overview explains the shared installation model; this guide stays with Boundary Value Testing.
A practical standard for this Skill is simple: A useful boundary design does not blindly generate five values for every field. It preserves the rule’s inclusivity, unit, and dependency, then adds combinations where two edges interact.
Use it when the team needs a repeatable review of minimum, maximum, adjacent, invalid, inclusive or exclusive, and transition boundaries—especially when several evidence sources disagree or a handoff must explain what remains unverified.
What it does not do
The Boundary Value Testing Skill can organize material, evidence, and next actions for Boundary set. It does not replace:
- Confirmation of rules, scope, and risk by the accountable domain owner.
- A real environment, account, dataset, log, or run record; static analysis does not become runtime evidence by itself.
- Authorization for release, compliance, production actions, or residual-risk acceptance.
- A Human decision when supplied sources conflict.
What it checks
The value of this Skill is not another keyword list. It connects each focus area to an observable input, a judgment, and a way to close the loop. Start with a small matrix based on the source Skill’s output contract:
| Focus | Question before analysis | Handoff output |
|---|---|---|
| Boundary set | At, just inside, just outside, and invalid points | Source rule |
| Expected behavior | Decision, normalized value, and state effect | Oracle and evidence |
| Gap | Undefined unit, timezone, rounding, or exception | Owner and clarification |
If a row has only a conventional expectation and no source or validation method, keep it open instead of turning it into a pass.
Audit inputs before you start
Before analyzing Boundary set, classify the input into six evidence states. A gap is not automatically a failure, but it must not disappear inside the conclusion.
| State | Meaning | How this Skill should handle it |
|---|---|---|
| known | Directly supported by the supplied material | Keep the source, version, and time with the judgment |
| missing | Needed for this pass but not supplied | Name the smallest evidence action and limit the conclusion |
| conflicting | Sources disagree | Show both sources and route the conflict to an owner |
| stale | Present but outside the relevant version or time window | Mark freshness; old evidence is not current proof |
| out_of_scope | Related but excluded from this pass | Keep the boundary explicit |
| assumptions | Temporarily adopted to continue analysis | State how and when the assumption will be checked |
Keep the input version, scope, environment, evidence locations, and accountable owner together. Without a run record, deliver analysis, design, or a validation plan—not an execution pass.
From problem to structured Finding
Connect the source, scope, evidence state, analysis, owner, action, close condition, and validation before writing the conclusion. The case below keeps this Skill’s identifier and domain context.
Keep the decision layers separate
For Boundary set, do not compress four different kinds of language into “recommended to pass”:
| Layer | How to write it | Application here |
|---|---|---|
| Fact | What the supplied material directly shows | Cite the source, version, input, or run record for the focus |
| Evidence-backed Inference | What several facts support together | Show the inference chain and retain uncertainty |
| Recommendation | The smallest next action | Name the evidence, review, execution, or regression path |
| Human Decision | What an accountable person must decide | Leave scope, risk acceptance, resources, and release meaning to the owner |
A complete case
This case follows Input, Analysis, Finding, Decision, and Validation. When material is incomplete, keep missing, conflicting, or assumptions visible instead of turning them into a pass.
Input
| Material | What to provide | What to do when it is missing |
|---|---|---|
| Rule source | Limit, unit, inclusivity, rounding, timezone, and exception | Resolve ambiguity before selecting values |
| Data context | Original amount, dates, currency, status, and user role | Keep dependent boundaries together |
| Expected outcome | Accept, reject, normalize, or require review | Define the oracle for each point |
Use a request like this:
Use the boundary-value-testing Skill.
Task: design tests for a refund rule that allows requests within 30 days and caps the amount at the original payment
Inputs: [requirements, versions, links, logs, reports, or data paths]
Scope: [included and excluded objects]
Unknowns: [missing environment, accounts, data, or permissions]
Expected output: [risk-ordered findings, evidence status, and next actions]
Audit the inputs first. Separate facts, assumptions, and open questions. Do not claim execution without a run record.
Analysis
Start with a bounded pass—design tests for a refund rule that allows requests within 30 days and caps the amount at the original payment. For a 30-day refund window, test day 29 at 23:59, day 30 at the policy timezone, day 31, and a timestamp exactly at the payment date. For amount, test one cent below, equal, one cent above, and rounding across currencies.
The handoff should preserve the input version, time window, evidence index, owner, and next validation action. The Skill can organize uncertainty; it cannot manufacture the missing artifact.
Finding
Example finding: turn one problem into a handoff
The field example below shows the recording pattern; it is not an execution result.
If the supplied material cannot prove that Boundary set meets its contract, write the finding like this. It does not invent the missing rule or turn missing evidence into a failure.
| Field | Example wording |
|---|---|
| Source and scope | Record the requirement, version, environment, and the concrete object for Boundary set |
| Finding | The condition or result for Boundary set is not yet traceable to evidence |
| Evidence state | missing / assumptions; use conflicting when sources disagree |
| Impact and priority | Name the affected user, journey, or delivery decision without inflating severity |
| Owner and Human decision | Ask the product, engineering, security, or test owner to confirm the rule and trade-off |
| Action and close condition | Add the smallest missing evidence; close only when source, judgment, and owner can be reviewed |
| Validation | Name one repeatable check, query, or run and retain the raw artifact |
The point is to let the next person walk from the finding back to the source and run an action that can change the decision.
Decision
The accountable owner confirms the decision question and risk trade-off; the Skill does not make that choice.
Validation
Before closing the finding, run the stated validation and retain the raw artifact. Without an execution record, the status remains unverified.
How a Finding enters the next stage
Handoff output
| Output field | Why it exists | Example status |
|---|---|---|
| Boundary set | At, just inside, just outside, and invalid points | Source rule |
| Expected behavior | Decision, normalized value, and state effect | Oracle and evidence |
| Gap | Undefined unit, timezone, rounding, or exception | Owner and clarification |
Do not write “passed” without a run record, query result, or source artifact. A useful boundary design does not blindly generate five values for every field. It preserves the rule’s inclusivity, unit, and dependency, then adds combinations where two edges interact.
Next-stage route
At minimum, hand off the source, evidence state, owner, close condition, and validation action; the next-stage conclusion remains bounded by the evidence state.
How to prepare better input
If the first request contains only a one-line goal, keep the output limited. Add the source version, affected objects, environment, known defects, and decision owner to move from a plausible checklist to a useful review.
A richer input changes the answer here because minimum, maximum, adjacent, invalid, inclusive or exclusive, and transition boundaries must be tied to evidence rather than inferred from a familiar pattern.
Working with other Skills
- Equivalence Partitioning:groups values before boundary selection.
- Decision Table Testing:handles interacting conditions.
- API Negative Testing:applies boundary values to API rejection.
Common traps
- Forgetting timezone and inclusivity.
- Choosing boundaries without the business rule.
- Testing each field separately when the real risk is a boundary interaction.
Install and invoke
Install the individual Skill. The series overview carries the longer installation explanation.
npx skills add https://github.com/naodeng/awesome-qa-skills/tree/main/skills/en/testing-types/boundary-value-testing -g
After installation, invoke it with the boundary-value-testing Skill and attach the real project material.
FAQ
Are boundary values only numeric?
No. Dates, string lengths, quotas, states, retries, and permissions all have boundaries.
What if the limit is not documented?
Mark the boundary unknown and ask the owner; do not choose the value that makes the test easiest.
The example above is a design and review pattern, not an execution result. Keep static analysis, runtime evidence, human approval, and release acceptance separate.
References
Source Skill and execution contract
The complete execution contract lives in the Boundary Value Testing prompt. Read it before invoking the Skill; the prompt defines the detailed workflow and output contract. The source directory contains the entry point and supporting assets where they exist.
The entry point centers minimum, maximum, adjacent, invalid, inclusive or exclusive, and transition boundaries. Keep its decision boundary visible and do not turn a static design into an execution claim.
Reference links
-
Boundary Value Testing prompt:https://github.com/naodeng/awesome-qa-skills/tree/main/skills/en/testing-types/boundary-value-testing/prompts/boundary-value-testing.md
-
Awesome QA Skills: Boundary Value Testing source:https://github.com/naodeng/awesome-qa-skills/tree/main/skills/en/testing-types/boundary-value-testing
-
Awesome QA Skills GitHub:https://github.com/naodeng/awesome-qa-skills
-
Boundary Value Testing details:https://inaodeng.com/en/qaskills/boundary-value-testing/