软件测试理论之测试用例设计六把刀
日常设计测试用例的时候,有许多经典的测试理论。比如边界法、等价法,这些经常用到我们日常的工作中。当然也有许多的理论,比如正交分解法是使用起来非常费劲。往往转化为实际的容易理解的测试语言就非常困难。
测试的时候,我们也会碰到难堪的场景,那就是测试遗漏。
我们来分析下,开发的过程。开发拿到需求后,就会开发相应的代码,然后简单的测试下功能。代码之间有可能是互相调用的,代码可能影响到的模块,有些开发是知道的,有些是不知道的。如果是有关数据库的操作,一个地方的改动有可能影响了多个模块。所以问题的复杂性就体现在这里了。
那么对于日常测试每个新功能,我们该怎么去构筑我们坚固的质量堡垒呢。
根据开发过程的特点,总结了我们设计测试用例六把刀。
一、功能
关注页面单个功能点验证,充分考虑开发改动的每个点。这个是保证开发每个已知的修改点都能改对。
二、关联
重点考虑修改点对其他模块的影响,包括代码的影响和操作数据引起的影响。
比如新增加的功能增加了数据库表的字段,必须关联的验证每个使用该表的该字段的模块是否正常工作。难点在于需要分析出已知和未知的影响模块,考虑的越多,往往遗漏的问题就越少。
三、流程
很多系统是有流程的,比如工作流系统。当修改了一个点的时候,我们必须考虑整个流程是否能够正常运转起来。
四、升级
我们大部分系统都是对已有的系统进行升级。对于升级前的数据,我们必须保证能够正常工作。升级之前,需要模拟好各种情况。同时,也需要对升级的数据库脚本进行充分的检查。
五、安全
比如菜单功能权限等。
六、性能
有的时候需要对性能进行考虑,比如升级脚本的执行效率,功能点的响应时间,事务交易的时间。
这六把刀现在已经应用到了我们日常设计测试计划,测试用例工作中去了,成为了大家思考的一个入口点。后来大家发现有如下特点:
1)实践证明,该方法非常灵活。
在不同的颗粒度设计测试用例都可以作为我们思考的一个切入点。比如站在测试计划的角度,站在每个测试用例的角度都可以使用。
2)平易近人
道理非常简单,非常容易理解,可操作性非常高。不再是只能在课堂上讲,在实践中用不上的理论了。
3)功能和关联使用频率最高
实践证明这两个理论几乎可以用到每轮的测试中。同时为我们发现了不少的BUG。(以上言论仅代表作者的个人观点,不代表51Testing观点)
本文出自seven的测试人生公众号最新内容请见作者的GitHub页:http://qaseven.github.io/
推荐阅读
-
软件测试理论之测试用例设计六把刀
-
5.1.3 边界值法--二元基本边界值分析 边界值测试的另一个关键假设是,故障很少是由两个(或两个以上)缺陷同时出现造成的,这在可靠性理论中称为 "单一缺陷 "假设。基于 "单一缺陷 "假设的边界值测试称为基本边界值分析。 在边界值测试中,我们通常使用两值边界,然后辅助以正常值来设计输入变量的值。 对于只有 x 和 y 两个输入变量的软件,输入域在二维坐标系中呈阴影状。使用基本边界值分析法得到的测试用例就是黑点所在的位置,总共有九个测试用例。 如果有一个 n 变量的软件输入域,则选择其中一个变量略小于最小值、最小值、正常值、最大值和略大于最大值这五个值,其余全部取正常值。对这个 n 个变量的软件输入域进行边界值分析,可产生 4n+1 个测试用例。 三值基本边界值分析