当前位置: 首页 > news >正文

黑盒测试:测试用例设计之场景法(流程图法)(模拟用户实际使用软件的场景来设计测试用例,适用于业务流程复杂的系统测试)基本流、备选流

文章目录

  • 一、场景法的基本概念
    • 核心概念
      • - **基本流**:按照正确的业务流程来实现的一条操作路径(无任何错误,程序从开始直接执行到结束)
      • - **备选流**:在特定条件下,程序可能出现的其他工作路径,通常涉及错误处理或特例(导致程序出现错误的操作流程)
  • 二、场景法的设计步骤
    • 1. **根据需求规格说明,画出功能模块流程图**
    • 2. **根据流程图,描述出程序的基本流及备选流**
    • 3. **根据基本流和备选流生成不同的场景,构造场景列表**
    • 4. **对每一个场景生成相应的测试用例**
    • 5. **对生成的所有测试用例重新复审,去掉多余的测试用例**
    • 6. **测试用例确定后,为每一个测试用例确定测试数据值**
  • 三、场景法的案例分析:淘宝网购物流程
    • 1. 基本流(正常流程)
    • 2. 备选流(异常流程)
    • 3. 生成的场景
    • 4. 示例流程图
    • 5. 测试用例表
  • 四、场景法的优势
    • 1. **更贴近用户实际使用**:模拟真实用户操作流程,能更准确地发现业务流程中的问题
    • 2. **提高测试覆盖率**:通过覆盖基本流和各种备选流,确保系统在各种场景下都能正常工作
    • 3. **易于理解和执行**:测试用例描述清晰,测试人员和开发人员都能轻松理解
    • 4. **优先验证核心业务**:在冒烟测试时主要采用场景法,先验证主要业务流程是否正确
    • 5. **为后续测试提供基础**:在确认主要业务流程无问题后,再用边界值、等价类等方法对细节进行测试
  • 五、场景法的适用场景
    • - 业务流程较为复杂的系统(如电商、金融交易系统)
    • - 重点关注业务流程是否正确的测试场景
    • - 需要验证用户操作路径完整性的测试
    • - 在测试初期验证主成功场景和扩展场景
  • 六、与其他黑盒测试方法的配合
  • 总结

场景法是黑盒测试中一种非常有效的用例设计方法,它通过模拟用户实际使用软件的场景来设计测试用例,特别适用于业务流程复杂的系统测试。

一、场景法的基本概念

场景法是一种通过运用场景来对系统的功能点或业务流程的描述,从而提高测试效果的方法。它关注的是用户行为的流程,而非单一功能点的边界值或等价类。

核心概念

- 基本流:按照正确的业务流程来实现的一条操作路径(无任何错误,程序从开始直接执行到结束)

- 备选流:在特定条件下,程序可能出现的其他工作路径,通常涉及错误处理或特例(导致程序出现错误的操作流程)

二、场景法的设计步骤

1. 根据需求规格说明,画出功能模块流程图

2. 根据流程图,描述出程序的基本流及备选流

3. 根据基本流和备选流生成不同的场景,构造场景列表

4. 对每一个场景生成相应的测试用例

5. 对生成的所有测试用例重新复审,去掉多余的测试用例

6. 测试用例确定后,为每一个测试用例确定测试数据值

三、场景法的案例分析:淘宝网购物流程

1. 基本流(正常流程)

进入淘宝首页 → 浏览商品 → 进入单品页 → 选择商品规格和数量 → 加入购物车 → 前往购物车 → 选择商品 → 结算,进入确认订单页 → 提交订单 → 付款成功 → 等待收货 → 确认收货

2. 备选流(异常流程)

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

3. 生成的场景

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

4. 示例流程图

进入淘宝首页
已登录?
浏览商品
登录
进入单品页
选择规格/数量
选择规格?
提示:请选择规格
加入购物车
继续选购?
前往购物车
选择商品
有商品?
提示:购物车为空
结算
提交订单
付款
支付成功?
提示:支付失败
等待收货
确认收货
完成
库存>0?
提示:库存不足

5. 测试用例表

