大家好!

用例非常关键,用例的好坏直接体现你对业务理解深刻与否,对后期自动化影响更大,这里主要通过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;也未后期自动化测试场景打下扎实基础。

再会!

用例设计-1-交叉路径覆盖相关推荐

  1. 白盒测试 | 用例设计方法之判定覆盖

    判定覆盖也被成为分支覆盖(Branch Coverage)是设计足够多的测试用例,使得程序中的每一个判断至少获得一次"真"和一次"假",即使得程序流程图中的每一 ...

  2. 白盒测试 | 用例设计方法之语句覆盖

    语句覆盖,顾名思义就是针对代码语句的嘛.它的含义是我们设计出来的测试用例要保证程序中的每一个语句至少被执行一次.通常语句覆盖被认为是"最弱的覆盖",原因是它仅仅考虑对代码中的执行语 ...

  3. 软件测试用例分析和用例设计

    测试用例的概念 测试用例(test case),也叫测试案例,是为了达到一个最佳的测试效果或者高效的发现软件中的隐藏错误(缺陷)而精心设计的包括场景步骤和数据. 通用的定义:是关于一个功能验证时候的步 ...

  4. 测试用例设计方法(五)路径覆盖

    熟悉测试理论的人都知道,路径覆盖是白盒测试中一种很重要的方法,广泛应用于单元测试.那么基于路径覆盖的分析方法是不是只能应用于单元测试呢,能不能将其推而广之呢.一般而言,在单元测试中,路径就是指函数代码 ...

  5. POJ Treasure Exploration 【DAG交叉最小路径覆盖】

    传送门:http://poj.org/problem?id=2594 Treasure Exploration Time Limit: 6000MS   Memory Limit: 65536K To ...

  6. 设计测试用例实现语句覆盖,判定覆盖,条件覆盖,判定/条件覆盖,条件组合覆盖,路径覆盖.

    第一题: 设计测试用例实现语句覆盖,判定覆盖,条件覆盖,判定/条件覆盖,条件组合覆盖,路径覆盖. [1]语句覆盖(设计若干个测试用例,使程序中的每个可执行语句至少执行一次) (x>3)& ...

  7. 软件测试设计之MFQ模型用例设计覆盖模型

    建模完成后,需要使用测试用例来覆盖这些模型,在以前的写用例过程中用例和数据是同时完成的,在MFQ模型中,将测试用例设计分成两个步骤:一是设计基础测试用例来覆盖模型:二是针对每个测试用例更多的测试数据产 ...

  8. 用例设计方法及其覆盖率

    用例设计方法及其覆盖率 ---<软件测试:一个软件工艺师的方法>读书笔记 2018-01-27 1 基本概念 错误(error):同义词过失(mistake),编程时的错误成为bug. 故 ...

  9. 软件测试中条件覆盖,路径覆盖,语句覆盖,分支覆盖的区别

    转:软件测试中条件覆盖,路径覆盖,语句覆盖,分支覆盖的区别 举个例子吧     if   A   and   B   then   Action1     if   C   or   D   then ...

最新文章

  1. 《Python基础教程第二版》第五章-条件、循环和其他语句(一)
  2. 打工人到什么状态,就可以离职了?
  3. linux oracle 用户创建,LINUX下Oracle数据库用户创建方法详解
  4. python创建配置文件_如何写python的配置文件
  5. 货郎问题:回溯法和限界分支法
  6. Python: Convert rst to html
  7. macbook pro python开发_Mac打造python2 python3开发环境
  8. 如何理性客观地看待人工智能热潮
  9. 实现服务器负载均衡常见的四种技术
  10. 消息称苹果正在启动生产iPhone SE 3
  11. nginx限制并发连接数和连接请求数
  12. hp cp1025 linux 驱动,惠普HP LaserJet CP1025 打印机驱动
  13. win10系统下360加速球不显示网速解决方法
  14. Linux C编程实战——第六章 文件操作_项目实现_自写ls命令
  15. 《Java学习笔记1》
  16. linux vi编译显示行号,Linux系统vi或者vim编辑器中如何显示行号
  17. iText实现pdf添加文字水印
  18. Python语言程序设计笔记
  19. 个人隐私的泄露在日常工作、生活、学习中,每个人都要学会保护自己的个人隐私
  20. 10个python爬虫入门实例,学会直接上手项目开发

热门文章

  1. 《阿特拉斯耸耸肩》节选:敏捷与人类的精神
  2. makefile中函数subst函数
  3. kaldi---get_egs.sh和get_egs_targets.sh区别
  4. 团队核心成员介绍英文_利用率和非核心团队成员
  5. 爬虫基本原理介绍、实现以及问题解决
  6. onnxexplorer神经网络可视化工具
  7. 服务器系统意外关机 id41,Windows内核事件ID 41.系统已重新启动,无需首先关闭 | MOS86...
  8. topik怎么读_TOPIK6在韩国人眼里是什么难度?
  9. Python使用飞书群机器人发送消息
  10. 自行搭建私有云kodexplorer