等价类划分法:

一、方法简介

1.定义

是把所有可能输入的数据,即程序的输入域划分策划国内若干部分(子集),然后从每一个子集中选取少数具有代表性的数据作为测试用例。方法是一种重要的、常用的黑盒测试用例设计方法。

2.划分等价类

等价类是指某个输入域的子集合。在该子集合中,各个输入数据对于揭露程序中的错误都是等效的,并合理地假定:测试某等价类的代表值就等于对这一类其他值的测试,因此,可以把全部输入数据合理划分为若干等价类,在每一个等价类中取一个数据作为测试的输入条件就可以用少量代表性的测试数据取得较好的测试结果。等价类划分有两种不同的情况:有效等价类和无效等价类。

1)有效等价类

是指对于程序的规格说明来说是合理的、有意义的输入数据构成的集合。利用有效等价类可检验程序是否实现了规格说明所规定的功能和性能。

2)无效等价类

指对程序的规格说明是不合理的或无意义的输入数据所构成的集合。对于具体的问题,无效等价类至少应有一个,也可能多个。

设计测试用例时,要同时考虑这两种等价类。因为软件不仅要能接收合理的数据,也要能经受意外的考验,这样的测试才能确保软件具有更高的可靠性。

3.划分等价类的标准

1) 完备测试、避免冗余

2) 划分等价类重要的是:集合的划分、划分为互不相交的一组子集,而子集的并是整个集合

3) 并是整个集合:备性

4) 子集互不相交:保证一种形式的无冗余性

5) 同一类中标识(选择)一个测试用例,同一等价类中,往往处理相同,相同处理映射到“相同的执行路径”。

4.划分等价类的方法

1) 在输入条件规定了取值范围或值的个数的情况下,则可以确立一个有效等价类和两个无效等价类。如:输入值是学生成绩,范围是0~100;

2)在输入条件规定了输入值的集合或者规定了“必须如何”的条件的情况下,可确立一个有效等价类和一个无效等价类:

3)在输入条件是一个布尔量的情况下,可确定一个有效等价类和一个无效等价类。

4)在规定了输入数据的一组值(假定n个),并且程序要对每一个输入值分别处理的情况下,可确立n个有效等价类和一个无效等价类。

例:输入条件说明学历可为:专科、本科、硕士、博士四种之一,则分别取这四种的四个值作为四个有效等价类,另外把四种学历之外的任何学历作为无效等价类。

5)在规定了输入数据必须遵守的规则情况下,可确立一个有效等价类(符合规则)和若干个无效等价类(从不同角度违反规则);

6)在确知已划分的等价类中各元素在程序处理中的方式不同的情况下,则应在将该等价类进一步的划分为更小的等价类。

5.设计测试用例

在确立了等价类后,可建立等价类表,列出所有划分出的等价类输入条件:有效等价类、无效等价类,然后从划分出的等价类中按以下三个原则设计测试用例:

1)为每一个等价类规定一个唯一的编号;

2)设计一个新的测试用例,使其尽可能多地覆盖尚未被覆盖地有效等价类,重复这一步,直到所有的有效等价类都被覆盖为止;

3)设计一个新的测试用例,使其仅覆盖一个尚未被覆盖的无效等价类,重复这一步,直到所有的无效等价类都被覆盖为止。

二、实战演习

1、三角形问题

1、某程序规定:“输入三个整数a、b、c分别作为三边的边长构成三角形。通过程序判定所构成的三角形的类型,当此三角形为一般三角形、等腰三角形、等边三角形时,分别做计算。。。”用等价类划分方法为该程序进行测试用例设计。(三角形问题的复杂之处在于输入与输出之间的关系比较复杂。)

分析题目中给出和隐含的对输入条件的要求:

(1)整数 (2)三个数(3)非零数(4)正数

(5)两边之和大于第三边(6)等腰 (7)等边

如果a、b、c满足条件(1)~(4),则输出下列四种情况之一:

1)如果不满足条件(5),则程序输出为“非三角形”

2)如果三条边相等即满足条件(7),则程序输出为“等边三角形”

3)如果只有两条边相等,及满足条件(6),则程序输出为“等腰三角形”

