大家好!
用例非常关键,用例的好坏直接体现你对业务理解深刻与否,对后期自动化影响更大,这里主要通过2个场景分享下交叉路径覆盖。
目录
1、正交表
2、实际运用场景
3、总结
一、正交表
参考这2篇文章就够了
1、百度百科:正交表
https://baike.baidu.com/item/正交表/948850?fr=aladdin
2、用正交表设计测试用例
https://www.cnblogs.com/gisen_6/p/3708169.html
相关工具:
正交设计助手和PICT
二、实际运用场景
场景1:
网站对一些素材进行广告植入:
表单元素类似这样:
疑问:
在你不知道用正交表的时候,你会如何设计用例路径?随便走?那会遗漏不少场景?
植入位置:片头、片中、片尾
植入方法:作者、视频、多维度(省、省市、医院、学科)
全覆盖:18条路径(多维度的每个维度看成一个单独的方法)
其实这个用正交表表示:
2个因素:植入位置、植入方法
植入位置:3个水平项
植入方法:6个水平项
所以最合适的正交表是:L2(3^1 *6^1),如果有这样的正交表,或者在Windows系统下用 正交设计表等工具,会非常方便。
当然我们自己也可以构造,但是不一定科学合理。Max系统下好像没有发现方便的正交工具。
结论:那就人工想想18条路径,有没有可以交叉设计的?这个场景下貌似没有,我们看看下面这个场景。
场景2:
类型有3种;内容有3种;配置有3种,每种2种选项,全覆盖多少路径?
我们看type1的时候,其他2个因素(内容、访问配置)有多少可能?全覆盖的话:
type1 内容1 访问游客是
type1 内容1 访问游客否
type1 内容1 全平台可见是
type1 内容1 全平台可见否
type1 内容1 投放A处是
type1 内容1 投放A处否
光是这么覆盖6个路径:6*3*3= 54条路径。
实际工作中,你会这么覆盖么?在没有自动化的前提下,如何确保覆盖量?交叉路径设计。
发现最不关键的因素是:内容,这个维度完全没必要一一覆盖,所以可以这么设计路径:
1 type1 内容1 游客访问是
2 type2 内容2 游客访问否
3 type3 内容3 全平台可见是
4 type1 内容3 全平台可见否
5 type2 内容2 投放A处是
6 type3 内容1 投放A处 否
这样6条用例基本就够了。如何实现交叉路径覆盖,还是要结合实际业务场景。
三、总结
用例设计至关重要,设计离不开理论支撑。
用例写好,可以很放心的让任何人执行,执行结束后可以确保场景无Major甚至无Trival类型的Bug;也未后期自动化测试场景打下扎实基础。
再会!