测试用例编写方法

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档


为什么要学习测试方法

本文重点是决策表和正交表,等价类和边界值理解就好

学习测试方法可以提高编写测试用例的能力,提高测试用例的覆盖率,避免遗漏缺陷。
本文介绍的是黑盒测试方法,可以提高对需求的覆盖。还有白盒测试方法可以提高对代码的覆盖,对代码的覆盖包括语句覆盖、分支覆盖、条件覆盖、分支条件覆盖、LSACJ覆盖、MC/DC覆盖、路径覆盖等。


一、等价类划分

1.等价类的划分原则

1、按区间划分

在输入条件规定了取值范围的情况下,可以确定有效等价类和无效等价类。

例:程序输入条件为小于100大于10 的整数x,则有效等价类为

10<x<100,两个无效等价类x≤10和x≥100。

2、按照数值划分

在规定了一组输入数据(假设包括n个输入值),并且程序要对每一个输入值分别进行处理的情况下,可确定n个有效等价类(每个值确定一个有效等价类)和一个无效等价类(所有不允许的输入值的集合)。

例如:程序输入x取值于一个固定的枚举类型{1,3,7,15},且程序中对这4个数值分别进行处理,则有等价有效类为x=1,x=3,x=7,x=15,无效等价类为x≠{1,3,7,15}的集合。

3、按照限制条件或规则划分

a.在规定了输入数据必须遵守的规则或限制条件的情况下,可确定一个有效等价类(符合规则)和若干个无效等价类(从不同角度违反规则)。

例如:程序输入条件为奇数的整数x,则有效等价类为x的值为奇数的整数,无效等价类为x的值不为奇数的数。


二、边界值

一个范围的临界值,或者等价类划分范围后的交集处

1.案例

密码验证,登录QQ,账号密码是6-10位正整数
有效等价类:长度在6到10位之间的整数;
无效等价类:负数,小数,英文字母,中文,空格,特殊字符
等价类范围:6≤X≤10,临界点是6,10


三、决策表测试

1.基本概念

判定表的组成:条件桩,动作桩,条件项,动作项

条件桩条件项
动作桩动作项
  • 条件桩:列出问题的所有条件。
  • 动作桩:列出问题规定所采取的操作。
  • 条件项:针对条件桩给出的条件,列出所有可能情况下的真假值。
  • 动作项:列出在条件项的各种取值情况下应该采取的动作。
  • 规则数:决策表中一列就是一条规则,规则数是2n,n是条件数

合并后的条件项用符号“-”表示,说明执行的动作与该条件的取值无关,称为“无关条件”
若表中有两条以上规则具有相同的动作,并且在条件项之间存在极为相似的关系,便可以合并。

2.案例

某货运站收费标准如下:如果收件地点在本省,则快件每公斤5元,慢件每公斤3元;如果收件地点在省外,则在20公斤以内(含20公斤)快件每公斤7元,慢件每公斤5元,而超过20公斤时,快件每公斤9元,慢件每公斤7元。

先用决策表分析

第一步:确定规则的数目。
条件:   (1)收件地在本省?
        (2)是快件?
        (3)重量不超过20公斤?
根据公式计算2³=8,所以应有8条规则。
第二步:列出所有的条件桩和行动桩。
第三步:填入条件条目
第四步:填入行动条目

列出决策表

12345678
收件地址在本省?YYYYNNNN
是快件YYNNYYNN
重量不超过20公斤YNYNYNYN
每公斤3元××
每公斤5元×××
每公斤7元××
每公斤9元×

因为有相同动作,所以合并决策表

123456
收件地址在本省?YYNNNN
是快件YNYYNN
重量不超过20公斤--YNYN
每公斤3元×
每公斤5元××
每公斤7元××
每公斤9元×

四、正交表测试

强度s=2的时候也叫结对测试

1.基本概念

1.因素数:变量个数
2.水平数:变量的取值个数,个数是等价类划分出来的
3.记录数:最后生成的正交表的记录数,一条(行)记录也就是一次实验。
4.强度(s):对每个因素的水平数进行从小到大的排列,那么强度为n的正交表组合记录数等于最后的n个水平数的乘积。

设有5因子,每个因子的水平数分别2,2,2,3,3,不同强度S的生成正交表分别为:
s=2时,结果是  L9(2×2×2×3×3),记录数为最后两个变量的水平数乘积3x3=9
s=3时,结果是 L18(2×2×2×3×3),记录数为最后三个变量的水平数乘积2x3x3=18

2.案例

下面介绍一个混合正交表的例子:

变量个数:4个  分别为:A、B、C、D      强度(s)=2
         A 有3个值(A1、A2、A3)
         B 有4个值(B1、B2、B3、B4)
         C 有4个值(C1、C2、C3、C4)
         D 有4个值(D1、D2、D3、D4)

用正交表分析
因素数(变量个数):4个
水平数:其中1个变量的水平数为3,3个变量的水平数为4。
记录数:因为强度(s)=2,所以3,4,4,4里面,4×4=16,有16个记录数。

Runs(记录号)ABCD
11111
22222
33333
4-444
51234
62143
73412
8-321
91342
102431
113124
12-213
131423
142314
153241
16-132

因为因素A有剩余的水平数,所以从上往下循环输入1,2,3,然后分别带入水平数,之后如下

Runs(记录号)ABCD
1A1B1C1D1
2A2B2C2D2
3A3B3C3D3
4A1B4C4D4
5A1B 2C3D4
6A2B1C4D3
7A3B4C1D2
8A2B3C2D1
9A1B3C4D2
10A2B4C3D1
11A3B1C2D4
12A3B2C1D3
13A1B4C2D3
14A2B3C1D4
15A3B2C4D1
16A1B1C3D2

然后就可以根据正交表带入值设计测试用例了

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

鸿儒1

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值