用例ID场景描述测试步骤预期结果测试数据
TC001场景1:登录后成功购物1. 登录淘宝
2. 浏览商品→进入单品页→选规格数量→加入购物车
3. 前往购物车→结算→提交订单→付款成功
订单状态显示“已支付”,系统提示“支付成功”商品ID: 1001,数量: 1
TC002场景2:未选规格添加购物车1. 登录淘宝
2. 进入单品页→直接点击“加入购物车”(不选规格)
系统提示“请选择商品规格”商品ID: 1002
TC003场景3:库存不足1. 登录淘宝
2. 进入单品页→选规格数量→点击加入购物车
系统提示“库存不足,当前库存:0”商品ID: 1003,库存=0
TC004场景4:未登录添加购物车1. 未登录→进入单品页→点击“加入购物车”跳转至登录页,登录后返回单品页未登录状态
TC005场景5:添加购物车后继续购物1. 登录淘宝→加入商品A到购物车
2. 点击“继续选购”→浏览并加入商品B
购物车显示商品A和商品B,可正常结算商品A: 1004,商品B: 1005
TC006场景6:购物车未选商品结算1. 登录淘宝→加入商品A到购物车
2. 点击“结算”(未勾选商品)
系统提示“请至少选择一件商品”商品A已加入购物车
TC007场景7:支付失败1. 登录淘宝→完成订单提交→点击“立即支付”
2. 模拟支付超时/余额不足
系统提示“支付失败,请重新支付”金额: 100元,支付超时
TC008场景8:未添加商品退出购物1. 登录淘宝→点击“购物车”(无商品)→点击“退出购物”直接返回首页,无错误提示购物车为空

四、场景法的优势

1. 更贴近用户实际使用:模拟真实用户操作流程,能更准确地发现业务流程中的问题

2. 提高测试覆盖率:通过覆盖基本流和各种备选流,确保系统在各种场景下都能正常工作

3. 易于理解和执行:测试用例描述清晰,测试人员和开发人员都能轻松理解

4. 优先验证核心业务:在冒烟测试时主要采用场景法,先验证主要业务流程是否正确

5. 为后续测试提供基础:在确认主要业务流程无问题后,再用边界值、等价类等方法对细节进行测试

五、场景法的适用场景

- 业务流程较为复杂的系统(如电商、金融交易系统)

- 重点关注业务流程是否正确的测试场景

- 需要验证用户操作路径完整性的测试

- 在测试初期验证主成功场景和扩展场景

六、与其他黑盒测试方法的配合

场景法通常作为黑盒测试的第一步,先验证核心业务流程是否正常,然后再使用其他方法进行更细致的测试:

  1. 先用场景法验证主要业务流程
  2. 再用等价类划分法验证输入数据的边界
  3. 最后用边界值分析法验证临界条件

场景法不是万能的,它更适用于业务流程的测试,对于单一功能点的边界条件测试,还需要配合等价类划分、边界值分析等方法。

总结

场景法是黑盒测试中一种高效、实用的测试用例设计方法,它通过模拟用户真实操作场景来覆盖系统的主要功能和异常情况。在实际测试工作中,应首先使用场景法验证核心业务流程,然后再通过其他方法对细节进行补充测试,从而确保软件系统的功能完整性和稳定性。

http://www.dtcms.com/a/391360.html

相关文章:

  • Django + Vue3 前后端分离技术实现自动化测试平台从零到有系列 <第二章> 之 平台功能架构整理
  • 神经网络学习笔记14——高效卷积神经网络架构EfficientNet
  • Flutter实现滑动页面停留吸附
  • 【Linux】基本指令介绍
  • 爬虫逆向--Day22Day23--核心实战案例【荔枝网】【WASM学习】----待完成
  • 【软考-系统架构设计师】特定领域软件体系结构(DSSA)
  • idea git使用提示问题处理
  • 数据结构初阶——哈希表的实现(C++)
  • Problem: lab-week3- exercise01 Insertion sort
  • 金融级虚拟机安全:虚拟化平台5大安全风险与国产化防护实践
  • 可视化在智慧城市中的应用
  • C#实现高性能拍照(旋转)与水印添加功能完整指南
  • Pandas 2.x与PyArrow:深入探索内存优化与性能提升技巧
  • opencv之轮廓识别
  • lesson65:JavaScript字符串操作完全指南:从基础到高级实战
  • 【脑电分析系列】第19篇:深度学习方法(一):卷积神经网络(CNN)在EEG图像/时频图分类中的应用
  • 写文件的几种方法
  • 序列化与反序列化漏洞及防御详解
  • uniapp 锁定竖屏,固定竖屏,锁定屏幕
  • 论文解读 | Franka 机器人的 CRISP-ROS2 集成实践:适配学习型操作策略与遥操作
  • Redis数据库(二)—— Redis 性能管理与缓存问题解决方案指南
  • TCP KeepAlive判断离线的记录
  • Ceph 测试环境 PG_BACKFILL_FULL
  • 维星AI的GEO搜索优化:企业在AI时代的可见度突围之道
  • Abp Vnext 数据库由SQL server切换MySQL
  • Linux嵌入式自学笔记(基于野火EBF6ULL):4.gcc
  • Mellanox网卡寄存器PPCC
  • [vibe code追踪] 应用状态管理 | 交互式点击 | 共享白板
  • SG-TCP232-110 单通道串口服务器,一键实现串口与以太网双向转换
  • 零基础入门神经网络:从数学公式到通俗理解