软件测试培训:等价类划分法概述

article/2025/10/28 10:25:29

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

  一个程序可以有多个输入,等价类划分就是将这些数据按照输入需求进行分类,将它们划分为若干个子集,这些子集即为等价类,在每个等价类中选择有代表性的数据设计测试用例。这种方法类似于学生站队,男生站左边,女生站右边,老师站中间,这样就把师生群体划分成了3个等价类。

  使用等价类划分法测试程序需要经过划分等价类和设计测试用例2个步骤,具体介绍如下。

  1.划分等价类

  等价类可分为有效等价类与无效等价类,其含义如下所示。

  (1)有效等价类:有效等价类就是有效值的集合,它们是符合程序要求、合理且有意义的输入数据。

  (2)无效等价类:无效等价类就是无效值的集合,它们是不符合程序要求、不合理或无意义的输入数据。

  了解了有效等价类与无效等价类,那么如何划分等价类呢?一般在划分等价类时需要遵守以下原则。

 

  (1)如果程序要求输入值是一个有限区间的值,则可以将输入数据划分为1个有效等价类和2个无效等价类,有效等价类为指定的取值区间,两个无效等价类分别为有限区间两边的值。例如,某程序要求输入值x的范围为[1,100],则有效等价类为1≤x≤100,无效等价类为x<1和x>100。

  (2)如果程序要求输入的值是一个“必须成立”的情况,则可以将输入数据划分为1个有效等价类和1个无效等价类。例如,某程序要求密码正确,则正确的密码为有效等价类,错误的密码为无效等价类。

  (3)如果程序要求输入数据是一组可能的值,或者要求输入值必须符合某个条件,则可以将输入数据划分为1个有效等价类和1个无效等价类。例如,某程序要求输入数据必须是以数字开头的字符串,则以数字开头的字符串是有效等价类,不是以数字开头的字符串是无效等价类。

  (4)如果在某一个等价类中,每个输入数据在程序中的处理方式都不相同,则应将该等价类划分成更小的等价类,并建立等价表。

  同一个等价类中的数据发现程序缺陷的能力是相同的,如果使用等价类中的一个数据不能捕获缺陷,那么使用等价类中的其他数据也不能捕获缺陷;同样,如果等价类中的一个数据能够捕获缺陷,那么该等价类中的其他数据也能捕获缺陷,即等价类中的所有输入数据都是等效的。

  正确地划分等价类可以极大地降低测试用例的数量,测试会更准确有效。划分等价类时不但要考虑有效等价类,还要考虑无效等价类,对于等价类要认真分析、审查划分,过于粗略的划分可能会漏掉软件缺陷,如果错误地将两个不同的等价类当作一个等价类,则会遗漏测试情况。例如,某程序要求输入取值范围在1~100之间的整数,若一个测试用例输入了数据0.6,则在测试中很可能只检测出非整数错误,而检测不出取值范围的错误。

  2.设计测试用例

  确立了等价类之后,需要建立等价类表列出所有划分出的等价类,用以设计测试用例。基于等价类划分法的测试用例设计步骤如下所示。

  (1)确定测试对象,保证非测试对象的正确性。

  (2)为每个等价类规定一个唯一编号。

  (3)设计有效等价类的测试用例,使其尽可能多地覆盖尚未被覆盖的有效等价类,直到测试用例覆盖了所有的有效等价类。

  (4)设计无效等价类的测试用例,使其覆盖所有的无效等价类。


http://chatgpt.dhexx.cn/article/tN1Aygst.shtml

相关文章

等价类划分法+边界值法

一、测试用例&#xff08;案例&#xff09; 1.1 定义&#xff1a; ​ 是在测试执行之前&#xff0c;由测试人员编写的指导测试过程的重要文档&#xff0c;主要包括&#xff1a;用例编号、测试目的、测试步骤&#xff08;用例描述&#xff09;&#xff0c;预期结果 1.2 介绍编…

什么是等价类划分法?

1.等价类划分法&#xff1f; 等价类划分是把所有可能输入的数据分为若干个区域&#xff0c;然后从每个区域中取少量有代表性的数据进行测试即可。 等价类 &#xff1a;何为等价类&#xff0c;某个输入域的集合&#xff0c;在这个集合中每个输入条件都是等效的。 2.分类 一般…

等价类划分法实验

一、使用等价类划分法分析三角形问题 要求一&#xff1a;需包含有效等价类及无效等价类划分表格 以及 测试用例表格 要求二&#xff1a;代码实现 实现 方式一&#xff1a;设计 三个输入框 一个判断按钮 点击按钮后显示结果 实现方式二&#xff1a;Java控制台进行测试判断【本实…

解决typora beta版本过期提示

现在beta版的typora打开都会有这个弹窗提示&#xff0c;想要把弹窗提示解决其实很简单&#xff0c;只要按照下面这个办法解决就可以了。 winr打开运行窗口&#xff0c;输入regedit&#xff0c;点确定打开注册表&#xff0c;依次展开计算机\HKEY_CURRENT_USER\SOFTWARE\Typora&…

Beta版本发布说明

2 Beta版本发布说明 2.1 列出这一版本的功能 Beta版本基于Alpha版本&#xff08;实现博主登录、发布博文、设置博客、搜索博文、点击标签显示相应博文、点击分类显示相应博文、留言功能&#xff09;上&#xff0c;主要新增以下几个功能&#xff1a; Message页面的信息推送功能、…

Elasticsearch5.0 beta版本安装错误

转载请注明出处&#xff1a;http://blog.csdn.net/gamer_gyt 博主微博&#xff1a;http://weibo.com/234654758 Github&#xff1a;https://github.com/thinkgamer 写在前边的话 elasticsearch的alpha版本早已经在github上了&#xff0c;但是beta版本却是最近才正式发布&#…

