黑盒测试方法笔记
等价类划分法&&边界值法
等价类划分法把程序的输入域划分为若干部分,然后从每个部分中选取少量具有代表性数据当作测试用例。每一类的代表性数据在测试中的作用等价于这一类中的其他值。也就是说,如果某一类的一个用例发现了错误,这一类中的其他用例也可能发现同样的错误;反之,若某一类中第一个用例没有发现错误,则这一类中的其他用例也不会查出错误。
使用这一方法设计测试用例,首先必须在分析需求规格说明书的基础上划分等价类,列出等价类表。等价类划分有两种不同的情况:有效等价类和无效等价类。
在划分等价类时,有一些规则应该遵循。
- 如果输入条件规定了取值范围或个数,则可确定一个有效等价类和两个无效等价类。例如,输入值时选课人数,在0~100之间,那么有效等价类是:0<=学生人数<=100;无效等价类是:学生人数<0;学生人数>100。
- 如果输入条件规定了输入值的的类型,则可确定一个有效等价类和一个无效等价类。例如,输入日期类型的数据。那么有效等价类是日期类型的数据;无效等价类是非日期类型的数据。
- 如果输入条件是一组值,且程序对不同的值有不同的处理方式,则每个允许的输入值对应一个有效等价类,所有不允许的输入值的集合为一个无效等价类。例如,输入条件“职称”的值是初级、中级、高级,那么有效等价类应该有3个:初级、中级、高级。无效等价类有一个:其他任何职称。
- 如果规定了输入数据必须遵循的规则,可以划分出一个有效等价类(符合规则)和若干个无效等价类(从不同角度违反规则),比如密码要求长度至少为6,且含有数字和字母。
划分好等价类后,就可以设计测试用例了。设计测试用例的步骤可以归结为3步:
- 对每个输入和外部条件进行等价类划分,画出等价类表,并为每个等价类进行编号。
- 设计一个测试用例,使其尽可能多地覆盖有效等价类,重复这一步,直到所有的等价类被覆盖。
- 为每一个无效等价类设计一个测试用例。
人们长期的测试工作经验中得知,大量的错误往往发生在输入和输出范围的边界上,而不是范围的内部。因此,针对边界情况设计测试用例,能够更有效地发现错误。
通常情况下,软件测试所包含的边界条件有以下几种类型:数字、字符、位置、质量、大小、速度、方位、尺寸、空间等;对应的边界值应该在最大/最小、首位/末位、上/下、最快/最慢、最高/最低、最短/最长、空/满等情况。
用边界值分析法设计测试用例时应当遵循几条原则:
- 如果输入条件规定了取值范围,应以该范围的边界内及刚刚超范围的边界外的值作为测试用例。
- 如果规定了值的个数,应分别以最大、最小个数和稍小于最小和大于最大个数作为测试用例。
- 如果输入是有序的集合,如顺序文件、表格等,应注意选取有序集的第一个和最后一个元素作为测试用例。
如何使用等价类&&边界值分析
举个例子
淘宝店铺老板想搞活动,假设淘宝服务搞活动接口其中一个参数就是活动时长,后端规定活动的时长最多72个小时,最少24个小时。此时针对创建活动的这个时长参数,我们可以设计如下用例。
首先用等价类划分法做一下划分。

然后结合有效等价类1和无效等价类2345分别设计测试用例。

参考:https://www.jianshu.com/p/1b78edbc87e0
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?
2019-11-28 python OpenCV使用