边界值分析法:输入等价类的边界点、边界附近的值最容易出 bug,不把精力浪费在大量中间正常值,重点测边界,减少用例数量、又能抓高频缺陷,提升设计 & 执行效率。
等价类侧重 “划分有效 / 无效集合”;边界值侧重集合的边缘,很多缺陷都发生在边界,而不是中间。
一、边界值核心概念
1. 三类取值(经典 5 点法、简化 3 点法)
假设输入范围:[min, max],允许的输入最小值~最大值
5 点法(完整):
min,min+1,nominal(正常值),max‑1,max3 点法(工程常用,效率优先):
min,max,刚好超出边界(min‑1、max+1)
示例:年龄输入 18‑60 岁 边界点:17(越界小)、18(最小合法)、60(最大合法)、61(越界大);可选中间正常值 30。
2. 边界不止数字
很多人只想到数字边界,实际业务边界同样重要:
数值边界:金额、长度、数量、页码
字符串边界:字符串最大长度、空串、1 个字符、超长字符串
时间边界:开始时间、结束时间、跨天、月末、年末
集合边界:列表 0 条、1 条、满上限条数
状态边界:状态切换临界点(启用 / 禁用、到期前一秒、到期后一秒)

二、如何用边界值提升测试效率(实操要点)
1. 优先识别边界,减少冗余等价类用例
等价类会产生大量中间正常数据,中间合法值选 1 个代表即可,不需要重复造大量用例,把主要用例预算给到边界。
❌低效做法:年龄 18‑60,写用例:20、25、33、45、50 一堆正常值 ✅高效做法:只保留 1 个中间正常值,重点测:17、18、60、61
效率逻辑:中间区域逻辑通常一致,缺陷极少;故障高发在边界,聚焦边界,用更少用例覆盖最高风险。
2. 区分 “内边界” 和 “外边界”,不要漏无效边界
内边界:合法范围内的临界点(min、max)
外边界:合法范围之外的临界点(min‑1、max+1)
很多 bug 出现在输入刚好非法的那一刻,只测合法边界会漏掉缺陷。
3. 多输入参数:采用 “单变量边界” 原则,避免用例爆炸
系统有 A、B 两个输入框,都有各自边界。 ✅高效策略:一次只变动一个参数取边界,其余参数保持正常值。 ❌禁忌:全部参数同时取边界,会产生笛卡尔积,用例数量爆炸,执行成本极高。
示例:A [1‑100],B [10‑200]
A 取边界,B 固定正常值;
B 取边界,A 固定正常值; 不需要 A、B 同时都取 min/max,大幅压缩用例数量。
4. 挖掘隐性边界,不要只看 UI 显式说明
很多边界需求写得模糊,需要自己挖掘:
数据库字段长度限制(varchar (32):31、32、33 字符)
分页:第 1 页、最后一页、0 页、超出总页数
文件上传:允许最大大小,刚好等于、略大于最大大小
业务规则:优惠券满减、最低支付金额、库存 0、库存 1
隐性边界往往是线上 bug 重灾区,提前识别,避免后期大量回归。
5. 边界值 + 等价类组合使用,扬长避短
等价类:划分输入域,保证各类场景都覆盖到
边界值:打击每个域的边缘,抓高风险点 工作流:
先用等价类划分:区分有效、无效等价类
对每一个等价类的边界提取边界值设计用例
每个等价类内部选 1 条典型值即可,不用重复
二者组合,既不会漏场景,又不会堆砌海量重复用例。
三、实操例子:用户名输入,长度 4‑16 字符
等价类划分:
有效等价类:4~16 位字符串
无效等价类:<4 位;>16 位
边界提取:
3 位(越界小)、4 位(最小合法)、16 位(最大合法)、17 位(越界大)
中间正常值:8 位
最终用例只有 5 条,就覆盖绝大多数风险,而不是测试 2、5、7、9、12… 一堆中间长度。

四、常见误区(会降低效率)
只测合法边界,不测越界边界 → 漏掉校验 bug
多参数全部同时取边界,用例数量指数上涨 → 执行效率低
只关注数字,忽略字符串、时间、列表、业务状态边界
每个等价类写大量中间值,用例臃肿,收益很低
混淆 “边界值” 和等价类,完全抛弃等价类,只测边界,造成场景遗漏
五、边界值分析法提升效率总结
风险聚焦:缺陷集中在边界,优先覆盖边界,减少低风险中间值用例;
控制规模:多参数遵循单变量变化,防止用例爆炸;
内外边界都测:合法临界点 + 非法临界点;
显式 + 隐性边界都识别:业务、数据库、接口限制;
与等价类搭配:等价类保广度,边界值抓高风险深度,做到少用例、高缺陷检出率。
本文原创作者:易君召,详见:https://www.yijunzhao.cn/authors/yijunzhao,转载请注明出处。
原文链接
欢迎访问 小易撩挨踢