目录
1.测试用例的基本要素
2.测试用例的设计方法
2.1基于需求的设计方法(Requirements-Based Testing,RBT)
2.2等价类划分法
2.3边界分析法
2.4因果图
2.5正交排列
2.6场景设计法
2.7错误猜测法
黑盒测试设计方法:等价类、边界值、因果法、正交设计法、场景法、错误猜测法
首先验证需求的合理性和正确性,使测试专注于质量问题产生的根源(需求),重点关注:
依据需求将输入(特殊情况下会考虑输出)划分为若干个等价类,从等价类中选出一个测试用例,若通过,则认为所代表的等价类测试通过;实现少用例,多覆盖,解决不能穷举测试的问题。
有效等价类:对于程序的规格说明书是合理的、有意义的输入数据构成的集合,利用有效等价类验证程序是否满足功能和性能需求。只考虑输入域的分类
无效等价类:根据需求说明书,不满足需求的集合。
对输入或输出的边界值进行测试的一种黑盒测试方法。是对等价类划分法的补充,测试用例来自等价类划分法的边界。
如:
闭区间:[20,30],上点:20,30,离点:19、31,
开区间:(20,30),上点:20,30,离点:21、29,
半开半闭:(20,30],上点:20,30,离点:21、31
半开半闭:[20,30),上点:20,30,离点:19、29
对于闭区间:上点是有效数据,离点是无效数据
对于开区间:上点无效,离点有效
不管是开和闭区间,内点都是有效数据
等价类和边界值法一般是一起进行测试用例的设计
简化的逻辑图,表明程序输入条件(原因)和输出动作(结果)之间的相互关系。适用于分析程序输入条件的各种组合(等、与、或、非),以及输入输出之间的依赖关系。
因果图法设计测试用例的步骤:
例1:
假设业务单据的处理规则为:“淘宝618活动,提单已提交,订单合计金额大于300元或有红包,则进优惠”。
Y为真 | N为假 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 |
输入 | 金额>300 | Y | Y | N | N | Y | Y | N | N |
有红包 | Y | N | Y | N | Y | N | Y | N | |
订单已提交 | Y | Y | Y | Y | N | N | N | N | |
中间条件 | Y | Y | Y | N | Y | Y | Y | N | |
输出 | 优惠 | Y | Y | Y | N | N | N | N | N |
不优惠 | N | N | N | Y | Y | Y | Y | Y |
得到测试用例:
(1)订单已提交,订单金额大于300元,则优惠。
(2)订单已提交,订单金额小于等于300元,无红包,不优惠
(3)订单已提交,有红包,则优惠。
(4)订单已提交,订单金额大于300元,有红包,则优惠。
(5)订单未提交,不优惠。
(6)订单未提交,不优惠
(7)订单未提交,不优惠。
(8)订单未提交,不优惠。
例2:
输入 | 中间结果 | 输出 | ||||||||
2 | 1.5 | 可乐 | 雪碧 | 红茶 | m1 | m2 | 0.5 | 可乐 | 雪碧 | 红茶 |
1 | 0 | 0 | 0 | 0 | 1 | 0 | 1 | 0 | 0 | 0 |
1 | 0 | 1 | 0 | 0 | 1 | 1 | 1 | 1 | 0 | 0 |
1 | 0 | 0 | 1 | 0 | 1 | 1 | 1 | 0 | 1 | 0 |
1 | 0 | 0 | 0 | 1 | 1 | 1 | 1 | 0 | 0 | 1 |
1 | 0 | 0 | 1 | 1 | 1 | 1 | 1 | |||
1 | 0 | 1 | 1 | 1 | 1 | 1 | 1 | |||
0 | 1 | 1 | 0 | 0 | 1 | 1 | 0 | 1 | 0 | 0 |
0 | 1 | 0 | 1 | 0 | 1 | 1 | 0 | 0 | 1 | 0 |
0 | 1 | 0 | 0 | 1 | 1 | 1 | 0 | 0 | 0 | 1 |
正交法的目的是为了减少用例数目。基于正交表的、高效率、快速、经济的试验。研究多因素(变量)多水平(变量的取值)的测试用例设计方法,适用于输入数据或输入数据组合量很大的场合。
正交表的构成:
行 =(水平数-1)*因素数+1; 列 = 因素数
正交表的表示形式: L=行数(水平数*因素数) L=N(TC)
正交表的性质:
正交法设计测试用例的步骤:
例题:以注册为例
1、因素:姓名、邮箱、密码、确认密码、验证码
2、水平:填写、不填写列 = 因素 = 5
行 = (水平数-1)*因素数+1 = 6
注意正交表内每一行数据不能一样(测试用例不能重复)!!!
案例:字符属性测试程序
窗体中有多个控件(字体、字符样式、颜色、字号),每个控件有多个取值
字体:仿宋,楷体、华文彩云
字符样式:粗体·、斜体、下划线
颜色:红色、绿色、蓝色
字号:20号、30号、40号
得到正交表:
把各个孤立的功能点按照一定的策略组合起来,形成一个应用场景
典型的应用:用业务流把各个孤立的功能点串起来
找出场景中的每一个功能点,根据每一个功能点正常和异常的情况设计测试用例
例1:
当当网购书流程:
登陆——查找书籍——放入购物车——结算(生成订单)——支付
是经验丰富的测试人员喜欢使用的一种测试方法。有针对性地设计测试用例。梳理出产品以往哪些地方容易出现问题,问题越多的地方,潜在的bug也就越多。
粒度:指测试用例编写的详细程度。
最简单的测试用例:是测试的纲要,仅指出要测试的内容,如探索性测试中的测试设计,仅会指出需要测试产品的哪些要素、需要达到的质量目标、需要使用的测试方法等。
复杂的测试用例:会指定输入的每项数据,期待的结果及检验的方法, 具体到界面元素的操作步骤,指定测试的方法和工具等。带来效率问题和维护成本问题