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

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

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


相关推荐

  • linux17:时间间隔计算脚本练习——距离你的生日还有多少天

    linux17:时间间隔计算脚本练习——距离你的生日还有多少天需求距离一个未来的日子还有多少天距离一个过去的日子过去多少天#!/bin/bash#name——timeDistance.sh#function#input a date, to calculate how many days to this day#2022.1.18 daxiongread -p “please input your date like YYYYMMDD ex>20150716 : ” date2#test whether or not have

  • std::ostringstream的用法

    std::ostringstream的用法原文:ostringstream的用法使用stringstream对象简化类型转换为什么要学习进入stringstream你的编译器支持吗?string到int的转换重复利用stringstream对象在类型转换中使用模板结论一些实例例子一:基本数据类型转换例子int转string例子二:除了基本类型的转换,也支持char*的转换。例子三:再进行多次转换的时候,必须调用stringstre…

  • 家庭服务器配置(云服务器解决方案)

    家庭服务器解决方案——硬件篇2021-07-1622:41:5829点赞193收藏36评论关于服务器我一直有个设想:未来每个人都有一个专属服务器。这个服务器是每个人在互联网的数据中枢。这个服务器:安全,只有所有者拥有管理权限;强大,可以存储数据并保护隐私。当人离开世界时,可以选择把一些数据留给家人,也可以选择把自己在互联网的记忆全部抹去……当然现在并没有我设想的那种服务器,所以不如聊聊更实际的家…

  • C#窗口句柄

    C#窗口句柄在Windows中,句柄是一个系统内部数据结构的引用。例如当你操作一个窗口,或说是一个Delphi窗体时,系统会给你一个该窗口的句柄,系统会通知你:你正在操作142号窗口,就此你的应用程序就能要求系统对142号窗口进行操作——移动窗口、改变窗口大小、把窗口极小化为图标等。实际上许多WindowsAPI函数把句柄作为它的第一个参数,如GDI(图形设备接口)句柄、菜单句柄、实例句柄、位图句柄等,不仅仅局限于窗口函数。换句话说,句柄是一种内部代码,通过它能引用受系统控制的特殊元素,如窗口、位图、图标、内存块、

  • cache与虚拟存储的异同点_多级cache

    cache与虚拟存储的异同点_多级cache1. cache是指(高速缓冲存储器)。2.计算机系统的三级存储器结构指的是(高速缓冲存储器)、(主存储器)、(辅助存储器)3. 在多级存储体系中,cache的主要功能是(提高存储速度),虚拟存储器的主要功能是(扩大存储容量)。4. 计算机系统对存储器的要求是(容量大)、(速度快)、(成本低)。为了解决这三个方面的矛盾,计算机采用多级存储器体系结构

  • c++stl基础及应用_stl详解

    c++stl基础及应用_stl详解一、c++STL常用内容总结文章目录一、c++STL常用内容总结1.vector(数组)1.1介绍1.2方法函数1.3注意点1.3.a排序1.3.b访问2.stack(栈)2.1介绍2.2方法函数2.3注意点2.3.a.栈遍历2.3.b.模拟栈3.queue(队列)3.1介绍3.2方法函数4.deque(双端队列)4.1介绍4.2方法函数4.3注意点5.priority_queue(优先队列)5.1介绍5.2函数方法5.3设置优先级5.3.a基本数据类型的优先级5

    2022年10月15日

发表回复

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

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