news 2026/6/15 18:44:32

软件测试方法之等价类测试

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
软件测试方法之等价类测试

🍅点击文末小卡片,免费获取软件测试全套资料,资料在手,涨薪更快

01 等价类划分法

1、应用场合

有数据输入的地方,可以使用等价类划分法。

从大量数据中挑选少量代表数据进行测试。

2、测试思想

穷举测试:把所有可能的数据全部测试一遍叫穷举测试。穷举测试是最全面的测试,但是在实际工作中不能采用,因为测试效率太低(数据量巨大,根本测不过来)。

理想的测试思想:使用最少的测试数据,达到最好的测试质量(最高性价比)。因为毕竟没有做穷举测试,所以会有遗漏缺陷的风险,如果时间允许,尽可能的做补充测试(不用纠结,觉得有风险的有问题的补充测试就好)。

等价类划分法的测试思想:从大量数据里划分范围(每个范围内的数据测试效果是等价的所以每个范围是一个等价类),然后从每个范围中挑选代表数据,这些代表数据能反应这个范围内数据的测试结果。

3、基本概念

有效等价类:对程序来说,有意义的、合理的输入数据集合——用来测试功能是否正确实现;

无效等价类:对程序来说,无意义的、不合理的输入数据集合——用来测试程序是否有强大的异常处理能力(健壮性)。

02 等价类划分法的实现步骤

1、案例

被测程序:加法器

被测对象:第一个数文本框 第二个数文本框

适合初学者的测试思路:先测第一个数,此时第二个数填写正确数据配合;第一个数测试完成后,测第二个数,此时第一个数填写正确数据配合。

步骤1

分析需求,根据需求划分等价类(初步划分,后续再细化)

需求:要求-99~99之间的整数,不能为空(必填)

有效等价类:-99~99之间的整数

无效等价类:<-99的整数;>99的整数;非整数(需要细化);为空(不填)

步骤2

细化等价类

细化等价类依据的不再是字面上的需求而是根据数据在内存或数据库中存储的类型。

有效等价类:-99~99之间的整数

整数的存储在计算机底层中会使用不同的算法:正整数和负整数算法不同,所以测试时正整数和负整数应该分开来测。(一般对有效等价类数据应用,无效等价类数据一般不需要正、负分别测)

所以将有效等价类细分为:-99~(-1)负整数;0~99 正整数

无效等价类:非整数

非整数:小数、字符(汉字、字母、特殊字符)

最终细分成:小数、字母、汉字、特殊字符

将等价类划分结果填入《等价类表》

步骤3

编写测试用例

从每个等价类范围中挑选至少一个代表数据进行测试。

测试用例最简单的标准:让其他测试人员按照你写的测试步骤执行,如果能够执行出来才可以。

测试用例是要评审的:互评互审,测试组开评审会、有用户参加的评审会。

2、案例中的问题
  1. 在测试有效等价类时,当测试对象为多个控件时,会出现测试用例冗余(重复)的问题——优化用例可以解决;

  2. 当测试无效等价类时,没有考虑多个控件都为无效的情况——强化用例解决。

03 总 结

有效等价类:比较容易找,一般在需求中可以直接找到。数量较少。所以有效等价类测试也称为正向测试或者通过测试。

无效等价类:一般数量较多,也被称为“反向测试”或“失败测试”。

1、无效等价类的考虑因素
  • 不能为空:为空

  • 不能重复:重复

  • 不能包含**:包含**

2、类型
  • 整数:非整数(小数,字母,汉字,特殊字符)

  • 小数:非小数(非数:字母,汉字,特殊字符)

  • 字符:如果没有特殊说明不需要细分。字符包含(字母,数字0-9,特殊字符,汉字)

3、范围(超出范围的情况)
  • 数字范围:比最小值小,比最大值大

  • 字符串长度:不在正确的长度范围的就是无效的

4、测试用例

测试用例的用途:

  1. 版本的重复测试会很方便,可以快速正确的进行

  2. 防止遗漏

  3. 提高测试效率

  4. 监督测试过程

  5. 评估结果

  6. 缩短测试周期:版本更新或者升级时,只需修改少部分的测试用例,可以资源复用

编写用例的注意事项:

  1. 在编写用例之前应该先确认好用例编号的命名规则,文档、附件的命名规则以及存储,提交的位置。

  2. 测试用例编写完成是有评审过程的。互评互审、测试组评审、甲方的参加的评审会。

  3. 基本要求:用例先写好(标准:别人按照你写的测试步骤能够顺利执行)

  4. 高标准的要求:能够分析,形成完善的测试思路(方案),实现更好的测试覆盖率和更少的缺陷遗漏。

最后感谢每一个认真阅读我文章的人,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:

这些资料,对于做【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!凡事要趁早,特别是技术行业,一定要提升技术功底。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/15 12:21:09

192S06M0132B控制系统模块

192S06M0132B 控制系统模块特点核心控制单元&#xff1a;承担数据处理与指令执行&#xff0c;保证系统高效响应。高可靠性设计&#xff1a;工业级元件&#xff0c;耐高温、防尘、防振动&#xff0c;适合连续运行。灵活扩展&#xff1a;支持与其他模块无缝组合&#xff0c;便于系…

作者头像 李华
网站建设 2026/6/15 12:26:55

VME-HDD-4G单插槽软盘/硬盘模块

VME-HDD-4G 单插槽软盘/硬盘模块特点概览&#xff1a;单插槽设计&#xff1a;紧凑结构&#xff0c;便于安装在标准 VME 机箱中。高容量存储&#xff1a;4GB 存储空间&#xff0c;满足工业数据存储和日志记录需求。兼容软硬盘&#xff1a;可支持传统软盘格式及硬盘存储&#xff…

作者头像 李华
网站建设 2026/6/12 22:14:52

告别论文双重雷区!宏智树 AI 教你降重降 AIGC 一步到位

最近后台的求助留言快堆成山了&#xff1a;“查重率降到 10%&#xff0c;却被 AIGC 检测标红 80%”“换了一堆同义词&#xff0c;论文读起来像天书”。作为深耕论文写作科普的教育博主&#xff0c;我太懂大家的焦虑了 —— 现在高校学术检测全面升级&#xff0c;论文要过的不仅…

作者头像 李华
网站建设 2026/6/15 14:39:18

PHP性能优化10大高效技巧

优化代码结构 减少不必要的循环和条件判断&#xff0c;尽量使用内置函数替代自定义逻辑。避免在循环中执行数据库查询或复杂计算&#xff0c;将重复计算的结果缓存起来。使用适当的数据结构&#xff0c;如数组代替多个变量&#xff0c;提升数据访问效率。 使用OPcache 启用P…

作者头像 李华
网站建设 2026/6/12 22:52:59

使用Nginx基于下载的全球瓦片数据本地搭建瓦片底图服务

如何你已经有了 按 level&#xff08;zoom&#xff09;分类的 JPG或PNG 格式的瓦片数据需要发布瓦片数据 ✅ 首选&#xff1a;Nginx /Apache 静态服务器直发 ✅ 大规模&#xff1a;TileServer / MBTiles / 对象存储 为什么不用Geoserver? GeoServer 不适合“管理已经切好的 XY…

作者头像 李华