陶刚的博客
与你分享我的点滴

软件测试之测试用例设计(二)

说明:该篇博客是博主一字一码编写的,实属不易,请尊重原创,谢谢大家!

目录

一丶边界值例题

二丶判定表

三丶黑盒测试用例设计(正交实验)


一丶边界值例题

1.结合等价类划分法,设计测试数据! 移动公司话费赠送方案如下

2. 测试数据如下

3.将测试数据中的无效等价类进行数据清空,原因是当某个无效等价类出现问题后,无法定位为某一个话费累积活动,如200的无效等价类测试出了问题,那么就无法判定到底是[0,200)还是[200,500)的问题,因为200作为[0,200)边界值的离点又是[200,500)的上点,所以说这里的测试方案是根据实际需求进行编写的

二丶判定表

1.新的实例

打印机是否能打印出来正确的内容有多个因素影响,包括驱动程序、纸张、墨粉等。(为了简化问题,不考虑中途断电、卡纸等因素的影响) 假定:优先警告缺纸,然后警告没有墨粉,最后警告驱动程序不对。 等价类怎么做?

2.使用等价类划分以上需求,会出现需求中的优先级无法实现,所以等价类划分大多用于输入框中的测试

3.决策表

在一个程序中,如果输入输出比较多,输入之间和输出之间相互制约的条件比较多,在这种情况下应用决策表很合适,它可以很清楚地表达它们之间的各种复杂关系。

决策表法简述:决策表是把作为条件的所有输入的各种组合值以及对应输出值都罗列出来而形成的表格。它能够将复杂的问题按照各种可能的情况全部列举出来,简明并可避免遗漏。因此,利用决策表能够设计出完整的测试用例集合

决策表通常由以下4部分组成: 条件桩—列出问题的所有条件 条件项—针对条件桩给出的条件列出所有可能取值 动作桩—列出问题规定的可能采取的操作 动作项—指出在条件项的各组取值情况下应采取的动作

将任何一个条件组合的特定取值及相应要执行的动作称为一条规则。在判定表中贯穿条件项和动作项的一列就是一条规则

4.使用决策表对实例进行分析

打印机是否能打印出来正确的内容有多个因素影响,包括驱动程序、纸张、墨粉等。(为了简化问题,不考虑中途断电、卡纸等因素的影响) 假定:优先警告缺纸,然后警告没有墨粉,最后警告驱动程序不对。

列出条件桩和动作桩

条件桩:

a)驱动程序是否正确

b)是否有纸张

c)是否有墨粉

动作桩:

a) 打印内容

b)提示驱动程序不对

c)提示没有纸张

d)提示没有墨粉

5.生成判定表

6.根据以上实例可以得出以下知识点

等价类

a) 不能解决多输入而且输入之间不同组合产生不同的结果
b) 输出之间存在逻辑关系
c) 等价类无效类每个用例只出现一次,不能覆盖多个无效等价类并存的情况

判定表

可以通过输入的不同组合,产生不同的结果,而不同的组合我们利用二进制解决

7.二进制

逢二进一,三位数的二进制的排列方式就是2^3=8种,如下

000——001——010——011——100——101——110——111

四位数的则是2^4=16种

0000—0001—0010—0011—0100—0101—0110—0111—1000—1001—1010—1011—1100—1101—1110—1111

8.决策表的构造及化简

a) 列出所有的条件桩和动作桩

b) 确定规则的个数

c) 填入条件项

d) 填入动作项,得到初始决策表

e) 简化决策表,合并相似规则

对于n个条件的决策表,相应有2n规则(每个条件分别取真、假值),当n较大时,决策表很庞大。实际使用决策表时,常常先将它简化。决策表的简化以合并相似规则为目标,即若表中有两条或两条以上规则具有相同的动作,并且在条件项之间存在极为相似的关系,便可以合并。合并后的条件项用符号“-”表示,说明执行的动作与该条件的取值无关,称为无关条件

9.将以下判定表进行简化,合并相似规则

将判定表的1和2,5和7,6和8进行合并后如下,说明:前台这三组的结果都一致并且条件中只有一条不一样

将打印机的判定表进行相似规则的合并

首先序号1肯定是单独的,然后序号2也是单独的,3和4结果一致驱动程序这块不一致所以可以合并,5678序号结果一致提示没有纸质并且条件桩中的是否有纸张也是一致为0,即进行合并(1,2,34,5678),结果如下

10.三角形

例:输入三条边,判断能否组成三角形,能组成三角形,继续判断能组成等腰三角形?等边三角形?还是直角三角形?

根据以上例子制作出对应的判定表,根据条件桩的个数来进行二进制的可能组合

11.阅读器

根据以下文字信息,制作判定表

