等价类划分法的步骤和示例

等价类划分法设计用例(超详细) 等价类划分法 等价类: 1、解决了不能穷举测试的问题、控制成本、控制测试用例数量 2、数据值要明确,对文字敏感 3、依据需求将输入划分为若干个等价类,划分等价类(需求、数据特征) 等价类设计用例的难点:如何根据时间成本划分等价类 等价类分为:            1、有效等价类            2、无效等价类 如上图可以划分为:                  有效等价类1:[-99,99]                  无效等价类2:<-99                  无效等 阅读详情

1、等价类划分法的介绍和概念

划分
指互不相交的一组子集,这些子集的并是整个集合。

对测试的意义:完备性和无冗余性。

等价类
等价类是指某个输入域的子集合。在该子集合中,各个输入数据对于揭露程序中的错误都是等效的,具有等价特性。

等价类合理地假设
测试某等价类的代表值就等于对这一类其它值的测试。

等价类划分
等价类划分是一种典型的黑盒测试方法。

等价类测试方法是把所有可能的输入数据,即程序的输入域划分成若干部分,然后从每一部分中选取少数有代表性的数据作为测试用例。使用等价类划分方法设计测试用例要经历划分等价类(列出等价类表)和选取测试用例两步,它将不能穷举的测试过程进行合理分类,从而保证设计出来的测试用例具有完整性和代表性。

2、等价类的类型划分

等价类划分可有两种不同的情况:有效等价类和无效等价类。

有效等价类
是指对于程序的需求规格说明来说是合理的,有意义的输入数据构成的集合。

利用有效等价类可检验程序是否实现了规格说明中所规定的功能和性能(确认过程)。

无效等价类(与有效等价类的定义恰巧相反)
是指对于程序的需求规格说明来说是不合理的,无意义的输入数据构成的集合。

利用无效等价类可检验程序对于无效数据的异常处理能力(检验过程)。

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

3、等价类测试用例的类别

根据测试用例的完整性可以划分

弱等价类测试
弱一般等价类测试
弱健壮等价类测试
强等价类测试
强一般等价类测试
强健壮等价类测试
PS:健壮性测试

健壮性有两层含义:容错能力和恢复能力

容错性测试通常构造一些不合理的输入来引诱软件错误,例如
•输入错误的数据类型:如“猴”年“马”月
•输入定义域之外的数值
粗暴一些方式俗称“大猩猩”测试法。除了不能拳打脚踢嘴咬之外,什么招术都可以使出来。例如在测试客户机-服务器模式的软件时,把网线拔掉,造成通信异常中断。

恢复测试重点考察以下几项:
•系统能否重新运行;
•有无重要的数据丢失;
•是否毁坏了其他相关的软件硬件。

3.1弱一般等价类

遵循单缺陷原则,要求用例覆盖每一个变量的一种取值即可,取值为有效值。

image

3.2弱健壮等价类

在弱一般等价类的基础上,增加取值为无效值的情况。

对于有效输入,使用每个有效值类的一个值

对于无效输入,测试用例将拥有一个无效值,并保持其余的值是有效的。

image

3.3强一般等价类

遵循多缺陷原则,要求用例覆盖每个变量的每种取值之间的迪卡尔乘积,即所有变量所有取值的所有组合,取值为有效值

覆盖所有的等价类

有可能的输入组合中的一个

image

3.4强健壮等价类

在强一般等价类的基础上,增加取值为无效值的情况。

“健壮”考虑无效值,所有等价类都有考虑

“强”多缺陷假设
在这里插入图片描述

4、等价类划分的原则

4.1按照区间划分

在输入条件规定了取值范围或值的个数的情况下,则可以确立一个有效等价类和两个无效等价类。

例子:输入值是学生成绩,范围是0~100之间

image

有效等价类:0≤并≤100,如0,1,10等

无效等价类:<0 或 >100,如-1,101等

弱一般等价类:0~100中任意一个数为测试数据,只设计1个用例即可
强一般等价类:分为0、 1~99、 100三个等价类,需要设计3个用例
弱健壮等价类:考虑到60分在实际情况中为特殊数字,划分0、 1~99(除60外)、 100、 60四个等价类
强健壮等价类:考虑各种非法输入,如负数、其他字符等等

4.2按照数值划分

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

例子:输入条件说明输入学历为本科、硕士和博士3种之一

