本文节选自霍格沃兹测试开发学社内部教材

场景法就是模拟用户操作软件时的场景,主要用于测试系统的业务流程。

测试不能只关注某个控件的边界值、等价类是否满足要求,也要关注它的主要功能和业务流程是否正确实现,这时就需要使用场景法来完成。

场景法

用例场景是用来描述流经用例路径的过程,这个过程从开始到结束遍历用例中所有基本流和备选流。

  • 基本流:按照正确的业务流程来实现的一条操作路径即模拟正确的操作流程。
  • 备选流:导致程序出现错误的操作流程即模拟错误的操作流程。

现在的产品几乎都是由事件触发来控制流程的,事件触发时的情景便成了场景,而同一事件不同的出发顺序和处理结果便形成了事件流。

在使用场景法设计测试用例时,需要覆盖系统用例中的主成功场景和扩展场景,并且需要适当补充各种正反面的测试用例以及考虑出现异常场景的情形。

场景法用例设计步骤

设计场景用例首先需要根据需求规格说明得出功能模块流程图,描述出程序的基本流及备选流,其次根据基本流和备选流生成不同的场景,构造场景列表,最后对每一个场景生成相应的测试用例,对所有的测试用例重新复审,去掉多余的测试用例。确定测试用例之后,为每一个测试用例确定测试的数据值即可完成场景用例的设计。

实例

对淘宝网通过购物车购物的流程设计测试用例。

画流程图

整个业务通过流程图来表示如下图所示:

确定基本流和备选流

基本流

  1. 进入淘宝首页
  2. 浏览商品
  3. 进入单品页
  4. 选择商品规格和数量
  5. 加入购物车
  6. 前往购物车
  7. 选择商品
  8. 结算,进入确定订单页
  9. 提交订单
  10. 付款成功
  11. 等待收获
  12. 确认收货

备选流

  1. 加入购物车时,不选择商品规格和型号,返回基本流第 4 步。
  2. 加入购物车时,商品库存不足,返回基本流第 4 步。
  3. 加入购物车时,未登录,登录后返回基本流第 3 步。
  4. 加入购物车后,继续选购,返回基本流第 4 步。
  5. 加入购物车,未选择商品,结算,返回基本流第 7 步。
  6. 支付失败,返回基本流第 8 步。
  7. 未选择商品加入购物车,退出购物,结束。

构造场景

  1. 登录后成功购物(基本流)
  2. 未选择商品规格和型号就添加购物车(基本流 + 备选流 1)
  3. 选择的商品库存不足(基本流 + 备选流 2)
  4. 未登录添加购物车(基本流 + 备选流 3)
  5. 商品添加购物车后继续购物(基本流 + 备选流 4)
  6. 进入购物车,未选择商品直接结算(基本流 + 备选流 5)
  7. 支付过程出错(基本流 + 备选流 6)
  8. 没有添加商品到购物车(基本流 + 备选流 7)

生成测试用例

用例编号 测试点 测试步骤 预期结果
1 登录后成功购物 前提条件:登录 1、进入淘宝首页 2、查看商品列表 3、点击进入单品页 4、选择商品规格和小于库存的数量 5、点击【加入购物车】 6、提示成功加入购物车 7、进入购物车页面 8、选择刚加入购物车的商品 9、点击【结算】 10、进入确认订单页 11、提交订单 12、付款成功 13、确认收货 确认收货成功,订单完成
2 单品页未选择商品规格 和型号,添加购物车, 单品页上提示需要选择 商品规格与型号 前提条件:登录 1、进入淘宝首页 2、查看商品列表 3、点击进入单品页 4、直接点击【加入购物车】 单品页上提示需要 选择商品规格与型号
3 选择的商品库存不足, 添加购物车,提示库 存不足 前提条件:登录 1、进入淘宝首页 2、查看商品列表 3、点击进入单品页 4、选择商品规格和大于库存的数量 单品页上提示库存不足
4 未登录添加购物车, 进入登录页面 前提条件:未登录 1、进入淘宝首页 2、查看商品列表 3、点击进入单品页 4、选择商品规格和小于库存的数量 5、点击【加入购物车】 进入登录页面
5 商品添加购物车后 继续购物,留在单 品页 前提条件:登录 1、进入淘宝首页 2、查看商品列表 3、点击进入单品页 4、选择商品规格和小于库存的数量 5、点击【加入购物车】 6、提示成功加入购物车 7、继续查看商品信息 可以正常查看
6 进入购物车,未选 择商品直接结算, 提示未选择商品 前提条件:登录 1、进入淘宝首页 2、查看商品列表 3、点击进入单品页 4、选择商品规格和小于库存的数量 5、点击【加入购物车】 6、提示成功加入购物车 7、进入购物车页面 8、不选择商品 9、点击【结算】 购物车提示请勾选 要结算的宝贝
7 支付过程出错,提 示支付失败,回到 确认订单页 前提条件:登录 1、进入淘宝首页 2、查看商品列表 3、点击进入单品页 4、选择商品规格和小于库存的数量 5、点击【加入购物车】 6、提示成功加入购物车 7、进入购物车页面 8、不选择商品 9、点击【结算】 10、进入确认订单页 11、提交订单 12、支付失败 回到确认订单页, 提示支付失败
8 没有添加商品到购 物车,结束购物 前提条件:登录 1、进入淘宝首页 2、查看商品列表 3、点击进入单品页 4、不点击【加入购物车】 5、关闭页面 购物流程结束

最终生成的测试用例如上表所示,这种利用场景法设计出来的测试用例一般是对于等价类和边界值的补充,通常情况下是比较完善的。

