问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

测试用例设计之边界值测试痛点解析(下)

发布网友 发布时间:2024-08-24 18:27

我来回答

1个回答

热心网友 时间:2024-08-31 19:11

小伙伴们,大家好。在上期的《测试用例设计之边界值测试痛点解析(上)》一文中,我们探讨了确定输入域、边界值、边界点邻域的方法,以及设计测试用例时的思路。

本期,我们将继续上次的话题,深入分析边界值测试用例设计的具体步骤,并附上一个实战案例,希望能为大家带来帮助。

【案例1】

假设输入条件x、y各有2个边界点,分别为xmin、xmax和ymin、ymax,且满足xmin < x < xmax,ymin < y < ymax。

>>测试方案1

如图(a),若采用穷举法测试数据和全边界组合,阴影区域即为测试用例覆盖区域。显然,这种情况下,测试用例规模会非常大。

>>测试方案2

如图(b),若采用穷举法测试数据和强边界组合,阴影区域为测试用例覆盖区域。在这种情况下,测试用例规模降低,但缺陷隔离和定位存在较大弊端。

>>测试方案3

如图(c),若采用典型值法测试数据和强边界组合,黑色圆点表示测试用例。虽然测试用例数量进一步降低,但缺陷隔离问题依然存在。

>>测试方案4

如图(d),若采用典型值法测试数据和弱边界组合,黑色圆点表示测试用例。在这种情况下,测试用例数量很少,且缺陷易于隔离,是最佳方案。

【综述】

通过逐步分析和测试,我们发现图(d)的方法最佳,也是我们工作中最常用的边界值测试用例设计方法,即典型值法+弱边界法。

推广到一般情况,当有两个输入条件x、y,每个输入条件各有nx、ny个边界点,分别是x1, x2, …, xnx和y1, y2, …, yny时,可得如下图的边界值测试用例。

由此可见,随着输入条件与边界点数量的增加,基本边界值分析的测试用例规模也将大大增长,测试工作量也随之增加。但由于执行步骤较为重复,我们常使用自动化测试来进行边界值测试。

【案例2】

下面再为大家解析一个案例,以便巩固知识点。

例子:以第2日为思考点,对其输入域确定、边界值确定、如何设置边界点附近的邻域,以及如何设计测试用例,进行详细阐述。

1、针对个体输入域的边界值测试

1)边界和测试数据确定

我们知道,边界值测试可从某输入条件的最大取值范围开始,然后在该范围中寻找其他较为明显的边界。这里需要注意遵循独立性假设的原则。

我们可以将第二日问题的输入,拆分为3个输入条件:年、月、日。并作出明确的范围规定:

① 找出年份的最大取值范围:从1800年到2050年;

② 通过常识,给出月份的最大取值范围:从1月到12月;

③ 通过常识,给出日期的最大取值范围:从1号到31号(注意,尽管不同月份包含的日期数不同,但独立性假设要求日期的边界应忽略年份和月份对其产生的影响,可接受的日期最大值应为31)。

由此,我们可以得到第二日问题的边界点和测试数据。如下图:

2)测试用例设计

基于单缺陷假设,以及上述我们论证得出的:选择典型值法+弱边界方案最佳的这一结论,可以得到如下图的测试用例。

3)测试分析

为了避免测试用例出现冗余和漏洞,我们在下述图表中,做了针对不同测试重点的测试用例统计。(注:表中无效日期是指输入条件的取值无效;不存在日期指输入条件取值有效,但该日期实际是不存在的。)

由图中数据可知,按照上述做法,会有大量冗余,且闰月的情况(2月月末的日期)完全没有测试到,所以,这样操作肯定存在漏洞。然而,边界值测试关注的是边界,只要能以最少的测试用例,保证覆盖所有可能的边界,就不应视做冗余和漏洞。

而从特殊值的角度来看,我们所观察到的冗余和漏洞,可以通过等价类测试和等价划分,及相似用例的合并策略来避免。

事实上,在单缺陷假设下,边界值测试从理论上来说本身就是存在漏洞的,它遗漏了所有输入条件的边界组合情况。