【AIGC】Photoshop AI Beta版本安装使用(永久免费)

AIGC 大爆发 Adobe近日宣布&#xff0c;Photoshop&#xff08;测试版&#xff09;应用程序发布了生成式AI绘图&#xff0c;这是世界上第一个创意和设计工作流程的副驾驶&#xff0c;为用户提供了一种神奇的新工作方式。生成式AI绘图由Adobe Firefly提供支持&#xff0c;Adobe的…

Beta版本软件使用说明

北京航空航天大学计算机学院 远航1617 小组 产品版本&#xff1a; Beta版本 产品名称&#xff1a;Crawling is going on 文档作者&#xff1a;杨帆 文档日期&#xff1a;2013/12/24 1. 引言 1.1 编写目的 编写本使用说明的目的是充分叙述本软件所能实现的功能及其…

Beta版本测试报告以及Beta版本发布说明

Beta版本测试报告 请根据团队项目中软件的需求文档、功能说明、系统设计和Beta阶段的计划安排&#xff0c;写出软件的测试过程和测试结果&#xff0c;并回答下述问题。 在测试过程中总共发现了多少bug&#xff1f;每个类别的bug分别为多少个&#xff1f;bug的分类&#xff1a; …

Beta版本测试报告

新发现的问题&战略调整&#xff1a; 这里的问题主要包含两种&#xff1a; 优化问题和不影响整体使用的bug&#xff0c;主要针对即时聊天以及UI交互部分&#xff1b;我们安排六位同学两两组队&#xff0c;在一周时间内分别对产品进行覆盖性的体验测试&#xff0c;提出了以…

微软发布 Windows 11 首个 Beta 版本

近日&#xff0c;微软向开发频道发布了 Windows 11 Insider Preview Build 22000.100&#xff0c;在没有发现重大问题之后&#xff0c;微软现在又向更稳定的 Beta 频道发布了同样的版本&#xff0c;这也是 Windows 11 首个 Beta 频道的预览版。微软建议那些想尝试 Windows 11 版…

软件版本号讲解:什么是Alpha, Beta, RC,Release

1. 软件版本阶段说明 Alpha版: 此版本表示该软件在此阶段主要是以实现软件功能为主&#xff0c;通常只在软件开发者内部交流&#xff0c;一般而言&#xff0c;该版本软件的Bug较多&#xff0c;需要继续修改。Beta版: 该版本相对于α版已有了很大的改进&#xff0c;消除了严重的…

WhiteHole Base beta版本正式发布!

体验 当前版本为基础测试版本&#xff0c;测试效果可以前往演示视频查看&#xff1a;https://www.bilibili.com/video/BV18Y411D7sA/?spm_id_from333.999.0.0&vd_source641e71dfd1a118fb834c4a5d156688d5 在线体验地址为&#xff1a; http://47.100.239.95 数据将保存~ …

版本详解:Beta、Dev、Canary、Stable、Chromium等版本

以Edge浏览器为例&#xff0c;各个版本有着不同的区别&#xff0c;或者说各个版本是测试版&#xff1a; 以Edge浏览器来说&#xff1a; Canary(金丝雀)版本浏览器&#xff0c;命名金丝雀&#xff0c;以为着“版本金贵且易碎”&#xff0c;这意味着该版本会融入很多新功能或者说…

UDS学习笔记(三)——协议的理解

在理解了CAN总线之后&#xff0c;我们就需要学习UDS协议了。百度一下UDS协议&#xff0c;出现很多的两个标准是ISO14229&#xff0c;ISO15765。ISO14229就是我们说的UDS诊断协议了&#xff0c;那还有一个ISO15765又是什么呢&#xff1f;这么多的标准要把脑袋都搞大了。那我们就…

UDS协议中常见的NRC

UDS诊断协议中常见的NRC NRC&#xff1a;Negative Response Code&#xff0c;否定响应码

解读UDS协议中NRC以及NRC优先级

最近被新东方转型之举震撼,让自己震撼的不是销售业绩、不是俞敏洪再创业启航,震撼的是多读书是真的可以改变一个人的,多读的这些书不是应用工作的功利书,是能慰藉心灵的“闲书”。为使自己摆脱高知识低文化宿命,分享一段文字,开始今天的主题: “ 我当然很希望自己可以得…

【UDS】ISO15765-2之协议数据单元

文章目录 简介结构格式分类1.单帧SF2.首帧FF3.流控帧FC4.连续帧CF 总结 ->返回总目录<- 简介 网络层协议数据单元&#xff08;N_PDU&#xff0c;Network_Protocol Data Unit&#xff09;。可以理解成是一种规范协议。而汽车电子中通信的报文格式就是以PDU为传输单元&am…

聊聊诊断协议——UDS

文章目录 前言一、车载诊断功能是什么&#xff1f;二、诊断协议框架总结 前言 随着技术不断提高&#xff0c;驾驶员对车辆的要求也在不断提高&#xff0c;因此车身控制器的数量也在与日俱增。控制器实现的功能&#xff1a;安全功能&#xff08;防抱死系统等&#xff09;、驾驶…

UDS诊断基础——UDS网络层协议

汽车诊断简介 汽车诊断分类 按照连接方式分类可分为在线诊断、远程诊断&#xff1a; 在线诊断&#xff1a;诊断仪通过与汽车OBD(On Board Diagnostic)接口直接连接远程诊断&#xff1a;通过车载终端、云端服务、用户之间交互实现 按照通信方式分类可分为&#xff1a; 基于…