有效等价类:本科、硕士和博士其中一种

无效等价类:除要求的2种外其他字符,如小学、专科等

4.3按照数值集合划分

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

例子:密码输入框,要求密码必须是数字或字母

有效等价类:密码是数字和字母的组合(还可以细分)

无效等价类:密码包括中文、密码包括其他符号等

4.4按限制条件或规则划分

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

例子:校内电话号码拨外线为9开头

有效等价类:9+外线号码

无效等价类:非9开头+外线号码,9+非外线号码等

4.5细分等价类

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

例子:确定了等价类后,再列表形式列出所有划分出的等价类表

image

5、等价类划分法的测试用例应用

按照[输入条件][有效等价类][无效等价类] 建立等价类表,列出所有划分出的等价类
为每一个等价类规定一个唯一的编号。
设计一个新的测试用例,使其尽可能多地覆盖尚未被覆盖地有效等价类,重复这一步,直到所有的有效等价类都被覆盖为止。
设计一个新的测试用例,使其仅覆盖一个尚未被覆盖的无效等价类,重复这一步,直到所有的无效等价类都被覆盖为止。

6、等价类划分法的实例分析

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

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

(1)整数 (2)三个数 (3)非零数 (4)正数
(5)两边之和大于第三边 (6)等腰 (7)等边
如果 a 、 b 、 c 满足条件( 1 ) ~ ( 4 ),则输出下列四种情况之一:
1)如果不满足条件(5),则程序输出为 " 非三角形 " 。
2)如果三条边相等即满足条件(7),则程序输出为 " 等边三角形 " 。
3)如果只有两条边相等、即满足条件(6),则程序输出为 " 等腰三角形 " 。
4)如果三条边都不相等,则程序输出为 " 一般三角形 " 。

请各位列出等价类表并编号

image

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

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)

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

image

等价类划分法-案例剖析-设计测试用例 目录 等价类划分法概念 有效等价类和无效等价类 等价类设计测试用例步骤 案例1 案例2 案例3 等价类划分法概念 等价类划分法是把所有可能的输入数据,即程序的输入数据集合划分成若干个子集即等价类,然后从每个等价类中选取少量具有代表性的数据作为测试用例。 有效等价类和无效等价类 有效等价类:只完全满足产品规则说明的输入数据,即有效的、有意义的输入数据的集合。 利用有效等价类可以检验程序是否满足规则说明所规定的功能性要求。 无效等价类:不满足程序输入要求或者无效的... 阅读详情

相关推荐

等价类划分法

一、什么是等价类划分法 1、等价类划分法是一种重要的、常用的黑盒测试方法,它将不能穷举的测试过程进行合理分类,从而保证设计出来的测试用例具有完整性和代表性。 2、等价类划分法是把所有可能的输入数据,即程序的输入划分成若干部分(子集),然后从每一个子集中选取少量具有代表性的数据作为测试用例。 3、原因:不可能实现穷举测试,可以从大量的可能数据中选取一部分具有代表性的数据作为测试用例。 效果:...

1、测试博主技术知识分享 2、pos行业知识技术分享 3、java后端技术知识分享 4、嵌入式技术知识分享 5、运维部署相关知识分享 8万+

软件测试方法之等价类测试

在编写用例之前应该先确认好用例编号的命名规则,文档、附件的命名规则以及存储,提交的位置。 测试用例编写完成是有评审过程的。互评互审、测试组评审、甲方的参加的评审会。 基本要求:用例先写好(标准:别人按照你写的测试步骤能够顺利执行) 高标准的要求:能够分析,形成完善的测试思路(方案),实现更好的测试覆盖率和更少的缺陷遗漏。

伤心的辣条 5799

等价类划分法——一种黑盒测试方法

等价类划分法是一种常用的黑盒测试方法,用于有效地划分测试输入和输出的等价类,从而提高测试的效率和覆盖率。等价类划分法是一种有效的黑盒测试方法,通过将输入和输出划分为不同的等价类,并选择代表性的测试用例来覆盖每个等价类,可以提高测试的效率和覆盖率。等价类划分法基于以下原理:在一个等价类中,如果一个测试用例能够发现该等价类中的一个错误,那么该错误很可能存在于该等价类中的其他测试用例中。在上述示例中,我们根据输入和输出的等价类选择了代表性的测试用例,并使用这些测试用例执行了函数的测试。