1、如果觉得疲倦并且对书的内容感兴趣,同时书中的内容让你糊涂的话,回到本章重读

2、如果觉得疲倦并且对书的内容感兴趣,同时书中的内容不让你糊涂,继续读下去

3、如果觉得疲倦并且对书中的内容不感兴趣,同时书中的内容不让你糊涂,停止阅读,请休息

4、如果觉得疲倦并且对书的内容不感兴趣,并且书中的内容让你糊涂,请停止阅读,休息

5、如果觉得疲倦并且对书的内容感兴趣,并且书中的内容让你不糊涂,请停止阅读,休息

6、不疲倦,对书的内容感兴趣,书中的内容不糊涂,继续读下去

7、不疲倦,不感兴趣,书中内容不糊涂,跳到下一章去读

8、不疲倦,不感兴趣,书中内容糊涂,请停止阅读,休息

对以上判定表进行合并相似规则后,如下

12.日期(有难度)

一个程序,在程序中输入一个时间,包含年、月、日,程序会输出第二天的年、月、日,用决策表去分析,能列出多少条用例?

当设定年+月+日进行拼接后,日加1的情况下会出现什么情况,根据该情况制定如下判定表

三丶黑盒测试用例设计(正交实验)

1.正交试验

正交试验设计法,就是使用已经造好了的表格——正交表来安排试验并进行数据分析的一种方法。

正交试验采用两两组合方式,减少用例个数,适用于兼容性测试、测试范围小。

2.打印功能测试

例子1: PowerPoint 软件打印功能描述如下:

打印范围分:全部、当前幻灯片、给定范围

打印内容分:幻灯片、讲义、备注页、大纲视图

打印颜色/灰度分:颜色、灰度、黑白共三种设置

打印方式:是否加框

Step1、如果需求是文字描述,将文字转化为图形

Step2、需求中包含1个独立功能 —— 打印功能

Step3、针对打印功能开展需求分析:

界面可见输入参数:打印范围、打印内容、打印颜色、打印方式

界面不可见输入参数:网络、打印机本身(耗材、硬件)、驱动 打印服务

Step4、分析界面可见输入参数之间的关系及特点 参数存在用户输入数据,但是不存在无效数据,全部都是有效的 —X— 等价类 参数不存在区间范围 —X— 边界值 参数之间不存在逻辑判定关系 —X— 判定表 参数都是有效的,有效参数组合会输出不同结果,功能的实现是由 Switch…case…多分支结构组成 —— 正交试验

Step5、使用正交试验法设计测试用例

① 将需求转化为因子状态表(因子:输入参数,状态:输入参数取值)

② 将因子状态表中的文字用字母代替

③ 将因子状态表代入正交表(规则:多则合并,少则补充)

④ 如果正交表中有合并项,将合并项拆分成多行

⑤ 将正交表中的字母用文字代替,一行对应一条测试用例

3.使用正交设计助手设计打印功能测试

4.假设一个WEB站点,该站点有大量的服务器和操作系统,并且有许多具有各种插件的浏览器浏览:

WEB浏览器:Netscape6.2、IE6.0、Opera4.0

插件: 无、RealPlayer、MediaPlayer

应用服务器:IIS、Apache、Netscape Enterprise

操作系统:Windows2000、Windows NT、Linux

5.正交试验 所有因子的值两两相交(两个因子的值在同一用例中出现)

总结:
等价类 有效等价类 一条用例尽量覆盖有效规则
无效等价类 一条用例只能出现一次无效规则
适用对象:
1 输入框
2 页面上的多个输入框不存在逻辑关系
输入框测试考虑要点:
1 长度
2 类型
3 组成规则
4 是否为空
5 是否重复 —区分大小写
—前、后,中空格
缺点:没有关注到边界的问题
没有关注到输入框的逻辑关系

边界值 :上点 离点 内点 一般配合等价类使用
判定表: 多条输入 多条输出 输入和输出之间存在逻辑关系
具体做法:条件桩 条件的组合(二进制)动作桩 动作项 适当的项目合并(注意不要合并成漏项)

正交试验:多个选项,都是正值,没有逻辑关系,因子的值两两相交一次(两个因子的值在一个用例中出现一次)利用正交工具

赞(0) 打赏
版权声明:本文为CSDN博主「cdtaogang」的原创文章,遵循CC 4.0 BY-NC-SA版权协议,转载请附上原文出处链接及本声明:记录学习生活 » 软件测试之测试用例设计(二)

评论 抢沙发

评论前必须登录!

 

觉得文章有用就打赏一下文章作者

非常感谢你的打赏,我们将继续给力更多优质内容,让我们一起创建更加美好的网络世界!

支付宝扫一扫打赏

微信扫一扫打赏