就第二日问题来说,两个输入条件同时取边界(如2012年12月31日)和3个输入条件同时取边界的情况(如1800年1月31日)都没有测试到,它们对应的测试用例数量分别为:108个(即6×6×3)和216个(即6×6×6)。有效的解决途径,是利用随机测试或基于正交表的测试方法,来做补充测试。

4)输出域的边界值分析

事实上,在做边界值测试时,我们不仅可以从问题的输入域来寻找边界,还可以从问题的输出域寻找边界。特别是在被测对象的输入域与输出域,完全不相似的情况下。我们更应该针对输出域的边界值进行测试。这些可以作为输入域边界值测试的有力补充。

但是,由于输出域的边界设计测试用例,相比输入域的边界测试会存在极大的不同,所以,下面我列举了针对输出域进行边界值测试,需要考虑的问题:

①如何选择合适的输出域来寻找边界点;

②如何限定边界点附近邻域的大小,是否仍可简单地按照1个单位长度来限定;

③针对边界值附近邻域内选中的测试数据,是否可以顺利确定对应的测试用例。

大家不妨再通过以上思考点,重新讨论本案例的边界值测试用例,应该如何设计。

最后,希望这两篇关于边界值的文章,能够帮助大家查漏补缺,协助大家写好测试用例,谢谢~
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
...和O3、1H216O和2H218O.下列有关说法正确的是( )A.35Cl和37Cl互称为... ...做环境分析指示物.下列说法中正确的是( )A.1H216O在相同 ...1H、2H、3H,氧也有3钟同位素:16O、17O、18O,那么水的种类最多有... 全身没力气、想睡觉怎么回事 我的乙肝检查单 请帮忙看看 帮忙看看乙肝检查报告 谢谢 万分感谢!好人一生平安 麻烦帮我看看乙肝两对半的结果 五冶集团由哪家控股 我的苹果6手机百度视频播放不了是什么原因? 高一怎么选科历生地 喝酒一般给红包夫妻俩写谁的名字呢 红薯土豆不能放一起吃 京东红包会过期吗 女性选择姓张不先姓李是什么意思,张姓李姓景区免门票 张公艺的《百忍歌》⑧&lt;①~⑨&gt; 天津市高考报名条件是什么 外地人可以在天津考高考吗? 干货分享:新手如何快速学会视频剪辑?(附教程) 33张图释析:什么样的兔毫建盏价值不菲?建盏审美瞬间高级! 机械手表怎么戴 408一战130+|暑假四门课复习经验+资料分享 ps建筑怎么快速抠玻璃ps玻璃怎么抠图 用ps怎么抠出透明玻璃这类图去掉背景颜色透明部分的背景颜色也..._百... 为什么家里会有很多小蟑螂? 什么软件可以把字弄得像自己写的一样 怎么删除excel表格中的空白页 春笋冷冻保存切开后能保持口感吗 义乌小商品批发市场网上进货哪里比较好 现在义乌批发拿货平台有哪些_百... 抖音号永久冻结怎么解封? 实名认证之后微信里的钱会消失吗? 正厚软件-0基础教你学软件测试用例-边界值 想寻找一些幼儿英语小游戏 什么基金波动小 财务都学什么软件 会计问题软件有什么 地道的地三鲜做法是怎样的? 手把手教你UOS统信云打印解决方案 干货|数据分析不得不懂的12种可视化类别 Origin绘图|绘制这种漂亮的桑基图只需“一步”? 如何解决电脑文件夹重叠的问题 复方辣椒贴片好及施温感 群星秘籍有哪些 群星怎么快速扩充舰队介绍_群星怎么快速扩充舰队是什么 群星游戏秘籍群星控制台代码指令大全 群星stellaris快速提升舰队数量方法介绍_群星stellaris快速提升舰 ... 《群星》的控制台指令有哪些? 一喝酒就打嗝是什么原因 喝酒以后打嗝怎么回事 怎样让重叠的Excel表格显示出来。 学小语种报哪个大学好