4)如果三条边都不相等,则程序输出为“一般三角形”

列出等价类表并编号

覆盖有效等价类的测试用例:

a b c覆盖等价类号码

3 4 5 (1) (7)

4 4 5  (1)(7) (8)

4 5 5 (1) (7) (9)

5 4 5 (1) (7) (10)

4 4 4 (1) (7) (11)

覆盖无效等价类的测试用例:

2NextDate

2、NextDate函数包含三个变量:month、day、year,函数的输出为输入日期后一天的日期。

例如,输入2006年3月7日,则函数的输出为2006年3月8日。要求输入变量month、day、year均为整数值,并且满足下列条件:

1、1<=month<=12

2、1<=day<=31

3、1812<=year<=2012

1)有效等价类为:

M1={月份:1<=月份<=12}

D1={日期:1<=日期<=31}

Y1={年份:1812<=年<=2012}

2)若条件1~3中任何一个条件失效,则NextDate函数都会产生一个输出,指明相应的变量超出取值范围,比如“month的值不在12范围中”。显然还存在这大量的year、month、day的无效组合,NextDate函数将这些组合作为统一的输出:“无效输入日期”。

其无效等价类为:

M2={月份:月份<1}

M3={月份:月份>12}

D2={日期:日期<1}

D3={日期:日期>31}

Y2={年份:年<1812}

Y3={年份:年>2012}

弱一般等价类测试用例

月份

日期

预期输出

6

15

1912

1912年6月16日

强一般等价类测试用例同弱一般等价类测试用例

注:弱有单缺陷假设;健壮考虑了无效值。

(一)弱健壮等价类测试

用例

ID

月份

日期

预期输出

WR1

 

6

15

1912

1912年6月16日

WR2

 

0

1

1912

月份不在1~12中

WR3

 

15

1

1912

月份不在1~12中

WR4

 

1

0

1912

日期不在1~31中

WR5

 

1

32

1912

日期不在1~31中

WR6

 

1

1

1811

年不在1812~2012中

WR7

 

1

1

2013

年不在1812~2012中

(二)强健壮等价类测试

用例

ID

月份

日期

预期输出

SR1

 

15

1

1912

月份不在1~12中

SR2

 

1

32

1912

日期不在1~31中

SR3

 

1

1

1811

年份不在1812~2012中

SR4

 

0

0

1912

两个无效一个有效

SR5

 

0

1

1811

两个无效一个有效

SR6

 

1

0

1811

两个无效一个有效

SR7

 

0

0

1811

三个无效

转自:https://blog.csdn.net/weixin_34138521/article/details/93363609

转载于:https://www.cnblogs.com/zhangwuji/p/7128240.html