软件测试 | 测试开发 | 黑盒测试方法论—场景法相关推荐

  1. 技术分享 | 黑盒测试方法论—场景法

    场景法就是模拟用户操作软件时的场景,主要用于测试系统的业务流程. 测试不能只关注某个控件的边界值.等价类是否满足要求,也要关注它的主要功能和业务流程是否正确实现,这时就需要使用场景法来完成. 场景法 ...

  2. 【测试用例设计】黑盒测试方法论-场景法

    场景法 模拟用户操作软件时的场景,主要用于测试系统的业务流程. 用例场景定义 基本流:按照正确的业务流程来实现的一条操作路径 备选流:导致程序出现错误的操作流程 场景法用例设计步骤 根据需求规格说明, ...

  3. 软件测试 | 测试开发 | 测试人生 | 00后0经验应届毕业生拿下2线城市15W offer,好励志~

    本文为霍格沃兹测试开发学社优秀学员跳槽笔记,测试开发进阶学习文末加群. 本人毕业于武汉市某不知名二本院校的物联网工程专业,物联网专业在我们学校是偏硬件的,对于软件的学习仅仅停留在基本的理论和操作方面. ...

  4. 软件测试 | 测试开发 | 年薪超过40W,一位测试媛宝妈的 BAT 大厂逆袭之旅

    本文为霍格沃兹测试学社优秀学员跳槽笔记,测试开发进阶学习文末加群. 本人之前是在一家二流互联网企业(已上市,不算真正的互联网),工作2年多.因为业务不断的调整和结婚生孩子,导致绩效不佳还是刚入职时的薪 ...

  5. 软件测试测试开发技能

    从事软件测试许多年,想必很多人都有感到迷茫不知所措的时候,人生的十字路口有很多,该如何抉择呢?有人成功转型,QA.项目管理.配置管理.当然还有技术型,性能测试.自动化测试.测试开发,而想要延续走技术型 ...

  6. 软件测试 | 测试开发 | 从外包菜鸟到测试开发,薪资一年翻三倍,连自己都不敢信!(附面试真题与答案)

    本人本科就读于某普通院校(很普通的那种技术示范学院),毕业后懵懂的加入了软件测试这个行业,至今有三年工作经验.通过在霍格沃兹测试学院的这段学习经历,我的职业角色完成了从功能测试到外包测试,再到测试开发 ...

  7. 软件测试 | 测试开发 | 智能音箱语音交互系统简介与测试初探

    随着AI技术的发展,智能语音交互技术也得到了巨大的发展和应用.由于语音是最自然的交互形态之一,有着输入效率高.门槛低.方便解放双手以及能有效进行情感交流的优势,使得智能音箱成为语音交互的典型应用产品. ...

  8. 软件测试 | 测试开发 | 双非院校,从外包到外企涨薪85%,他的涨薪秘籍全公开

    本文为霍格沃兹测试开发学社优秀学员跳槽笔记,测试开发进阶学习文末加群. 本身是一所不入流的院校毕业的一名建工类专业的瓜娃子,至今记得当初是因为找工作被培训公司忽悠才加入到这个行业的,抱着做着试试的想法 ...

  9. 软件测试/测试开发丨Java or Python?测试开发工程师如何选择合适的编程语言?

    很多测试开发工程师尤其是刚入行的同学对编程语言和技术栈选择问题特别关注,毕竟掌握一门编程语言要花不少时间成本,也直接关系到未来的面试和就业(不同企业/项目对技术栈要求也不一样),根据自身情况做一个相对 ...

最新文章

  1. (Deep learning)深度卷积网络实战——第四部分
  2. linux免密码登录ppk,【原创文章】通过WDCP生成密钥对免密码登录linux的方法
  3. 排序趟[置顶] Java和C实现的冒泡排序(基本思想)
  4. 【追一科技】NLG技术:文本生成技术多样化应用的探索之路
  5. 利用TreeView控件动态生成无限级树(续:通过绑定动态xml文件)(转)
  6. 主动提交事务_对于分布式事务,我“开门见山”地谈到这些理解,面试官都听懵了...
  7. 简单的Latex模板
  8. Loadrunner11安装
  9. Popclip插件:任务自动添加进 Microsoft ToDo的任务列表
  10. Rimworld Mod制作教程2 创建数据定义
  11. Java实现简易联网坦克对战小游戏(内涵源码)//Java+Java游戏+拓展学习+资源分享
  12. 【C语言】fwrite 写如0X0A时,自动添加0X0D的解决方法
  13. static静态变量 与 常量
  14. 华为 Telnet aaa认证模式
  15. 猫猫学习ios 之第三方登录友盟实现
  16. 沈向洋、洪小文与恩师Raj Reddy聚首对话,畅谈AI之路
  17. RabbitMQ的第一次亲密接触
  18. 编曲软件哪个好用-哪个好上手
  19. SpringBoot 面向切面编程
  20. 打印机八大常见共性故障解决方法

热门文章

  1. 每日新闻丨人工智能应用红利兑现期正在到来;三星向华为供应可折叠OLED面板...
  2. 戴尔硬件服务器,服务器硬件、结构介绍_Intel Xeon E5-2660 v4_服务器x86服务器-中关村在线...
  3. veracrypt取消加密卷_VeraCrypt 加密个人隐私(便携式 )
  4. Android系统手机开机画面各个阶段代码执行流程分析(Part2)
  5. 一加ace2v和2区别对比 一加ace2和一加ace2v哪个好
  6. 从瀑布到敏捷——漫画解读软件开发模式变迁史
  7. layui table 改变列表字体颜色
  8. Bootstrap4——字体大小根据屏幕改变解决方案
  9. 计算机系统结构——量化研究方法(第三版)
  10. 3-3 uniapp、HTML5+、Native.js 功能代码汇总