IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 开发测试 -> 等价类划分法 -> 正文阅读

[开发测试]等价类划分法

测试一个两位数的加法计算器

测试需求:

  • 测试两个参数的值相加后的结果是否正确
  • 其中:输入的数值在-99到99之间大于99或小于-99的输入应被拒绝,并显示错误信息

开始测试

  • 根据测试需求,我们开始测试
  • 分别给第一个参数和第二个参数输入表中的值,得到的测试结果如表所示:

  • 很明显,如果我们对第一个参数的值分别取从-99到99的199个数,第二个参数的值分别取从-99到99的199个数,我们不可能对两位数相加的所有情况进行穷举测试。

解决方法:

等价类划分法

  • 等价类划分的办法就是把程序的输入域划分成若干部分
  • 然后从每个部分中选取少数代表性数据当作测试用例
  • 每一类的代表性数据在测试中的作用等价于这一类的其他值
  • 也就是说,如果某一类中的一个例子发现了错误,这一等价类中的其他例子也能发现同样的错误
  • 反之,如果某一类中的一个例子没有发现错误,则这一类中的其他例子也不会查出错误
  • 如果输入条件规定了取值的范围或值的个数,则可确定一个有效等价类和两个无效等价类
  • 如果一个输入条件说明了一个 "必须成立" 的情况,则可划分一个有效等价类和一个无效等价类
  • 如果输入条件规定了输入数据的一组可能的值,而且程序是不同的方式处理每一种值,则可为每一种值划分一个有效等价类,并划分一个无效等价类
  • 如果我们确知,已划分的某等价类中的各元素(例子)在程序中的处理方式是不同的,则应据此将等价类进一步划分成更小的等价类
  • 在确立了等价类之后,建立等价类表,列出所有划分出的等价

基于等价类划分的用列设计

  • 明确测试对象,非测试对象保证正确
  • 为每个等价类规定一个唯一的编号
  • 设计一个新的测试用列,使其尽可能多地覆盖尚未覆盖的有效等价类。重复这一步,最后使得所有有效等价类均被测试用例所覆盖
  • 设计一个新的测试用例,使其只覆盖一个无效等价类。重复这一步使所有无效等价类均被覆盖

等价类划分实战

STEP1: 根据测试需求可以分为三个等价类:

  • 一个有效数据的等价类,两个无效数据等价类
  • 有效数据等价类就是:由那些对程序的规格说明有意义的、合理的输入数据结构所构成的集合
  • 无效数据等价类就是:那些对程序的规格说明不合理的或无意义的输入数据所构成的集合

?STEP2:建立等价类表

  • 在实际工作中,我们通常在确立了等价类以后,把程序中所有的等价类建立等价类表,以便在编写测试用列的时候有所依据

?STEP3:确定测试用例

  • 为等价类表中的每一个等价类分配一个唯一的编号
  • 设计一个新的测试用例,使它能够尽量覆盖尚未覆盖的有效等价类
  • 重复这一步骤,从而使所有有效等价类均被测试用例所覆盖
  • 与上步类似,设计一个新的测试用例,使它只覆盖一个无效等价类
  • 重复这一步骤,从而使所有无效等价类均被测试用例所覆盖

?STEP4:细化等价类划分

  • 在测试 "-99<=数值<=99" 的这个等价类区间的时候
  • 我们会发现如10 + 40,-20 + 30 和 - 30 +(-30)这类的正数相加,正数负数相加,负数相加也是不同的等价区间
  • 根据以上等价类划分的结果,得出一下表的等价类表

?STEP5:完善测试用例

  • 根据上面划分的4个等价类,我们至少需要有5个测试用例

  • ?根据以上等价类划分的结果,得出下表的等价类表

?

等价类的特点

  • 测试相同的内容
  • 如果等价类的一个测试能够捕获一个缺陷,那么选择该等价类中的其他测试也能捕获该缺陷
  • 如果等价类中的一个测试不能捕获缺陷,那么选择该等价类中的其他测试也不会捕获缺陷
  • 如果正确的划分等价类,阔以大大降低测试用例的数量,测试会准确有效
  • 如果错误的将两个不同的等价类当作一个等价类,那就会遗漏一种测试情况

等价类划分要注意的问题

  • 不但要考虑有效等价类,也要考虑无效等价类
  • 仔细划分,审查划分
  • 过于粗略可能会漏掉软件缺陷

等价类用例设计联系

  • 测试需求:余额宝体现到银行卡增加新规则:快速到账(2小时)日限额1w元
  • 超过1w元只能选择普通到账

分析过程

  • 设计用例

  • ?细致分析需求,日限额1w,所以要区分两个场景

?

经典等价类划分面试题

  • 问题:根据下面给出的规格说明,利用等价类划分的方法,给出足够的测试用例
  • "一个程序读入3个整数,把这三个数值看做一个三角形的3条边的长度值
  • 这个程序要打印出信息,说明这个三角形是不等边的、是等腰的、还是等边的

1、把得出三角形的条件列好

2、覆盖测试用例即可

  开发测试 最新文章
pytest系列——allure之生成测试报告(Wind
某大厂软件测试岗一面笔试题+二面问答题面试
iperf 学习笔记
关于Python中使用selenium八大定位方法
【软件测试】为什么提升不了?8年测试总结再
软件测试复习
PHP笔记-Smarty模板引擎的使用
C++Test使用入门
【Java】单元测试
Net core 3.x 获取客户端地址
上一篇文章      下一篇文章      查看所有文章
加:2022-01-01 14:14:47  更:2022-01-01 14:15:22 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/18 5:28:53-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码