您好!
欢迎来到京东云开发者社区
登录
首页
博文
课程
大赛
工具
用户中心
开源
首页
博文
课程
大赛
工具
开源
更多
用户中心
开发者社区
>
博文
>
测试用例设计方法六脉神剑——第五剑:化气为型,场景用例破云
分享
打开微信扫码分享
点击前往QQ分享
点击前往微博分享
点击复制链接
测试用例设计方法六脉神剑——第五剑:化气为型,场景用例破云
自猿其说Tech
2022-06-06
IP归属:未知
15280浏览
测试
### 1 引言 前几篇文章主要针对单点功能的测试用例设计方法展开介绍。然而,当拿到一个测试任务时,并非先关注某个功能的细节测试,而是先要使用场景法对主要业务流程和主要功能展开测试,当业务场景没有问题后,再使用等价类、边界值、判定表等方法对细节功能进行测试(先整体后细节)。 ### 2 概念及原理 #### 2.1 场景法概念 场景法是一种通过使用事件触发流程,对系统的功能点或业务流程进行描述的方法。对于同一事件不同的触发顺序和处理结果, 可以形成不同的场景。 在日常工作中,针对同一业务需求可以模拟出不同场景,测试用例中对所有功能点及业务流程的覆盖,有利于测试人员设计测试用例,从而提高测试效果,使测试用例更容易理解和执行。 #### 2.2 场景法设计层面 - 业务层面:需熟悉需求业务逻辑,并针对当前需求进行发散性思考。 - 技术层面:需分析出基本流和备选流,通过遍历所有基本流和备选流,可以覆盖完整的业务场景。 - - 基本流:模拟用户正确的业务操作流程 - - 备选流:模拟用户错误的业务操作流程 #### 2.3 场景法原理介绍 1)场景业务流组成 场景法一般包含基本流和备选流两种业务流。 ![](//img1.jcloudcs.com/developer.jdcloud.com/f453f512-0af0-4fb9-98e2-437dc24562b320220606145250.png) 上图中,经过用例的每条路径都可以使用基本流和备选流表示。其中,绿色主线代表基本流,是经过用例的最简单的路径,一个业务场景只存在一条基本流,基本流仅有一个起点和一个终点。 备选流表示流程存在反复,但经过纠正后依然能达到目标的流程。备选流包含假设、异常操作等多种情况。上图中,备选流1和备选流3均始于基本流,在特定条件下执行后,重新加入基本流;备选流2和备选流4均从其余备选流出发,终止场景而不加入基本流中。 2)场景组合 按上图可组合多个不同的场景: ![](//img1.jcloudcs.com/developer.jdcloud.com/4713ed9e-05ac-4248-a08b-43031567f04520220606145314.png) 3)备选流覆盖准则 - 覆盖每个备选流 - 覆盖一个循环 4)如何识别基本流与备选流? - 基本流只有一个起点和一个终点; - 基本流是主流,备选流是支流; - 备选流可始于基本流,也可始于其他备选流; - 备选流可回到基本流,也可是其他备选流的起点。 ### 3 方法步骤 1. 根据需求文档,梳理业务的流程图; 2. 分析主干业务正常执行的流程——基本流; 3. 分析出分支流程——备选流; 4. 组合基本流、备选流,确定基本场景; 5. 对每一个场景生成相应的测试用例; 6. 对每一个测试用例确定测试数据值。 ### 4 举个栗子 以销售提交报价单审批的流程为例: 销售提交多产品组合报价单至OA审批。业务场景如下: 销售提交多产品组合报价-->一级审批通过-->二级审批通过-->结束 ##### 1.业务场景梳理 ![](//img1.jcloudcs.com/developer.jdcloud.com/83ce3bea-ba7a-4f17-9fc2-fde3aaf9ec0c20220606145925.jpg) ##### 2.确定基本流: 销售提交多产品组合报价至OA审批-->一级审批通过-->二级审批通过-->结束 ##### 3.确定备选流 - 备选流1:销售提交多产品组合报价单至OA审批,销售撤回报价单; - 备选流2:一级审批人审批驳回; - 备选流3:一级审批人加签至加签人A,A审批通过; - 备选流4:一级审批人加签至加签人A,A审批驳回; - 备选流5:二级审批人审批驳回; - 备选流6:二级审批人加签至加签人B,B审批通过; - 备选流7:二级审批人加签至加签人B,B审批驳回。 ##### 4.组合基本流、备选流,确定基本场景 ![](//img1.jcloudcs.com/developer.jdcloud.com/60b1cd0d-30f2-4566-a845-e2bdb3a1ae5f20220606150009.png) ##### 5.对每一个场景生成相应的测试用例 本例中,对于每个测试用例,存在一个测试用例ID、基本场景、测试用例中涉及的所有元素以及预期结果。 通过从确定执行用例场景所需的元素入手构建矩阵;然后针对每个场景,确定包含执行场景所需条件的测试用例。在如下矩阵中,V(有效)表明这个条件必须是有效的;I(无效)表明这种条件下将激活所需备选流;N/A表明这个条件不适用于测试用例。 ![](//img1.jcloudcs.com/developer.jdcloud.com/40039e8e-e029-4c73-a731-3ca74cbe41a420220606150033.png) ##### 6.对每一个测试用例确定测试数据值 ![](//img1.jcloudcs.com/developer.jdcloud.com/f1c933ec-7646-4fd4-ad90-1924795e2cb620220606150051.png) ### 5 总结 ![](//img1.jcloudcs.com/developer.jdcloud.com/9e8ea228-39cf-4a93-a038-84a8e4a6437020220606150102.png) 通过本文讲解的场景法,可以对业务流程较为复杂的需求进行用例设计。然而,该方法并不能涵盖一个需求的全部测试点,对于细节功能、业务中的非常规操作等,还需要借助其他测试用例设计方法。如何尽可能多地覆盖业务功能,设计出完美的测试方案?下一篇文章将为您展开详细介绍~ ------------ ###### 自猿其说Tech-JDL京东物流技术与数据智能部 ###### 作者:李硕(西安CS测试小分队)
原创文章,需联系作者,授权转载
上一篇:测试用例设计方法六脉神剑——第六剑:心法至简,百家之长集成
下一篇:源码学习之Spring AOP
相关文章
安全测试之探索windows游戏扫雷
Jmeter压测实战:Jmeter二次开发之JSF采样器实现
Laputa自动化测试框架介绍
自猿其说Tech
文章数
426
阅读量
2149964
作者其他文章
01
深入JDK中的Optional
本文将从Optional所解决的问题开始,逐层解剖,由浅入深,文中会出现Optioanl方法之间的对比,实践,误用情况分析,优缺点等。与大家一起,对这项Java8中的新特性,进行理解和深入。
01
Taro小程序跨端开发入门实战
为了让小程序开发更简单,更高效,我们采用 Taro 作为首选框架,我们将使用 Taro 的实践经验整理了出来,主要内容围绕着什么是 Taro,为什么用 Taro,以及 Taro 如何使用(正确使用的姿势),还有 Taro 背后的一些设计思想来进行展开,让大家能够对 Taro 有个完整的认识。
01
Flutter For Web实践
Flutter For Web 已经发布一年多时间,它的发布意味着我们可以真正地使用一套代码、一套资源部署整个大前端系统(包括:iOS、Android、Web)。渠道研发组经过一段时间的探索,使用Flutter For Web技术开发了移动端可视化编程平台—Flutter乐高,在这里希望和大家分享下使用Flutter For Web实践过程和踩坑实践
01
配运基础数据缓存瘦身实践
在基础数据的常规能力当中,数据的存取是最基础也是最重要的能力,为了整体提高数据的读取能力,缓存技术在基础数据的场景中得到了广泛的使用,下面会重点展示一下配运组近期针对数据缓存做的瘦身实践。
自猿其说Tech
文章数
426
阅读量
2149964
作者其他文章
01
深入JDK中的Optional
01
Taro小程序跨端开发入门实战
01
Flutter For Web实践
01
配运基础数据缓存瘦身实践
添加企业微信
获取1V1专业服务
扫码关注
京东云开发者公众号