FycPerformance的博客 247

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

目录: ①等价类划分法的介绍和概念 ②等价类的类型划分 ③等价类测试用例的类别 ④等价类划分的原则 ⑤等价类划分法的测试用例应用 ⑥边界值分析法的实例分析 1、等价类划分法的介绍和概念 划分 指互不相交的一组子集,这些子集的并是整个集合。 对测试的意义:完备性和无冗余性。 等价类 等价类是指某个输入域的子集合。在该子集合中,各个输入数据对于揭露程序...

aew95547的博客 3382

别再让地图加载慢吞吞!GeoServer + GeoWebCache 缓存配置实战(附性能对比)

本文详细介绍了如何通过GeoServer和GeoWebCache优化地图服务性能,实现地图加载速度的显著提升。从缓存机制解析到实战配置流程,再到高级性能调优技巧,帮助开发者构建高效地图缓存系统,解决地图加载慢的问题。

weixin_42525369的博客 406

Simscape Multiboby学习笔记1——跟着官网学Multibody

文章目录一. 引言二. Simscape Multibody自学之路三. 本教程的目录 一. 引言 最近在倒腾Matlab的动力学仿真,起因是看到有人推荐Matlab的multbody模块,一经了解之下简直惊为天人。作为一名Matlab的小粉,看到这么好用的模块简直不要太开心,之前用simulink搭飞行器的仿真模型,虽然能够仿真看到六自由度位移,毕竟不能可视化,还是很不够直观,而且simulink仿真(以及更费力的脚本文件仿真)需要精确建模,模型不精确计算也是天差地别。而Multibody在具备其他动力学

qq_30267617的博客 8241

软件测试 等价类划分法

等价类划分法 概念:通过科学的方法找到具有共同特性的测试输入的自己,能够从穷举测试中解放(大大减少了测试用例的数量,从而提高测试效率) 分类 有效等价类 无效等价类 设计测试用例的步骤 需求分析 划分等价类(有效,无效) 设计用例 典型应用场景 ...

m0_46442882的博客 1816

VMware vCenter 6.7证书过期急救指南:从503报错到完美修复的全流程

本文详细解析了VMware vCenter 6.7因STS证书过期导致503报错的根本原因,并提供了一套从诊断到修复的完整实战流程。内容包括使用checksts.py脚本检测STS证书状态,通过fixsts.sh脚本更新证书,以及利用Certificate-Manager全面重置所有过期证书,帮助管理员快速恢复服务并避免常见陷阱。

weixin_29234239的博客 770

黑盒测试用例设计方法之等价类划分法

有效等价类和无效等价类都是使用等价类划分法设计用例时所必须的,因为被测程序若是正确的,就应该既能接受有效的输入,也能接受无效输入的考验。如输入值必须是数字类型的字符,则可确定一个有效等价类,及输入值为数字类型的字符,和多个无效等价类,即输入值为字母、为专用字符(如+、*、@等)以及为非打印字符(如回车、空格等)。6.在确知已划分的等价类中各元素在程序处理中的方式不同的情况下,则应再将该等价类进一步的划分为更小的等价类。划分等价类之后,应建立等价类表,列出与每一个输入条件对应的有效等价类和无效等价类。

2301_79535618的博客 472

【知识分享】单端到混合S参数转换指南

信号完整性(SI)工程师几乎总是必须使用S参数,因为许多的高速接口和行业标准都正在转向串行链路架构,并使用基于S参数测量的频域限制指标,了解其工作过程将会很有意义。

一只豌豆象的博客 1578

Mastercam软件二次开发:使用C#进行Mastercam二次开发

C#(发音为“C Sharp”)是一种现代、面向对象的编程语言,由微软开发,首次发布于2000年。它结合了C和C++的强大功能,同时引入了Java的垃圾回收机制,使得C#在开发效率和运行性能之间找到了一个良好的平衡点。C#的设计目标是提高开发者的生产力,它支持多种编程范式,包括面向对象、泛型、委托和事件等,这使得它成为开发Windows应用程序、Web应用程序、游戏(尤其是使用Unity引擎)和企业级应用的理想选择。

kkchenjj的博客 2214

测开学习笔记——等价类划分法

等价类划分法

wahaha51的博客 436

