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

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

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新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. 生成用例

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

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

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • 【Java】Java双端队列Deque使用详解

    【Java】Java双端队列Deque使用详解Deque是一个双端队列接口,继承自Queue接口,它们共同的实现类是LinkedList。Deque的功能很强大:代替普通队列Queue:先进先出、队尾进队头出可以作为双端队列:队尾和队头都可以进出还可以作为堆栈使用:先进后出、只能从一端进出注意:Java堆栈Stack类已经过时,Java官方推荐使用Deque替代Stack使用。jdk文档中关于Deque的使用介…

  • 美化包软件_美化桌面的软件

    美化包软件_美化桌面的软件前言在我们进行自动化测试的时候,用例往往是成百上千,执行的时间是几十分钟或者是小时级别。有时,我们在调试那么多用例的时候,不知道执行到什么程度了,而pytest-sugar插件能很好解决我们的痛点。

  • 007 矩阵的秩定义、秩求法、秩的性质「建议收藏」

    007 矩阵的秩定义、秩求法、秩的性质「建议收藏」007矩阵的秩定义、秩求法、秩的性质

  • java 物理删除和逻辑删除

    java 物理删除和逻辑删除java物理删除和逻辑删除逻辑删除:文件没有被真正的删除,只不过是文件名的第一个字节被改成操作系统无法识别的字符,通常这种删除操作是可逆的,就是说用适当的工具或软件可以把删除的文件恢复出来。物理删除:指文件存储所用到的磁存储区域被真正的擦除或清零,这样删除的文件是不可以恢复的物理删除是计算机处理数据时的一个概念。与物理删除相对应的是逻辑删除。逻辑删除就是对要要删除的数据打上一个删除标记,在逻辑上是数据是被删除的,但数据本身依然存在!而物理删除则是把数据从介质上彻底删除掉。配置逻辑删除的步骤:

  • spring boot 过滤器_kotlin从入门到进阶实战

    spring boot 过滤器_kotlin从入门到进阶实战过滤器是处于客户端与服务器资源文件之间的一道过滤网,在访问资源文件之前,通过一系列的过滤器对请求进行修改、判断等,把不符合规则的请求在中途拦截或修改。也可以对响应进行过滤,拦截或修改响应。

  • 怎么完全卸载赛门铁克_如何卸载symantec

    怎么完全卸载赛门铁克_如何卸载symantec前段时间,业务的虚机上安装了symantecEndpointProtection(正版),发现虚机运行一段时间就会失去响应死机,并且有些安装symantec的虚机3389端口无法使用,怎么折腾都不行。最后决定卸载它。一、是否可以用停止服务和终止进程再卸载的方式卸载呢?答案不行有3个symantec的服务,前2个可以终止,但symantecEndpointProtection这个服务打开都…

发表回复

您的电子邮箱地址不会被公开。

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