测试用例方法–等价类划分法「建议收藏」

测试用例方法–等价类划分法「建议收藏」等价类划分法定义与使用

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE稳定放心使用

定义

是一种黑盒测试方法。依据是软件需求规格说明书
等价类的定义:是输入条件的一个子集合,该输入集合中的数据对于揭示程序中的错误是等价的。
等价类分为有效等价类和无效等价类。
有效等价类:正确的输入值;无效等价类:不正确的输入值。

划分原则

在给定了输入或外部条件之后,等价类的划分原则如下:

输入条件规定 有效等价类 无效等价类
区间(如,1<a<100) 1个(1<a<100) 2个(a>=100, a<=1)
数值(如,“汽车可登记一至六名车主”) 1个 (车主个数1至6个) 2个(无车主,车主个数大于6个)
限制条件(如,“交通工具的类型必须是公共汽车、卡车、出租车、火车或摩托车”) 5个 (公共汽车、卡车、出租车、火车、摩托车) 1个(飞机)
数据存储类型(如,测试加法器,两个文本框,要求输入-99~99之间的整数) 2个(-99至-1, 0至99) 2个(<-99, >99)

划分等价类的标准

  • 子集互不相交,子集的并集为整个集合
  • 同一类中标识(选择)一个测试用例,同一等价类中,往往处理相同,相同处理映射到”相同的执行路径”

用例设计步骤

  1. .确定等价类
  2. 建立等价类表
    列出与每一个输入条件对应的有效等价类和无效等价类, 最好有对每个子集编号
序号 功能项 有效等价类 编号 无效等价类 编号
1
2
  1. 生成测试用例
    现在利用等价类表来生成测试用例,其过程如下:
  • 编写新的测试用例,尽可能多地覆盖那些尚未被涵盖的有效等价类,直到所有的有效等价类都被测试用例所覆盖(包含进去)。
  • 编写新的用例,每次覆盖一个(仅一个)尚未被涵盖的无效等价类,直到所有的无效等价类都被测试用例所覆盖(包含进去)。

测试用例的完整性划分

针对是否对无效数据进行测试,可以将等价类测试分为标准等价测试类和健壮等价类测试。

  1. 标准等价类测试: 只针对有效数据, 不考虑无效数据。
  2. 健壮等价类测试:无效+有效数据

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

注意事项

不仅要针对输入域进行等价类划分,也应针对输出域进行等价类划分

示例

程序要求:输入三个整数a、b、c分别作为三角形的三边长度,通过程序判定所构成的三角形的类型;当三角形为一般三角形、等腰三角形或等边三角形时,分别作处理。

  1. 等价类分析

    输入域
    A三个、B整数、C正数、D两边之和大于第三边、E三边均不相等、F两边相等但不等于第三边、G三边相等(D~G由输出值域的等价类隐性确定)

    输出域
    R1={不构成三角形}、R2={一般三角形}、R3={等腰三角形}、R4={等边三角形}

  2. 等价类表

  3. 生成用例

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/180878.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • feiler包(prim算法)

    背景Weisfeiler-Lehman算法(威斯费勒-莱曼算法)是测试图同构的经典算法之一,我在这儿记录一下它的实现原理,参考文章为Weisfeiler-LehmanGraphKernels伪代码论文中的伪代码如下所示假设要测试同构的两张图为G和G`,那么在结点v的第i次迭代里,算法都分别做了四步处理:标签复合集定义、复合集排序、标签压缩和重标签。标签复合集定义如果是第一次迭代,v的标签复合集里只有一个元素,就是v的标签。如果不是第一次迭代,v的标签复合集元素就是v的..

    2022年4月10日
    61
  • VBS 代码合集(慎用,好玩)

    VBS 代码合集(慎用,好玩)玩玩就好啦记得关注哦一、你打开好友的聊天对话框,然后记下在你QQ里好友的昵称,把下面代码里的xx替换一下,就可以自定义发送QQ信息到好友的次数(代码里的数字10改一下即可).xx.vbs=>=—————————————————————————OnErrorResumeNextDimwsh,yesetwsh=createobject(“wscript.shell”)fori=1

    2022年6月5日
    810
  • jdbc连接数据库的基本步骤「建议收藏」

    jdbc连接数据库的基本步骤「建议收藏」1.在项目中导入java.sql包2.加载数据库驱动程序Class.forName(“com.mysql.cj.jdbc.Driver”);3.定义数据库的链接地址Stringurl=“jdbc:mysql://localhost/studentserverTimezone=GMT%2B8&amp;amp;useSSL=false”;Stringdatabasename=“root”;S…

    2022年7月15日
    16
  • Java数组「建议收藏」

    Java数组「建议收藏」1、数组(Array):是多个相同类型数据按一定顺序排列的集合,并使用一个名字命名,并通过编号的方式对这些数据进行统一管理。1)数组本身是引用数据类型,而数组中的元素可以是任何数据类型,包括基

    2022年6月30日
    21
  • stringtokenizer类的hasmoretokens_java string equals

    stringtokenizer类的hasmoretokens_java string equalsStringTokenizer:字符串分隔解析类型属于:java.util包。1、构造函数。1.StringTokenizer(Stringstr):构造一个用来解析str的StringTokenizer对象。java默认的分隔符是“空格”、“制表符(‘\t’)”、“换行符(‘\n’)”、“回车符(‘\r’)”。2.StringTokenizer(Stringstr,Stringde…

    2022年9月19日
    0
  • loadrunner 压力测试工具下载

    loadrunner 压力测试工具下载loadrunner下载 http://willvvv.iteye.com/blog/1198158 用户名密码: user1  user1

    2022年7月17日
    14

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号