等价类划分法+边界值法

article/2025/10/28 10:42:17

一、测试用例(案例)

1.1 定义:

​ 是在测试执行之前,由测试人员编写的指导测试过程的重要文档,主要包括:用例编号测试目的测试步骤(用例描述)预期结果

1.2 介绍编写测试用例的7种方法:

  • 等价类划分法(*****)

  • 边界值法(*****)

  • 因果图法

  • 判定表法

  • 正交排列法

  • 测试大纲法

  • 场景法(*****)

提示:至少要掌握每种方法的适用场合(用在哪)和使用步骤(怎么用)

1.3 编写测试用例可以参考什么?

  • 需求文档

  • 被测系统(已开发出来的被测系统)

    • 提示:一边对照程序,一边编写用例。很多企业都是这样测试,如果只对照需求文档可能只能完成测试设计的30-40%。
  • 开发(设计)文档(有可能拿不到,比如测试和开发不是同一家公司,就不一定提供设计文档)

  • 与开发、产品、客户等进行沟通

二、等价类划分法

2.1 应用场合

有数据输入的地方,可以使用等价类划分法。从大量数据中挑选少量代表数据进行测试

2.2 测试思想

  • 穷举测试:把所有可能的数据全部测试一遍叫穷举测试。

    • 穷举测试是最全面的测试,但是在实际工作中不能采用,因为测试效率太低(数据量巨大,根本测不过来)
  • 理想的测试思想:使用最少的测试数据,达到最好的测试质量(最高性价比)

  • 因为毕竟没有做穷举测试,所以会有遗漏缺陷的风险,提示大家:如果时间允许,尽可能的做补充测试(不用纠结,觉得有风险的有问题的补充测就好)

2.3 等价类划分法的测试思想:

从大量数据里划分范围(每个范围内的数据测试效果是等价的所以每个范围是一个等价类),然后从每个范围中挑选代表数据,这些代表数据能反应这个范围内数据的测试结果。

2.4 基本概念

  • 有效等价类:对程序来说,有意义的、合理的输入数据集合—用来测试功能是否正确实现
  • 无效等价类:对程序来说,无意义的、不合理的输入数据集合—用来测试程序是否有强大的异常处理能力(健壮性)

软件的两个基本要素:

  • 功能正确实现
  • 强大的异常处理能力

2.5 等价类划分法的实现步骤:

2.5.1 案例 被测程序:加法器,被测对象:

  • 第一个数文本框

  • 第二个数文本框

适合初学者的测试思路:

先测第一个数,此时第二个数填写正确数据配合

第一个数测试完成后,测第二个数,此时第一个数填写正确数据配合

  • 步骤1:分析需求,根据需求划分等价类(初步划分,后续再细化)

    • 需求:要求-99—99之间的整数,不能为空(必填)
      • 有效等价类:-99—99之间的整数
      • 无效等价类: < -99 的整数 >99的整数 ;非整数(需要细化); 为空(不填)
  • 步骤2:细化等价类

    • 细化等价类依据的不再是字面上的需求而是根据数据在内存或数据库中存储的类型

    • 有效等价类:-99—99之间的整数

      • 整数的存储在计算机底层中会使用不同的算法:正整数和负整数算法不同,所以—测试时正整数和负整数应该分开来测。(提示:一般对有效等价类数据应用,无效等价类数据一般不需要正、负分别测)

      • 所以将有效等价类细分为:

        • -99–(-1)负整数
        • 0—99 正整数
    • 无效等价类:

      • 非整数:小数、字符(汉字、字母、特殊字符)
        • 最终细分成:小数、字母、汉字、特殊字符
    • <-99 >99的整数

      • 不添加
    • 将等价类划分结果填入《等价类表》

  • 步骤3:编写测试用例

    • 从每个等价类范围中挑选至少一个代表数据进行测试

测试用例最简单的标准:让其他测试人员按照你写的测试步骤执行,如果能够执行出来才可以。

测试用例是要评审的:互评互审,测试组开评审会、有用户参加的评审会。

三、边界值法

说明:因为开发中数据范围的边界是最容易产生bug的地方,所以为了保证测试质量,就需要重点测试边界,就有了边界值这样的测试方法。

3.1 应用场合

有数据输入的地方,一般可以使用边界值法。边界值法往往跟等价类划分法一起使用,从而形成一套较为完善的测试方案。

  • 提示:个别情况下,等价类和边界值也不需要一起用。例如:性别 —
    • 有效等价类:男、女
    • 无效等价类:男、女以外的其他字符

此时就不需要使用边界值法

3.2 如何使用

  • 边界值点:有效等价类和无效等价类之间的分界点。(最大值、最小值)

  • 次边界值点:边界值左右两边相邻的点是次边界值点。(4个次边界)

    • 有效最小次边界
    • 无效最小次边界
    • 有效最大次边界
    • 无效最大次边界
  • 扩展:常见问题

    • 边界值法应用时,如果测试时间紧张,应该优先测试哪些点?
    • 优先测试最大值和最小值
    • 需求文档中是否边界值都是需求明确的
    • 有时候需求文档中并没有对所有边界都能明确说明,可能会在后期逐步明确
    • 针对边界值法的解释说明:
      • 边界值数据本质上是属于某个等价类的范围,测试时确实是一种冗余(重复),但是为了更好的测试质量(边界值特别容易出bug),边界值必须要单独测,适当必要的冗余是可以接受的。(边界值法是等价类划分法的重要补充,配合使用测试质量才能得到保证)

3.3 练习:

1) 年龄: 18-60岁之间的整数 ,分析边界值 (18,60;17,61;19,59)

