黑盒测试用例测试方法: 按需求设计测试用例法, 等价类划分法, 边界值法, 判定表.
在前面的文章中已经介绍过
基于需求设计测试用例的方法是仔细阅读需求文档, 分析测试需求, 检查需求是否正确完整, 以及逻辑是否正确. 确保需求正确并且掌握需求之后, 根据需求来提炼测试点, 在测试点的基础上设计测试用例(测试用例是测试点的详细介绍, 包含了测试用例的几大要素).
一般将测试分为两点. 分别是功能测试和非功能测试.
对于功能测试, 通常包括以下几点:
对于非功能测试, 有以下几点:
以下例子中只写到了测试点, 测试用例还应根据测试用例的几大元素进行详细设计.
等价类法是从有效等价类集合和无效等价类集合中各选出一例用于测试, 如果测试结果都符合预期结果, 则认为有效等价类集合和无效等价类集合中的所有用例都符合预期结果.
有效等价类: 有效等价类是在需求规格说明书中, 符合输入规则的用例集合.
无效等价类: 无效等价类是在需求规格说明书中, 不符合输入规则的用例集合.
等价类法设计测试用例首先要求测试人员掌握需求, 然后划分有效等价类和无效等价类, 最后分别从有效等价类和无效等价类中选出一个数据作为用例进行测试.
举个栗子:
功能需求: 密码位数须在8到16位.
边界值法与等价类划分法类似, 但是边界值法比等价类划分法的测试用例更加全面, 测试覆盖率更广, 两者通常结合使用.
边界值法首先也是要充分理解需求, 然后找到边界点, 最后针对边界点设计测试用例.
边界点有以下三种:
举个例子
功能需求: 密码位数须在8到16位(包括8不包括16).
此时上点为8和16, 内点为8到16之间的任意值, 离点为7和16.
这里需要先介绍一下因果图法, 因为因果图法最终也需要转换成判定表从而设计测试用例, 因此这里标题写成了判定表法.
首先需要了解因果图法中的几个输入和输出间的关系:
判定表法首先需要分析出所有可能的输入和输出, 然后找出输入和输出间的对应关系, 画出判定表, 最后吧表对判定表对应到每一个测试用例.
比如: 订单提交后, 如果金额满200或有优惠券, 则优惠.
所有可能的输入和输出
输入: 订单是否提交, 金额是否满200, 是否有优惠券.
输出: 是否优惠.
输入和输出间的关系
订单提交, 金额满200, 有优惠券, 优惠
订单提交, 金额满200, 没有优惠券, 优惠
订单提交, 金额不满200, 有优惠券, 优惠
订单提交, 金额不满200, 没有优惠券, 不优惠
订单未提交, 金额满200, 有优惠券, 不优惠
订单未提交, 金额满200, 没有优惠券, 不优惠
订单未提交, 金额不满200, 有优惠券, 不优惠
订单未提交, 金额不满200, 没有优惠券, 不优惠
画出判定表
对应测试用例
正交排列法是用更少的用例覆盖判定法输入的两两组合. 是研究多因素多水平的一种设计方法. 在元素的所有水平组合中挑选部分组合设计测试用例, 用部分组合的测试结果代表全部组合的测试结果. 正交设计实验是一种基于正交表的高效率, 快速的实验.
因素
: 要考察的变量称为因素.
水平(位级)
: 变量的值称为水平. 也叫位级. \
正交表有两个性质
:
可以使用allpairs来快速生成正交表.
正交法首先要充分了解需求, 然后找出因素和水平. 之后将因素和水平写入一个excle表中. 在allpairs同级目录下, 创建一个txt文件, 然后将excle表中的数据复制到txt文件中. 最后使用cmd生成正交表.
举个例子, 要完成一个注册功能, 用户必须输入用户名, 邮箱, 密码, 确认密码, 验证码才能继续注册.
因素和水平:
因素: 用户名, 邮箱, 密码, 确认密码, 验证码.
水平: 填写, 未填写.
建立excle表
建立txt文件
使用allpairs建立正交表
~
表示可以填写, 也可以不填写.
生成测试用例
对照正交表设计出测试用例.
填补测试用例
发散思维, 填补必要的测试用例.
上述例子中正交表中的数据没必要填补, 用例也没必要填补.
通常情况下是通过时间来触发流程, 对同一时间的不同处理结果形成了不同的事件流. 使用场景设计法可以描绘出事件触发时的情景.
使用场景设计法设计测试用例就是用业务流将孤立的功能串联起来
, 首先要充分理解业务需求, 确认主事件流和次事件流, 每一条事件流就是一个测试用例. 通常情况下是将用户经常使用的功能模块串联到一起进行测试, 从而确保用户经常使用的功能模块不会出问题.
比如ATM取款:
依靠测试经验猜测哪块功能可能会出现错误, 通常是细节上的错误.