测试方法-等价类划分法

什么是等价类划分法

​ 等价类划分法是一种重要的、常用的黑盒测试方法,它将不能穷举的测试过程进行合理分类,从而保证设计出来的测试用例具有完整性和代表性。
​ 等价类划分法是把所有可能的输入数据,即程序的输入域划分成若干部分(子集),然后从每一个子集中选取少量具有代表性的数据作为测试用例。
原因:不可能实现穷举测试,可以从大量的可能数据中选取一部分具有代表性的数据作为测试用例。
效果:经过类别划分后,每一类的代表性数据在测试中的作用都等价于这一类中的其他值
手段:在设计测试用例时,在需求说明的基础上划分等价类,列出等价表,从而确定测试用例。

等价类划分法设计测试用例要经历两个步骤:

划分等价类(列出等价类表)
选取测试用例

等价类的划分有两种不同的情况:

有效等价类
无效等价类

等价类的类型

有效等价类
对需求规格说明而言,有意义、合理的输入数据所组成的集合。

检验程序是否实现了需求规格说明预先规定的功能和性能。

无效等价类
对需求规格说明而言,无意义的、不合理的输入数据所组成的集合。

检查被测对象的功能和性能的实现是否有不符合需求规格说明要求的地方。

等价类的划分原则

如何划分等价类?

先从程序的规格说明书中找出各个输入条件,再为每个输入条件划分等价类,形成若干互不相交的子集

给出1到100之间两个整数相加的测试用例

1、考虑输入数据类型和范围

2、计算两个1-100之间整数的和

等价类的划分原则

(1)按照区间划分
在输入条件规定了取值范围的情况下,可以确定有效等价类和无效等价类。

例:程序输入条件为小于100大于10的整数x,则有效等价类为10<X<100,两个无效等价类为x≤10和x≥100。

(2)按照数值划分
在规定了一组输入数据(假设包括n个输入值),并且程序要对每一个输入值分别进行处理的情况下,可确定n个有效等价类(每个值确定一个有效等价类)和一个无效等价类(所有不允许的输入值的集合)。

例:程序输入x取值于一个固定的枚举类型{1,3,7,15},且程序中对这4个数值分别进行了处理,则有效等价类为x=1、x=3、x=7、x=15,无效等价类为x≠1,3,7,15的值的集合。

(3)按照限制条件或规则划分
在规定了输入数据必须遵守的规则或限制条件的情况下,可确定一个有效等价类(符合规则)和若干个无效等价类(从不同角度违反规则)。

例:程序输入条件为奇数的整数x,则有效等价类为x的值为奇数的整数,无效等价类为x的值不为奇数的数。
例:程序输入用户口令的长度必须是4位的字符串,可以确定一个有效等价类是输入字符串的长度为4,一个无效等价类长度不为4。

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

例:程序输入条件为以字符‘a’开头、长度为8的字符串,并且字符串不包含‘a’—‘z’之外的其它字符,则有效等价类为满足了上述所有条件的字符串,无效等价类为不以‘a’开头的字符串、长度不为8的字符串和包含了‘a’—‘z’之外其它字符的字符串。

等价类划分法设计测试用例的步骤

等价类测试用例设计

针对是否对无效数据进行测试,可以将等价类测试分为标准等价类测试和健壮等价类测试。
标准等价类测试——不考虑无效数据值,测试用例使用每个等价类中的一个值。
健壮等价类测试——主要的出发点是考虑了无效等价类。对有效输入,测试用例从每个有效等价类中取一个值;对无效输入,一个测试用例有一个“无效值”,其他值均取“有效值”。

健壮等价类测试存在两个问题:
(1)需要花费精力定义无效测试用例的期望输出
(2)对强类型的语言没有必要考虑无效的输入,程序可以自己检测。

等价类划分法设计测试用例的步骤

(1)确定等价类
(2)建立等价类表,列出所有划分出的等价类
(3)从划分出的等价类中按以下原则设计测试用例:

A.为每一个等价类规定一个唯一的编号
B.设计一个新的测试用例,使其尽可能多的覆盖尚未被覆盖的有效等价类,重复这一步。
C.设计一个新的测试用例,使其仅覆盖一个尚未被覆盖的无效等价类,重复这一步。

案例一

需求:QQ账号为5-11位自然数

界面原型

第一步:划分等价类

第二步:编号

第三步:设计用例,覆盖有效等价类

第四步:设计用例,覆盖无效等价类

案例二



