二值边界与三值边界
边界值分析针对输入范围的端点及其邻近值设计用例。二值边界取端点与相邻的外部值(如范围 1..99 取 0、1、99、100);三值边界在每侧同时包含内部相邻值(0、1、2、98、99、100),严格程度更高。原因很简单:比较符方向写反(>= 写成 >)与差一错误几乎都发生在端点附近,而范围中间的取值很少出问题,因此边界值是最经济的用例子集之一。
方法
| 边界方法 | 取值 | 示例(1..99) |
|---|---|---|
| 二值边界 | 每侧端点与越界值 | 0、1、99、100 |
| 三值边界 | 端点、内邻与外邻 | 0、1、2、98、99、100 |
用例清单写法
用例清单写法
范围需求:数量 1..99
二值边界:0、1、99、100
三值边界:0、1、2、98、99、100
# 每条用例写明预期:越界拒绝且提示原因、边界值处理正确、内邻值正常通过
# 用例备注标注采用的口径(二值或三值)与理由,评审可核对基本信息
| 选择建议 | 按模块风险选定口径并写明理由 |
|---|---|
| 统一口径 | 同一模块保持一致,评审时核对 |
| 记录要求 | 用例备注写明边界与预期结果 |
| 配套方法 | 与等价类划分组合:每个等价类取代表值再加边界 |
典型使用场景
- 表单数量字段:库存、人数、件数的上下限校验
- 分页参数:page 与 pageSize 的 0、1 与上限值
- 金额与折扣:最小值、上限与小数精度边界
- 时间窗口:活动有效期的起止时刻,注意闭开区间
- 长度与编码:名称或编号的字符数上下限
- 积分与等级:阈值分段切换处的归属判定
- 接口入参校验:分页大小、批量条数与枚举值范围的边界
三值边界用例更多,但能区分「>= 写成 >」这类实现错误,高风险模块值得采用;低风险内部工具用二值边界控制用例规模。
多字段组合边界不必做全组合笛卡尔积:先按单字段梳理,再挑高风险组合(如数量上限叠加金额上限)补充用例,兼顾覆盖与成本。