【面试系列】软件架构师 高频面试题及详细解答

本文介绍了软件架构师岗位的初级、中级和高级面试题及详细解答,涵盖了系统设计、面向对象设计、分布式系统、云计算技术、性能优化等关键领域。通过这些问题和解答,候选人可以深入理解软件架构师的核心职责和技能要求。此外,文章总结了在面试中需要掌握的常考知识点,包括架构模式、分布式系统管理、安全性、数据管理和DevOps实践。通过掌握这些知识点,软件架构师能够有效设计和指导复杂系统的结构,确保系统的可扩展性、性能和维护性。

在路上的专栏 850

技术分享 | 黑盒测试方法论—等价类

等价类划分是一种重要的、常用的黑盒测试方法,不需要考虑程序的内部结构,只需要考虑程序的输入规格。它将不能穷举的测试过程进行合理分类,从而保证设计出来的测试用例具有完整性和代表性。需要把用户所有可能输入的数据,划分成若干份(若干个子集),然后从每一个子集当中选取少数具有代表性的数据作为测试用例,这种方法被称为——等价类划分法。在有限的测试资源的情况下,用少量有代表性的数据得到比较好的测试效果。

软件测试技术交流分享 185

CloudCompare 二次开发:插件中的 PCL 环境配置与编程

在进行 CloudCompare 的二次开发过程中,我们常常需要使用点云库(Point Cloud Library,简称 PCL)来处理和分析点云数据。在 CloudCompare 的界面中,选中一个点云对象,然后点击菜单栏中的 “插件” -> “MyPluginAction”。插件将对选中的点云对象进行体素滤波处理,并更新显示结果。下面我们将展示一个简单的插件编程示例,该示例使用 PCL 对输入的点云数据进行体素滤波处理。方法进行体素滤波处理,并将结果点云赋值给选中的点云对象。文件并点击 “打开”。

2301_79331387的博客 283

PyTorch深度学习实战(47)——使用PyTorch构建Transformer模型

相较于传统模型,如循环神经网络 (RNN),Transformer 的优势在于能够理解输入和输出序列中元素之间的关系,在大语言模型 (如 ChatGPT 和 DeepSeek) 的发展中起到了关键作用,为了从零开始构建 Transformer,首先探讨自注意力机制,包括查询 (query)、键 (key) 和值 (value) 向量,以及缩放点积注意力 (SDPA)。将层归一化和残差连接集成到多头注意力层中,并与前馈层结合,构建编码器层,堆叠编码器层构建编码器,还将实现 Transformer 中的解码器。

盼小辉丶的博客 3万+

软件测试基础知识整理(六)- 测试用例、等价类划分法、边界值分析法、判定表法

假设测试一个登录界面的用户名合法性,对于用户名的要求是长度须在4-10个字符之间,由数字和字母组成,且至少含有一个字母和一个数字。等价类划分法用于将输入条件划分为不同的等价类,以选择代表性的测试用例进行。基本思想是假设每个输入的等价类具有相同的行为和结果。测试用例(Test Case)是为了特定的目的而设计的一组测试输入、执行条件和预期结果的文档。边界值分析法,用于确定输入的边界条件,并选择测试用例以覆盖这些边界条件。订单的检测,如果金额大于500元,又未过期,则发出批准单和提货单;对测试用例的简单描述。

JHY97的博客 2937

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

软件测试方法 -- 等价类边界值

测试用例是为了特定的目的而设计的一组测试输入、执行条件和预期的结果,以便测试是否满足某个特定需求。通过大量的测试用例来检验软件的运行效果,他是指导测试工作进行的依据。定义:等价类划分是一种重要的、常用的黑盒测试方法,不需要考虑程序的内部结构,只需要考虑程序的输入规格即可。它将不能穷举的测试过程进行合理分类,从而保证测试用例具有完整性和代表性有效等价类验证系统功能,无效等价类验证错误处理能力作用:在有限的测试资源的情况下,用少量有代表的数据得到比较好的测试效果。缺陷:边界值的动态性。

2301_81967703的博客 1339

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

测开学习笔记——软件测试(等价类划分法、边界值分析法、场景法、错误推测法、因果图、判定表、正交实验法)

测开学习笔记——等价类划分法、边界值分析法、场景法、错误推测法、因果图、判定表、正交实验法

wahaha51的博客 1712

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

