C++ 全栈知识体系C++ 全栈知识体系
✿导航
  • 基础
  • 函数
  • 知识点
  • IO框架
  • 新版本特性
  • 数据库原理
  • SQL语言
  • SQL - MySQL
  • NoSQL - Redis
  • NoSQL - ElasticSearch
  • 算法基础
  • 常见算法
  • 领域算法
  • 分布式算法
  • 数据结构与算法
  • 计算机网络
  • 操作系统
  • 计算机组成
  • 开发
  • 测试
  • 架构基础
  • 分布式系统
  • 微服务
  • 中间件
  • 概念
  • 理论
  • 架构设计原则
  • 设计模式
  • 协议
  • 技术选型
  • 编码规范
  • 流水线构建 - CI/CD
  • 知识点 - Linux
  • 网站 - Nginx
  • 容器化 - Docker
  • 容器编排 - Kubernetes
  • 服务网格 - Service Mesh Istio
  • 常用快捷键 - Shortcut
  • 工具使用 - Tools
  • 开源项目
  • 学习项目
  • 个人项目
  • 项目开发
  • 项目Idea
  • 并发
  • 部署
  • 分布式
  • 知识
  • 问题
  • 编程语言与技术
  • 系统与架构
  • 软件开发实践
  • 数据处理与应用设计
  • 个人
  • 产品
  • 团队
  • 知识体系
  • Vue
关于
✿导航
  • 基础
  • 函数
  • 知识点
  • IO框架
  • 新版本特性
  • 数据库原理
  • SQL语言
  • SQL - MySQL
  • NoSQL - Redis
  • NoSQL - ElasticSearch
  • 算法基础
  • 常见算法
  • 领域算法
  • 分布式算法
  • 数据结构与算法
  • 计算机网络
  • 操作系统
  • 计算机组成
  • 开发
  • 测试
  • 架构基础
  • 分布式系统
  • 微服务
  • 中间件
  • 概念
  • 理论
  • 架构设计原则
  • 设计模式
  • 协议
  • 技术选型
  • 编码规范
  • 流水线构建 - CI/CD
  • 知识点 - Linux
  • 网站 - Nginx
  • 容器化 - Docker
  • 容器编排 - Kubernetes
  • 服务网格 - Service Mesh Istio
  • 常用快捷键 - Shortcut
  • 工具使用 - Tools
  • 开源项目
  • 学习项目
  • 个人项目
  • 项目开发
  • 项目Idea
  • 并发
  • 部署
  • 分布式
  • 知识
  • 问题
  • 编程语言与技术
  • 系统与架构
  • 软件开发实践
  • 数据处理与应用设计
  • 个人
  • 产品
  • 团队
  • 知识体系
  • Vue
关于
  • 开发

    • 常用开发库

      • 常用开发库 - 概述
      • 常用开发库 - Cppcheck
      • 常用开发库 - Cppunit
      • 常用开发库 - Drogon
      • 常用开发库 - FastCGI
      • 常用开发库 - Googletest
      • 常用开发库 - Hiredis
      • 常用开发库 - Jsoncpp
      • 常用开发库 - Log4cpp
      • 常用开发库 - Poco
      • 常用开发库 - Protobuf
      • 常用开发库 - Tinyxml
      • 常用开发库 - Yamlcpp
      • 常用开发库 - ZeroMQ
  • 测试

    • 测试理论

      • 测试理论 - 软件测试的发展
      • 测试理论 - 软件开发过程模型
      • 测试理论 - 测试模型
      • 测试理论 - 软件测试分类
      • 测试理论 - 基本原则及流程
    • 测试用例

      • 测试用例 - 概念
      • 测试用例 - 等价类划分法
      • 测试用例 - 边界值测试法
      • 测试用例 - 判定表法
      • 测试用例 - 因果图法
      • 测试用例 - 正交法
      • 测试用例 - 场景法
      • 测试用例 - 功能图法
    • 测试工具

      • 测试工具 - Postman使用
      • 测试工具 - RobotFramework使用

测试用例 - 场景法

  • 为什么使用场景法设计测试用例
  • 概念
  • 使用场景法设计测试用例
    • 步骤
    • 案例
  • 小结

概述

为什么使用场景法设计测试用例

大多数业务软件由后台管理(比如:用户管理、角色管理、权限管理等等各种管理)和工作流等几个部分组成。终端用户,期望软件能够实现业务需求,而不是简单的功能的组合。对于单点功能利用等价类、边界值、判定表用例设计方法能够解决大部分问题。涉及业务流程的软件系统,采用场景法比较合适。

总之,对于多个功能组合测试的场景适合使用场景法,所以场景测试,也是业务场景组合测试.

概念

场景流程图

场景业务流通常分为: 基本流、备选流、异常流程

  1. 基本流

基本流表示通过业务流程时输入都正确,能达到目标的流程

  1. 备选流

备选流表示通过业务流程时输入错误(或者操作错误)导致流程存在反复,但是经过纠正后仍能达到能达到目标的流程.(插卡-->输入错误密码--》输入正确密码--》输入金额--》取款--》取卡)

  1. 异常流

异常流表示通过业务流程时输入错误(或者操作错误)产生异常终止流程

使用场景法设计测试用例

步骤

  1. 分析需求,确定基本流程、备选流程、异常流程
  2. 绘制流程图,确定流程路径, 根据流程图生成不同的场景
  3. 每一个场景就是一条测试用例

案例

需求描述

用户网上购买商品, 整个订购过程为:用户登录到网站后,进行书籍的选择,当选好自己心仪的书籍后进行订购,这时把所需图书放进购物车,等进行结帐的时候,用户需要登录自己注册的帐号,登录成功后,进行结帐并生成订单,整个购物过程结束。

测试用例实现

  1. 分析需求,确定业务流程(基本流程、备选流程、异常流程)
基本流程用户登录到网站,书籍的选择,进行订购,把所需图书放进购物车,等进行结帐的时候,登录自己的帐号,登录成功后,生成订单.
备选流程1账号不存在
备选流程2账号错误
备选流程3密码错误
备选流程4没有选购书籍
备选流程5退出系统
  1. 绘制流程图,确定流程路径,根据流程图生成不同的场景
场景1-购物成功基本流程
场景2-账号不存在基本流程备选流程1
场景3-账号错误基本流程备选流程2
场景4-密码错误基本流程备选流程3
场景5-没有选购书籍基本流程备选流程4
  1. 编写测试用例,对于每一个场景都需要确定测试用例。
测试用例编号输入条件账号密码是否选购书籍预期结果
ST-系统测试子项-1场景1张三admin@123Y购物成功
ST-系统测试子项-2场景2李四NN提示账号不存在
ST-系统测试子项-3场景3赵六adminN提示账号错误, 返回基本流程
ST-系统测试子项-4场景4张三Admin123&……N提示密码错误,返回基本流程
ST-系统测试子项-5场景5张三admin@123N提示没有选购书籍, 返回基本流程

小结

场景流程比较适合于涉及到业务需求的场景, 能够多个功能联合进行测试,不是单个功能进行测试.

Last Updated:
Contributors: klc407073648
Prev
测试用例 - 正交法
Next
测试用例 - 功能图法