测试方法-等价类划分法相关推荐

  1. 黑盒测试方法—等价类划分法

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

  2. 软件测试方法——等价类划分法详解

    目录 1.等价类划分法的介绍和概念 2.等价类的类型划分 3.等价类测试用例的类别 3.1弱一般等价类 3.2弱健壮等价类 3.3强一般等价类 3.4强健壮等价类 4.等价类划分的原则 4.1按照区间 ...

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

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

  4. 黑盒测试方法(等价类划分法、边界值法、决策表、判定表、正交表、场景法、错误推断法)

    1.黑盒测试方法 1.1.等价类划分法: 根据软件测试原则可以知道,要做到穷举是不可能的,事实上也是不必要的.为了减少工作量,需要对测试用例进行适当选取.等价类划分法便提供了一种选取测试用例的方法. ...

  5. 【软件测试】07 -- 黑盒测试方法(等价类划分法)

       等价类划分法    等价类划分法是一种常用的黑盒测试方法,它主张从大量的数据中选择一部分数据用于测试,即尽可能使用最少的测试用例覆盖最多的数据,以发现更多的软件缺陷.    一个程序可以有多个输 ...

  6. 黑盒测试方法之等价类划分法

    等价类划分法 概念 需求示例 测试用例分析设计 总结 概念 等价类是指某个输入域的子集,在该子集中每个输入数据的作用是等效的,也就是该子集中每个输入数据的揭错概率是一样的.等价类分为有效等价类和无效等 ...

  7. 软件测试方法等价类划分案例,等价类划分法进行测试

    <等价类划分法进行测试>由会员分享,可在线阅读,更多相关<等价类划分法进行测试(3页珍藏版)>请在人人文库网上搜索. 1.实验项目名称黑盒测试-1实验目的及要求掌握黑盒测试的方 ...

  8. 软件测试基础测试方法之等价类划分法

    目标: 1.  能对穷举场景设计测试点 2. 能对限定边界规则设计测试点 3. 能对多条件依赖关系进行设计测试点 4. 能对于项目业务进行设计测试点 01 等价类划分法 说明:在所有测试数据中,具有某 ...

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

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

  10. 黑盒测试 ------ 等价类划分法

    文章目录 等价类划分法 等价类划分概念: 等价类的分类 等价类思考步骤 例子 等价类划分的总结 等价类划分法 计算器:到底输入几组数据才算测试完毕? 答案:一个一个测试效率低下,所以一定要分类测试. ...

最新文章

  1. opengl地球贴纹理_一文看懂材质/纹理 Material, Texture, Shading, Shader 的区别
  2. Win7 U盘安装Ubuntu16.04 双系统
  3. 怎样看mysql是不是支持SSL_mysql是如何支持ssl通信的?
  4. Java中解决String无法存储大量字符串的问题,解析Base64编码的图片并保存到本地
  5. smartsvn 忽略文件夹_MacOS下smartSVN使用教程
  6. Spring5入门学习一
  7. 转 导入视频格式问题(QuickTime player)
  8. 预祝大家平安夜圣诞节快乐
  9. PIP 更换国内安装源
  10. 一起来看看SpringBoot蓝天幼儿园管理系统(详解)
  11. html圣诞快乐英文,圣诞快乐英语,圣诞快乐英语简写?
  12. 源码解读ReDet:A Rotation-equivariant Detector for Aerial Object Detection
  13. matlab hold on解释,matlab中hold on怎么用
  14. python中@用法
  15. surfer9 与Arcgis9.3 完美生成等值线和等值面方法
  16. NTU-Coursera机器学习:VC Bound和VC维度
  17. Cynthia - Fastjson deserialization vulnerability
  18. leetcode(15):华为HJ95||人民币转换
  19. mfcc概念 参数介绍
  20. Mac os X 系统,TS视频如何合并成MP4

热门文章

  1. 2021Java面试题及答案整理(最新汇总版)
  2. 爬取豆瓣网电视剧数据(共1500条)
  3. Java商城 架构演化
  4. 鲍威尔c 语言程序,优化设计-鲍威尔法程序(c语言).doc
  5. 怎么选择boost升压电路的电感?只要三个公式
  6. python中没有严格意义上的私有成员_尔雅尔雅学习通APP家园的治理:环境科学概论题库及答案...
  7. 融云 SDK 5.0.0 功能迭代
  8. 二、安装Robot framework-selenium2library
  9. gliffy UML破解工具
  10. php编程常用英语词汇,泰牛程序员 PHP编程掌握的英语词汇(3) 韩顺平整理