2) 工资:1000.00—30000.00,小数点后最多两位,分析边界值

重点提示:

  • 小数的边界值法测试时要考虑两个部分:
    • 小数的数据范围的边界值要分析
    • 小数的位数的边界值也要分析

例如当前案例:除了1000-30000 的边界值要分析外,小数位数最多两位:那么:

  • 小数点后2位(最大值)

  • 小数点后1位(有效最大次边界值)

  • 小数点后3位(无效最大次边界值)

四、等价类划分法+边界值法的综合使用

4.1 案例:

上机练习1—信息注册 (分析结果见excel)

姓名:1–20个字符,不能包含数字,不能为空

有效等价类:

无效等价类:

边界值:

年龄:18–60之间的整数,不能为空

有效等价类:

无效等价类:

边界值:

4.2 存在的问题

1、在测试有效等价类时,当测试对象为多个控件时,会出现测试用例冗余(重复)的问题。–优化用例可以解决

2、当测试无效等价类时,没有考虑多个控件都为无效的情况—强化用例解决

4.3 步骤

  • 步骤1:分析需求,分别将姓名和年龄控件的等价类和边界值进行分析,填入《数据分析表》
  • 步骤2:根据数据分析结果,形成测试方案,编写测试用例。

1、有效数据(有效等价类+有效边界值)

  • 问题产生:如果单个控件的有效数据单独测试,会产生**用例冗余(重复)**的问题

  • 如何解决—优化用例

    • 就是一条用例中尽可能多的将多个控件的1个有效数据组合起来测试(简单来说:就是多个控件的有效数据组合起来测)
  • 效果:用例数减少,测试质量不变,测试效率提高

2、无效数据(无效等价类+无效边界)

  • 首先:要每个控件的无效数据单独测试(1条用例只测1个控件的1个无效数据),不能开始就无效数据组合,为了避免“屏蔽现象”。“屏蔽现象”—前面控件的错误提示出现后,后面控件的错误提示就不弹出了

  • 最后:适当的做强化测试

    • 1)多个控件的无效数据组合测试(就是多个控件都是错误数据的情况,例如:姓名,年龄都为空)
    • 2)1个控件将多个无效数据组合起来测试(例如:年龄既超范围又是小数又有汉字又有符号 ,95.5(岁))
  • 提示:无效数据的组合强化测试,适当去做即可(可以根据时间调整),不需要所有无效数据组合都测。常常测试:1)经常使用的组合(例如:都为空)2)在使用中容易出错的组合(例如:54.5岁)

  • 扩展:小数类型,等价类+边界值测试时的注意事项:

    • 1) 有效等价类:除了有效的小数外,有效的整数也需要测(小数中默认包含了整数,除非需求中明确的说:小数中不包含整数)

    • 2) 无效等价类:

      • A) 小数类型—非小数(非数):字母、汉字、特殊字符
      • B)小数位数—超出小数的有效位数(例如:最多两位,那么>2位就是无效等价类)
    • 3)边界值

    • A)小数的次边界与边界之间的相差单位是与精确度相关的,例如:精确到小数点后2位,那么相差单位就是0.01。例如:最小值是:1.00那么次边界就是 0.99 和1.01

    • B)要考虑小数位数的边界问题。例如:小数位数最大值:小数点后2位;那么次边界是:小数点后1位和小数点后3位

五、面试题:

填写身份证号(必填项),使用等价类划分法分析。写出分析结果。

1) 讨论需求:18位的字符串,18位每一位都是0-9的数字,前17位是0-9数字,最后1位可以是X,不能为空

2) 按需求分析,填表

六、总结

  • 有效等价类:比较容易找,一般在需求中可以直接找到。数量较少。所以有效等价类测试也称为正向测试或者通过测试

  • 无效等价类:一般数量较多,也被称为“反向测试”或“失败测试”

    • 无效等价类的考虑因素:
      • 说明:
        • 不能为空:为空
        • 不能重复:重复
        • 不能包含XX**:包含**XX
      • 类型
        • 整数:非整数(小数,字母,汉字,特殊字符)
        • 小数:非小数(非数:字母,汉字,特殊字符)
        • 字符:如果没有特殊说明不需要细分。字符包含(字母,数字0-9,特殊字符,汉字)
      • 范围–超出范围的情况
      • 数字范围:比最小值小,比最大值大
      • 字符串长度:不在正确的长度范围的就是无效的
  • 总结–测试用例

    • 测试用例的用途:

      • 版本的重复测试会很方便,可以快速正确的进行
      • 防止遗漏
      • 提高测试效率
      • 监督测试过程
      • 评估结果
      • 缩短测试周期:版本更新或者升级时,只需修改少部分的测试用例,可以资源复用
    • 编写用例的注意事项:

    • 在编写用例之前应该先确认好用例编号的命名规则,文档、附件的命名规则以及存储,提交的位置。

    • 测试用例编写完成是有评审过程的。互评互审、测试组评审、甲方的参加的评审会

    • 基本要求:

      • 1条用例先写好(标准:别人按照你写的测试步骤能够顺利执行)
      • 高标准的要求:能够分析,形成完善的测试思路(方案),实现更好的测试覆盖率和更少的缺陷遗漏

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

相关文章

什么是等价类划分法?

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; 基于…

汽车诊断UDS通信协议总结

UDS通信过程 UDS&#xff08;Unified Diagnostic Services&#xff09;是一种用于汽车诊断的通信协议&#xff0c;它是基于CAN&#xff08;Controller Area Network&#xff09;总线的一种高层协议。 下面是UDS通信的基本流程&#xff1a; 建立诊断会话&#xff1a;通过CAN总…