type
status
date
slug
summary
tags
category
icon
password
😀
文章前言:本文主要介绍等价类测试。

1 概念

等价类划分法是把所有可能的输入数据,即程序的输入数据集合划分成若干个子集即等价类,然后从每个等价类中选取少量具有代表性的数据作为测试用例。
 

1.1 有效等价类和无效等价类

有效等价类:只完全满足产品规则说明的输入数据,即有效的、有意义的输入数据的集合。
  • 利用有效等价类可以检验程序是否满足规则说明所规定的功能性要求。
无效等价类:不满足程序输入要求或者无效的数据构成的集合。
  • 利用无效等价类可以检测程序对异常的处理能力。
 

1.2 等价类设计测试用例

(1)划分等价类(有效等价类和无效等价类)
(2)选取测试用例
  • 对于有效等价类,使其尽可能多地覆盖尚未覆盖的有效等价类,直到所有的有效等价类均被覆盖。
  • 对于无效等价类,一个测试用例覆盖一个无效等价类,直到所有的无效等价类均被覆盖。因为如果一个测试用例中覆盖多个无效等价类,则测试过程中可能只发现一个缺陷,而屏蔽了对其他输入错误的检查。
 

2 等价类测试的分类

单缺陷与多缺陷假设产生弱等价类测试与强等价类测试之分。(对于单区间则强弱等价类都是一样的)
是否进行无效数据的处理产生健壮等价类测试与一般等价类测试之分。

2.1 弱一般等价类测试

  • 弱一般等价类测试的假设:“单缺陷”假设。
    • 失效极少是由两个(或多个)缺陷的同时发生引起的
  • 弱一般等价类测试通过使用一个测试用例中的每个等价类(区间)的一个变量实现。
notion image
  • 一个变量个数为n的函数的弱一般等价类测试会产生测试用例个数=区间个数的最大值
 

2.2 强一般等价类测试

  • 基于多缺陷假设,需要等价类笛卡尔积的每个元素对应的测试用例。
notion image
  • 一个变量个数为n的函数的强一般等价类测试会产生测试用例个数=各个输入变量区间数的乘积
 

2.3 弱健壮等价类测试

  • 对有效输入,使用每个有效等价类的一个值。(等于弱一般)
  • 对无效输入,测试用例将拥有一个无效值,并保持其余的值都是有效的。
notion image
  • 以题图为例,一个变量个数为n的函数的弱健壮等价类测试会产生测试用例个数=区间个数的最大值+4边各任取一个
 

2.4 强健壮等价类测试

  • 基于多缺陷假设,从所有等价类的笛卡尔积的每一个元素中获得测试用例。
notion image
  • 以题图为例,一个变量个数为n的函数的强健壮等价类测试会产生测试用例个数=各个输入变量区间数+1后的乘积(n+1)*(m+1)
 

3 例题

  • 某公司招聘人员,其要求为:学历:本科及以上;专业:计算机或通信;年龄:22-30岁。请用弱一般等价类测试,强一般等价类测试和弱健壮等价类测试方法写出测试输入数据。
notion image
  • 健壮等价类,弱的则一个错误的+两个正确的,强健壮等价类则计算其笛卡尔积。
notion image
 
 
💡
有关问题,欢迎您在底部评论区留言,一起交流~
 
Linux:基本指令+镜像软件工程:需求分析
Loading...
Koreyoshi
Koreyoshi
一个无可救药的乐观主义者
Latest posts
软件测试:面向对象的测试
2025-5-28
软件测试:集成测试
2025-5-27
软件测试:基于决策表的测试
2025-5-27
软件测试:测试驱动开发
2025-5-27
论文检索
2025-5-26
Linux:基本指令+镜像
2025-5-26
Announcement
🎉写给自己的2025心愿🎉
保研
国奖
完善博客
学一门乐器
发表一篇论文
拍摄人生照片
去3个城市旅游
专业课知识视频
拍摄毕业季视频
----- 2025 ------
👏希望我们一起变好👏