等价类划分法设计测试用例相关推荐

  1. 如何使用等价类划分法编写测试用例

    案例:如下图所示的一个两位整数加法器,需求分析中要求: ①第一个数和第二个数都是只能输入-99到99之间的整数: ②对于输入的小于-99的数据或者大于99的数据,程序应给出明确提示: ③对于输入的小数 ...

  2. 黑盒测试用例设计方法-等价类划分法

    目录 一.等价类的作用 二.等价类的分类 三.等价类的方法 四.等价类的原则 五.按照测试用例的完整性划分等价类 六.等价类步骤 七.案例 一.等价类的作用 为穷举测试设计测试点. 穷举:列出所有的可 ...

  3. 【软件测试】黑盒测试の等价类划分法

    等价类划分法 等价类划分法是一种重要的.常用的黑盒测试方法,它将不能穷举的测试过程进行合理分类,从而保证设计出来的测试用例具有完整性和代表性. 等价类划分法是把所有可能的输入数据,即程序的输入域划分成 ...

  4. 黑盒测试技术(概念等价类划分法详细)——软件质量保证与测试

    概念: 不深入代码细节的测试方法称为动态黑盒测试.软件测试员充当客户 来使用它.又称闭着眼睛测试软件.主要针对软件界面和软件功能进 行测试. 不用关心软件的内部结构 站在用户角度看现有的功能是否被正确 ...

  5. 【1+X】等价类划分法

    想看更多内容请移步专栏 转载:[1+X]软件测试技术 - 等价类划分法 - 蓝桥云课 (lanqiao.cn) 等价类划分法 知识点 等价类划分法概述 等价类划分法案例 简介 在<软件测试的原则 ...

  6. 黑盒测试——nextDate函数测试(等价类划分法、边界值分析法、判定表驱动法)

    实验目的 (1)掌握应用黑盒测试技术进行测试用例设计. (2)掌握对测试用例进行优化设计方法. 实验内容 日期问题 测试以下程序:该程序有三个输入变量month.day.year(month.day和 ...

  7. 软件测试 - 等价类划分法

    文章目录 官方定义 等价类划分 合理假设 类型划分 等价类 注意 设计测试用例的步骤 案例 官方定义 等价类测试方式是吧所有可能的输入数据,即程序的输入域划分成若干部分,然后从每一部分中选取少数有代表 ...

  8. 软件测试-黑盒测试:等价类划分法

    等价类划分法 参考文献: 软件测试方法_等价类划分法 等价类划分法设计测试用例 软件测试第8讲_测试流程_测试用例(等价类划分法) 整个等价类划分法的核心就是:如何划分等价类,如何区分有效等价类和无效 ...

  9. 软件测试 通用技术03 测试用例 黑盒测试用例设计方法 等价类划分法 边界值分析法 判定表法 场景法 功能图法 其他用例设计方法 用例设计方法综合选择

    文章目录 1 测试用例 1.1 测试用例的定义 1.2 测试用例模板 1.3 测试用例模板的内容 测试用例编号 测试项 依赖用例 测试步骤 测试数据 预期结果 测试结果 测试人 备注 2 测试用例编写 ...

  10. 软件测试方法_等价类划分法

    目录: ①等价类划分法的介绍和概念 ②等价类的类型划分 ③等价类测试用例的类别 ④等价类划分的原则 ⑤等价类划分法的测试用例应用 ⑥边界值分析法的实例分析 1.等价类划分法的介绍和概念 划分 指互不相 ...

最新文章

  1. HarmonyOS UI开发 match_parent与match_content
  2. GD32定时器输入捕获例程
  3. 皮一皮:大义灭亲啊这是...
  4. huizhang要约会
  5. linux下使用C++操作mysql
  6. python文件解除占用_如何使用Python解锁锁定的文件和文件夹(mac)
  7. mysql数据库中case when 的用法
  8. MySQL建立双向主备复制server配置方法
  9. C++ 中缀表达式转后缀表达式(两种方式:栈、二叉树)
  10. 它来了,指数基金定投实操!
  11. C语言——三位数排序
  12. 深度学习之ISAR超分辨率成像
  13. Linux中GCC编译工具集中个软件的用途、gcc的简单编译以及ELF文件格式
  14. 免校准的电量计量芯片_【应用】基于高精度免校准电能计量芯片CSE7761的漏电保护设计,可支持单芯片两路计量...
  15. Testin云测云层天咨众测学院开课了!
  16. 对策论基础---矩阵对策的解法
  17. ubuntu16.04 安装nvidia1060 驱动
  18. 关于模型评价标准的例子
  19. JavaScript 教程「6」:数组
  20. 衡阳高铁铁路学校计算机专业,衡阳2021年铁路学校都有哪些专业好

热门文章

  1. lena.bmp素材图像
  2. python身份证号真假验证_【趣味案例】用python制作全国身份证号验证及查询系统...
  3. TraceView issue
  4. Matlab控制器设计app(controlSystemDesigner)的使用
  5. 计算机统计分析spss试卷,《SPSS计算机统计分析方法》试卷A卷
  6. latex---插入三线表伪代码流程图
  7. 最新emoji表情代码大全_最新出早晨好漂亮图片带字问候语 微信群夏季早晨好问候语祝福语表情图片大全...
  8. 亚马逊吸尘器需要提交UL1017测试报告,亚马逊要求提供ISO17025资质机构出具的UL报告
  9. 【步骤详解】畅捷通T+Cloud无代码集成钉钉群机器人示例
  10. Python基于周立功ZCANPRO开发刷写脚本