【软件工程】软件测试方法--黑盒测试

黑盒测试的每种测试方法都有各自的优缺点,需要测试人员根据实际项目特点和需要选择合适的方法设计测试用例。在任何情况下都必须选择边界值分析方法。经验表明用这种方法设计出的测试用例发现程序错误的能力最强;必要时用等价类划分法补充一些测试用例;用错误推测法再追加一些测试用例;如果程序的功能说明中含有输入条件的组合情况,则可选用因果图法和决策表法。

weixin_44715777的博客 3180

测试用例设计方法

文章目录测试用例测试用例两个重要原则测试用例八要素不同测试用例设计方法使用范围等价类划分法边界值边界值编写测试用例步骤判定表法判定表法设计用例步骤因果图法因果图法基本步骤正交法场景法 测试用例 作用 为特定的目的地而设计的一组测试输入,执行条件和预期结果的文档 测试用例两个重要原则 能看懂 能执行 测试用例八要素 用例编号、用例标题、测试项目(所属项目)、用例级别(用例的重要性)、预置条件、测试输入、执行步骤、预期结果 示例 测试加法 不同测试用例设计方法使用范围 等价类:功能有输入,输入无组合

shengnan970116的博客 4471

带你轻松入门软件测试之测试用例

一、测试用例的基本要素上一篇讲述的是一次基本的测试过程。在我们开始做了一段时间基础测试,熟悉了业务之后,往往会 分配来写,并且在日常测试中,有时也需要补充测试用例到现有的案例库中。一、测试用例的基本要素编写测试用例的8大要素有:用例编号,所属模块,测试标题,重要级别,前置条件,测试输入,操作步骤,预期结果。以及编写测试用例时的注意事项。二、测试用例的设计方法。

weixin_72703349的博客 782

测试环境使用问题及其优化对策实践

以此类推,获取所有的有效和无效等价类。本系列文章对经典的测试用例设计方法逐个进行剖析,并深入到日常工作的实际需求中,结合具体场景进行实战演练,并分别对各类方法的适用场景进行归纳梳理,形成可复用系统模板,帮助大家快速熟悉常用测试用例设计方法,提升测试人员专业度及工作效率,从而提升交付质量。优点通过把输入数据和输出数据进行分类,选用分类中的代表值,在保证了测试覆盖的情况下大大减少了测试用例的数量,使测试工作变得简单高效大量的程序错误发生在输入的边界上,考虑了边界值的测试用例能更高效发现程序中的错误和缺陷。

OKC_0_Westbrook的博客 1133

软件测试 -- 功能测试--测试用例设计(方法)

具有输入功能,但输入之间没有组合关系==》【等价类】- 输入有边界 如长度、类型==》【边界值】- 多输入、多输出、输入与输入之间存在组合关系、输入与输出之间存在依赖或制约- 关系==》【判定表、因果图】- 用最少的测试用例获得最大测试覆盖率时 ==》【正交法】- 多个功能的组合测试 ==> 【场景法、流程图】- 最后推荐使用【错误推测法】来进一步补充测试用例行动吧,在路上总比一直观望的要好,未来的你肯定会感 谢现在拼搏的自己!如果想学习提升找不到资料,没人答疑解惑时,

百晓生说测试的博客 1877

测试工程师热门面试题(一)

等价类划分法是将所有可能的输入数据划分成若干部分(子集),然后从每一个子集中选取少量具有代表性的数据作为测试用例。有效等价类是指对于程序的规格说明来说是合理的、有意义的输入数据构成的集合;无效等价类则是指对程序的规格说明是不合理的或无意义的输入数据所构成的集合。

Chujun123528的博客 1064

编写测试用例的方法

在编写测试用例的过程中,我们也有许多编写方法,下面是一部分总结: 1、等价类划分法 顾名思义,等价类划分法就是将所有测试用例划分为几个互不相交的子集,他们的并集就是全集,再从每个子集中选取若干具有代表性的值作为测试用例。 概念: 依据需求将输入(特殊情况下会考虑输出)划分成若干个等价类,从等价类中选出一个测试用例,如果这个测试用例通过,则认为所代表的等价类测试通过 思想: ...

everthing willl be ok 7836
上一篇: 等价类划分法
下一篇: E-R图的简介和画法
Hell_potato777
博客等级 码龄6年 47粉丝 106原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值