前置知识: 软件测试

边界值分析

00:00
4 min Intermediate 2026/6/14

边界值分析方法:边界条件识别、测试值选取、健壮性测试与实战应用详解。

1. 边界值分析原理

1.1 基本概念

边界值分析是基于”缺陷往往出现在输入边界”的经验,重点测试边界条件及其附近值。

1.2 为什么测试边界

大量缺陷发生在边界条件上:

  • 程序员使用 < 而非 <=
  • 数组索引从 0 还是 1 开始
  • 循环条件 off-by-one 错误

1.3 与等价类划分的关系

边界值分析是等价类划分的补充,在等价类边界处选取测试值。

2. 边界值选取

2.1 基本边界值

对于范围

描述
刚好小于下界
下界
刚好大于下界
正常值范围内任意值
刚好小于上界
上界
刚好大于上界

2.2 示例:年龄 1-120

类型预期结果
0无效(小于下界)错误
1边界(下界)有效
2边界(下界+1)有效
60正常值有效
119边界(上界-1)有效
120边界(上界)有效
121无效(大于上界)错误

2.3 健壮性边界值

在基本边界值基础上增加越界值:

描述
远小于下界
刚小于下界
下界
下界内侧
上界内侧
上界
刚大于上界
远大于上界

3. 边界值类型

3.1 数值边界

场景边界值
范围 [0, 100]-1, 0, 1, 99, 100, 101
整数范围INT_MIN, INT_MIN+1, INT_MAX-1, INT_MAX
浮点数0.0, 最小正值, 最大正值

3.2 字符串边界

场景边界值
长度 1-50"", “a”, “ab”, 49字符, 50字符, 51字符
空字符串""
仅空格” “

3.3 集合边界

场景边界值
列表索引0, 1, n-2, n-1
空列表[]
单元素[1]

3.4 时间边界

场景边界值
日期1月1日, 12月31日, 2月28/29日
时间00:00:00, 23:59:59
时区UTC-12, UTC+14

4. 边界值分析实例

4.1 实例1:密码强度

需求:密码长度 8-32,必须包含大小写字母和数字。

边界长度是否满足预期
7 字符7拒绝
8 字符8接受
9 字符9接受
31 字符31接受
32 字符32接受
33 字符33拒绝

4.2 实例2:文件上传

需求:文件大小 1KB-10MB,仅允许 jpg/png。

边界大小预期
0 KB拒绝
1 KB下界接受
10 MB上界接受
10MB+1KB超上界拒绝
.gif非法类型拒绝
.jpg合法类型接受

4.3 实例3:分页查询

需求:每页 10-100 条,页码 ≥ 1。

参数边界值预期
page=0无效错误
page=1有效第一页
page=2有效第二页
size=9无效错误
size=10有效10条
size=100有效100条
size=101无效错误

5. 内部边界

5.1 数据结构边界

场景边界
数组数组单元素、满容量
、满单元
队列队列、满队列
哈希表、冲突、扩容阈

5.2 状态边界

场景边界
状态机初始状态最终状态
计数器0、最大值、溢出
超时刚好超时、刚好未超时

6. 边界值分析最佳实践

实践描述
识别所有边界显式+隐式边界
测试两侧边界内外都测
特殊0、空、null、负数
数据类型边界INT_MAX、浮
业务边界折扣阈等级分界
等价类结合先划分再取边界

知识检测

学习进度

-- 已学文档
--% 知识覆盖率

学习推荐

专注模式