软件测试如何识别等价类,测试设计之等价类和边界值
1 引言
一般来说,软件测试设计方法分为5类:传统的黑盒测试方法、基于质量的测试方法、基于风险的测试方法、基于经验的测试方法以及白盒测试方法。下面分篇介绍下传统的黑盒测试和白盒测试方法。
5种黑盒测试方法如下:
·等价类
·边界值
·判定表
·状态转换图
·决策树
·正交法
7种白盒测试方法如下:
·语句覆盖
·分支覆盖
·条件覆盖
·判定覆盖
·条件覆盖
·路径覆盖
·控制流测试
2 等价类&边界值测试设计
2.1 运用等价类/边界值设计测试用例
通过等价类/边界值法设计软件测试用例是测试用例设计的最基本的方法。这两种方法密不可分。下面先介绍"等价类分析法"。
2.1.1 等价类
等价类是指软件测试对象的某个参数输入域的子集合。在该子集合中,各个输入数据对于识别软件测试对象中的缺陷是等价的。只要测试等价类的某一个代表值,就可以认为覆盖了该等价类所有其他值的软件测试。
等价类的划分
是把软件测试对象的输入域划分成若干部分,然后从每一部分中选取少数具有代表性的数据,作为测试用例输入数据的测试用例设计技术。
等价类的两个假设
(1)软件测试对象等价类中任意一个代表值没有发现缺陷,则认为等价类内其他值也不能发现缺陷。比如等价类为【0~5】,如果测试数据4没有发现缺陷,那么测试数据1也不可能发现缺陷。
(2)软件测试对象等价类中任意一个代表值可以发现缺陷,则认为等价类内其他值也都可以发现缺陷。比如等价类为【0~5】,如果测试数据4发现缺陷,那么测试数据1也肯定能发现缺陷。
有效等价类与无效等价类
(1)有效等价类:对于软件测试对象而言,有效等价类指的是合理的、有意义的数据构成的集合。
(2)无效等价类:对于软件测试对象而言,无效等价类指的是不合理的、没有意义的数据构成的集合。
案例2-1:等价类的分类。
通过表2-1来看各种类型的数据是如何通过等价类进行分类的。
表2-1等价类的设计法
下面再介绍一下"边界值分析法"。
2.1.2 边界值
边界值分析是对输入或输出的边界值进行软件测试的一种测试方法。通常,边界值分析法作为对等价类划分法技术的补充。这种情况下,其测试用例来自等价类的边界。由于程序员在开发时在边界区域比较容易犯错误(如原本应该为a<100,却写成a≤100),所以边界值测试法就显得非常重要。由于边界值是随着等价类出现的,所以边界值可以分为有效等价类的边界值和无效等价类的边界值。
边界值分析的步骤如下:
(1)识别软件测试对象中的参数等价类;
(2)识别每个等价类的边界值;
(3)创建边界值的相关测试用例;
(4)定义边界值分析技术的覆盖率。
案例2-2:边界值的设计法。
基于表2-1,来看各种情况的边界值如何划定,见表2-2。
表2-2边界值的设计法
2.1.3 基于输出的等价类/边界值划分
等价类/边界值除了可以以输入进行分类,也可以以输出进行分类,如案例2-3所示。
案例2-3:公园门票规定:
身高1.2m以下的儿童免票;
身高1.2~1.4m的儿童半票(含1.2m);
年龄在60~69岁之间的老人半票(含60岁);
年龄在70岁以上的老人免票(含70岁);
在校学生半票(不含在职学生、电大学生);
革命烈士家属、现役军人免票。
我们可以划分等价类为全票、半票和免票,见表2-3。
表2-3公园门票等价类/边界值
软件测试如何识别等价类,测试设计之等价类和边界值相关推荐
- 软件测试 6(等价类) --等价类测试
软件测试专栏 上一篇 主目录 下一篇 目录 1 简介 2 等价类测试分类 3 测试实例 [前言] 弱一般等价类测试是基于单缺陷假设,强一般等价类测试是基于多缺陷假设:说等价类健壮是因为考虑无效值(一般 ...
- 黑盒测试案例设计技术--等价类划分法
什么是测试用例 所谓的测试用例设计就是将软件测试的行为活动,作一个科学化的组织归纳.软件测试是有组织性.步骤性和计划性的,而设计软件测试用例的目的,就是为了能将软件测试的行为转换为可管理的模式.软件测 ...
- 黑盒测试之等价类测试
等价类概念 1.划分指互不相交的一组子集,这些子集的并集是整个集合. 2.等价类 等价类是指某个输入域的子集合.在该子集合中,各个输入数据对于揭示程序中的错误都是等效的. 翻译一下:比如三角形案例,我 ...
- 等价类测试与决策表测试
问题:输入年月日year.month.day,其中年份的有效取值范围为[1818,2018],请输出输入日期的前一天,例如输入2018年9月18日,输出为2018年9月17日.若输入日期非法,例如输入 ...
- 软件质量保证常用测试方法---边界值测试,等价类测试,路径测试
本文内容整理自西安交通大学软件学院杜小智老师的mooc附件ppt mooc链接:软件质量保证_中国大学MOOC(慕课) 文章目录 测试方法 边界值分析技术 边界值选择的基本原则 边界值测试分类 边界值 ...
- 软件测试 通用技术03 测试用例 黑盒测试用例设计方法 等价类划分法 边界值分析法 判定表法 场景法 功能图法 其他用例设计方法 用例设计方法综合选择
文章目录 1 测试用例 1.1 测试用例的定义 1.2 测试用例模板 1.3 测试用例模板的内容 测试用例编号 测试项 依赖用例 测试步骤 测试数据 预期结果 测试结果 测试人 备注 2 测试用例编写 ...
- 学习软件测试(三)测试用例、测试用例的设计方法(等价类划分法、边界值分析法、判定表法、因果图法、正交排列法、场景法、错误推测法)
目录 测试用例 测试用例八大要素 测试用例的设计方法 等价类划分法 等价类操作步骤 边界值分析法 边界范围 边界值法的操作步骤 案例1 案例2 判定表法 为什么使用判定表法 判定表法的四个组成部分 判 ...
- 测试用例设计(等价类、边界值、因果图、判定表、正交实验)
测试设计与测试用例 测试设计是将概括的测试目标转化为具体的测试条件和测试用例的一系列活动. 测试分析和设计的主要任务 评审测试依据(需求,系统架构.设计和接口说明),根据依据,确定哪些部分需要测试 评 ...
- 软件测试设计与开发,软件测试技术·测试设计与开发.ppt
软件测试技术·测试设计与开发 * 3.4 评审测试用例 复查测试用例时应该考虑的一些问题: 测试或测试组件完全针对的是需求中列出的功能吗? 测试组件是否覆盖了所有需求? 有冗余的测试吗? 每一个测试步 ...
最新文章
- 登上软件开发的和谐号
- cvNormalizeHist()函数详解
- 【Spring框架】 ☞ 项目启动时执行特定处理及ApplicationListener源码分析
- So Easy! 让开发人员更轻松的工具和资源
- [html] 如何实现多行文字梯形排版?
- MemoryInjector 无痕注入
- java设置方块阴影_边框阴影:box-shadow属性
- css实现圆球旋像水波波动_手机拍屏幕烦人的“水波纹”小米10靠它给解决掉了...
- OSChina 周二乱弹 —— 高手应该习惯寂寞
- python可打印字符_测试一个python字符串是否可打印
- 有下界的最小费用可行流2.0(bzoj 3876: [Ahoi2014]支线剧情)
- 在Windows 2008上安装SQL Server 2005
- 网易云音乐UC!缓存格式文件转MP3方法
- 饥荒怎么把离线服务器改成在线,饥荒联机版专服简易启动教程
- 远程控制计算机无法粘贴,Windwos服务器远程桌面不能复制粘贴的解决方法
- Java添加、读取Excel公式
- 模糊查询忽略大小写解决方案
- Pytorch中的model.modules()和model.children()的区别
- C# FileInfo(System.IO)
- 洛谷 P3858 路标设置
热门文章
- javascript之offsetHeight/offsetWidth
- offsetHeight、offsetWidth
- cesium 模型、航迹(官方网站代码合并)
- 销售话术:与准顾客交谈之前,开场白技巧
- paypal 登录 api
- html5 调用谷歌地图定位,使用html5地理定位的网页不如谷歌地图准确?
- 大数据学习--kafka+flume++sqoop+hadoop+zookeeper+spark+flink
- Gbase8s数据库ALTER ROUTINE 语句
- kali系统更新源。
- 安装cordova失败,报Error: Command failed: wmic os get Caption的解决办法