测试用例设计的两个基本方法
后台回复「MTSC」,领取大会 PPT
阅读本文大概需要 5 分钟。
看到标题,我想你肯定也猜到了我要说的是啥,对,就是等价类划分和边界值分析这两个方法。
如果把测试用例设计比作绝世武功的话,这两个方法就相当于武术基本功之扎马步和拉韧带,看似简单易懂,却需要精进之人每天都反复不断的刻意练习。
下面我通过一个简单的例子来说明下这两个方法在实际场景中的使用,希望对你有所帮助。
下面还是咱们多次看到的那个需求:
有一个 PC 客户端的命令行工具,这个工具可以接收三个命令行参数,其中,前两个是数字,最后一个是运算符,运算符只支持加减乘除四种,工具的功能就是把前两个数字使用运算符做下运算,然后输出运算结果。
一、等价类划分法
大家都知道等价类要区分有效等价类和无效等价类,可只是这么理论的讲,是看不出自己掌握的程度,就跟谁都会扎马步,但是扎多久,扎得稳不稳,还是需要遛遛才知道。
大家可以想想上面这个需求如果运用等价类划分法的话,应该怎么设计,下面是我设计的结果:
从我面试的经验看,很少有人能够把上面提到的所有点都答上来。
出现的主要问题有如下两类:
1、没有分类划分的意识,所以大的分类点就会漏掉,比如其中关于分隔符的隐性需求,是最容易被漏掉的点,其实按无效等价类划分,还是比较容易能想到的;
2、没有把等价类的精髓发挥出来,很多人都知道要用无效和有效的方法进行划分,但是一旦让细分到可以执行的程度时,很容易就漏掉测试点,比如有人会漏掉除数不能为 0 这样的隐性需求;
本次给的示例比较简单,但就算这样,出题的时候如果没有提示使用等价类设计方法,还会有人的用例一会来个参数类型的正面用例,一会来个参数个数的反面用例,根本就不是按照一定的思路来进行设计,只是想到哪说到哪,这样就算凑巧把测试点列举齐了,也没法保证经验的可复用性。
我得理解是,等价类划分应该是深入每个测试人骨髓的最最基本的用例设计方法,每当一个正面用例写出来之后,与之对应的一堆反面用例立马就应该出现。
二、边界值分析法
相对于等价类划分的自由度,如果刻意去使用边界值分析,可以很容易的提升覆盖率,这绝对是一个上分利器,但就是因为简单,反而让很多人容易忘却。
先看看上面计算器这个例子中,我用边界值分析法补充的用例:
相对于等价类,这用例条数简直少了太多,主要是等价类可以无处不在,有正面就肯定有反面,而且反面用例的条数都是比正面的要多。
边界值的使用范围确是很固定的,只要有边界的地方就想着去应用就好了,而对于边界来说,一个最明显的特征就是数字,所以涉及数字的地方就考虑使用边界值分析法,准没错。
比如本次需求中涉及数字的地方有这么几个:
1、三个参数:所以我有对应的参数个数的边界值分析的用例;
2、四种运算符:这个是种类的数字,不需要边界值,本次是放到等价类划分的范围里面了;
3、运算数:这种比较特殊,并没用提及到数字,但是它本身是数字类型,所以也是需要使用边界值分析法进行覆盖的,这种隐性需求是很多人容易漏掉的地方。
关于运算数,再多说几句。
有些同学在设计用例的时候,会混淆等价类和边界值的概念,比如设计运算数相关的用例会说,正常的数字和超大的数,我理解这种按边界值的说法会更好,而不是把超大数当作反面用例。
另外,当我继续追问一万算不算超大数时,很多人其实也不知道到底多大算大,所以这明显是没有按照边界值的思路进行设计,因为连边界都不知道,那当然也没法把边界值需要覆盖的其他测试点考虑全的了。
总之,等价类和边界值是测试用例设计中最最基本的两个方法,作为专业测试人员,我们必须要熟练掌握到信手拈来的程度,要像条件反射一般根植在我们的大脑中。
以上,我对等价类和边界值用例设计方法做了简单总结,不知道你工作过程中是否有刻意关注过这两种方法,是否已经把他们使用的滚瓜乱熟了,欢迎留言说说你的看法。
当然,如果你认同我的观点,欢迎分享文章到朋友圈 + 点个「在看」让更多人看到,谢谢。
感谢你的分享、转发和在看,我准备了一个抽奖,8 月 15 号上午 8 点 15 分自动开奖。
感谢你的阅读、在看和转发,点我抽奖,祝你好运!
推荐阅读:
如何掌控自己的手机时间
复盘一次线上问题的处理过程
来,和我一起吃个螃蟹吧
再谈信息获取
测试用例设计过程中长期存在的两个问题
测试用例设计的两个基本方法相关推荐
- 测试用例设计白皮书--因果图方法
测试用例设计白皮书--因果图方法Author: Vince 来源:http://blog.csdn.net/vincetest 一. 方法简介 1.定义:是一种利用图解法分析输入的各种 ...
- 测试用例设计的几种常见方法,测试用例的几大要素
一,测试用例设计的几种常见方法 1.等价类划分 2.边界值分析 3.错误推测法 4.判定表法 5.正交实验法 6.因果图法 7.状态迁移 8.流程分析法(场景设计法) 举例说明,链接中有更为详细的举例 ...
- 测试用例设计方法基础理论知识
一.什么是测试用例 测试用例设计:将软件测试的行为活动,作为一个科学化的组织归纳. 测试用例:设计一个情况,软件程序在这种情况下,必须能够正常运行并且达到程序所设计的执行结果. 因为我们不可能进行穷举 ...
- 软件测试用例优秀例子_功能测试用例设计方法分享
测试用例可以用来衡量一个项目测试质量,因此在平时的测试流程中,编写测试用例就是测试过程中很重要的一步,每一个测试工程师都需要并且非常熟练的编写测试用例,能在编写测试用例中尽可能的覆盖任何异常的测试点: ...
- 四因素三水平正交试验表_测试用例设计方法(二)——正交实验法
正交实验法严格来说不是为测试用例设计的方法,它广泛用于各种实验实践中.是研究多因素多水平的又一种设计方法,它是根据正交性从全面试验中挑选出部分有代表性的点进行试验,这些有代表性的点具备了"均 ...
- 测试用例设计方法_黑盒测试——测试用例设计方法
黑盒测试 也称为功能测试或数据驱动测试.通过软件的外部表现来发现其缺陷和错误.在测试时,把被测程序视为一个不能打开的盒子,在完全不考虑程序内部逻辑结构和内部特性的情况下进行.它是在已知产品所应具有的功 ...
- 正交试验设计例题及答案_正交表测试用例设计方法的特点是什么?
用最少的实验覆盖最多的操作,测试用例设计很少,效率高,但是很复杂: 对于基本的验证功能,以及二次集成引起的缺陷,一般都能找出来:但是更深的缺陷,更复杂的缺陷,还是无能为力的: 具体的环境下,正交表一般 ...
- 黑盒法测试c语言,黑盒测试的测试用例设计方法(经典理论知识,推荐)
一.黑盒测试的测试用例设计方法 1. 等价类划分方法 2. 边界值分析方法 3. 错误推测方法 4. 因果图方法 5. 判定表驱动分析方法 6. 正交实验设计方法 7. 功能图分析方法 二.等价类划分 ...
- 其他测试用例设计方法-错误推测法与正交实验法
常用的测试用例设计方法,前面基本都介绍完了,其中等价类划分法.边界值法与场景法是最常用的. 本篇文章介绍剩余两种测试方法--错误推测法与正交实验法. 错误推测法 基于经验和直觉推测程序中所有可能存在的 ...
最新文章
- 直接定址表---汇编学习笔记
- Head First JSP---随笔八(简单标记)
- 5年,14款近满分神作,这个独立团队打造了他们的游戏宇宙
- /proc/sys/net/ipv4详解(2)
- 解决uni-app官方弹框popup关闭不了问题;/pages/extUI/popup/popup;uni-app弹框popup打开调用事件。unin-app弹框封装;
- rebots css,我的robots.txt中涉及到.htaccss文件的奇怪https/http错误
- vite方式创建vue项目
- 机器学习正面临着可重现性危机!
- ABP(现代ASP.NET样板开发框架)系列之20、ABP展现层——动态生成WebApi
- day6 字典的介绍
- python类使用异步_异步Python类
- Q1营收利润大增,Take-Two如何掘金“次世代”?
- 财报出炉,阿里大涨的背后 —— 凤凰终将涅槃?
- 创龙28377d历程_双核dsp28377d
- 纸鸢|物联网云平台倒闭的原因和案例
- 计算机组成原理——磁盘存储器的技术指标
- java.sql.SQLException: sql injection violation, multi-statement not allow
- Java设计模式(疯狂Java联盟版)
- 企业微信的审批申请状态变化回调通知api接口bug
- Mavenir推出智能物联网平台以实现更智能的分析
热门文章
- 配置NTP服务器时间同步
- 彩虹表破解开机密码、MD5算法等的原理
- 批量梯度下降法(BGD)拟合曲线——Python实现
- WordPress是什么?它是如何工作的?
- 恩智浦arm芯片Linux,基于ARM处理器的工业控制系列【恩智浦】
- 网页框架·flask
- 俄军曾为救1名弹射飞行员 损失3架直升机阵亡5人
- nginx 限制文件上传速度_nginx上传文件速度慢 Nginx上传文件全部缓存解决方案 - 硬件设备 - 服务器之家...
- 销售人说话“十大忌”
- 点乘叉乘坐标公式_向量点乘公式与叉乘公式的位置关系