业务流程测试

news2025/1/10 2:54:41

用例设计主要问题

主要问题存在于

1、测试点分析:逻辑性不强

                      对于整个页面功能划分不清晰;
                      不同测试点归类不清晰;
                      不能形成相对固定的套路,书写耗费大量时间...

2、测试用例:关于,要细致到什么程度,不太明确

                  对于UI效果等的检查也要写进初次测试的用例吗?

3、测试用例设计时是依据需求说明书还是系统?

  • 流程规范的公司,一定是基于需求说明书(或原型图)来设计测试用例

  • 进入项目的时间节点来看

  • 项目初期介入,依据需求说明书

  • 项目中后期介入,依据还是需求说明书

  • 有可能在实际测试过程中,没有需求说明书,可以参考当前的系统,同时需要结合自身测试经验进行结果的甄别

  • 项目维护阶段介入,依据需求说明书

  • 有可能在实际测试过程中,没有需求说明书,可以参考当前的系统、用户手册、bug清单等

4、这个用例没啥问题 就是时间问题 没写完

测试数据

  • 注意测试数据的时效性(测试准备)

  • 如注册时的手机号在第一次注册时是未注册的,第二次再注册时就变为已注册了,所以不是特定的数据场合下,我们可以省略这些测试数据。

  • 标题与预期结果要明确

  • 注意:如果需求中没有说明类似的错误提示消息,我们应该借助于其他同类型产品的处理方案或消息来设置用例的预期结果。

测试标题

  • 直接点明测试的目的

  • 简明扼要,不要太冗长

  • 比如异常类测试时,重点关注导致异常的条件即可,(其他正确参数可以放在预置条件里面、实际工作中约定的规则下可以不写其他正常的参数)

  • 如果是正常类测试时,可以依据有效等价类的类别(如登录时,qq、手机号、邮箱等)来细分设计测试用例

  • 标题一般来说不重复

优先级

今日目标

  • 掌握状态迁移法的使用

  • 掌握订单的状态测试

  • 掌握流程图主要元素及画法

  • 能够绘制tpshop下单及发货流程图

  • 掌握tpshop业务流程测试用例的编写

1、状态迁移法

  • 概念:

  • 基于系统中模块或节点之间的状态。来描绘状态与状态之间的关系,从而找到状态之间转化的路线设计测试用例的一种方法。

  • 适用场景

  • 需要针对复杂业务场景设计测试用例时

  • 使用步骤:

  1. 找出系统所有的节点

  1. 绘制状态迁移图

  1. 绘制状态迁移树

  1. 找出状态之间的转换路径

  • 案例分析——飞机售票系统

飞机售票系统:
(1)客户向航空公司打电话预定机票,此时机票信息处于【预定】状态。
(2)顾客支付了机票费用后,机票信息变为【已支付】状态。
(3)旅客当天到达机场,拿到机票后,机票信息变为【已出票】状态。
(4)登机检票后,机票信息变为【已使用】状态。
(5)在检票之前任何时间都可以取消自己的订票信息,取消后,订单信息处于【已取消】状态。
  1. 明确状态节点:【预定】、【已支付】、【已出票】、【已使用】、【已取消】

  1. 绘制状态迁移图

  1. 绘制状态迁移树

  1. 抽取测试路径设计用例

路径1:预定==》已支付==》已出票==》已使用

路径2:预定==》已取消

路径3:预定==》已支付==》已取消

路径4:预定==》已支付==》已出票==》已取消

2、订单测试

需求说明:
1.用户在网站完成下单后,订单状态为“等待付款”
2.用户完成付款后,订单状态变为“待发货” 
3.管理员对订单进行确认并发货后,订单状态变为“待收货” 
4.用户收到商品后,在系统中进行确认收货,订单状态变为“待评价” 
5.用户使用商品后,对商品进行评价,评价提交后,订单状态变为“已完成” 
6.商品发货前,用户可以对订单进行取消操作,取消后订单状态变为“已取消” 
7.用户付款前,管理员可以认定订单无效,此时订单处于“已作废”状态
  1. 找出流程节点与状态

【等待付款】、【待发货】、【待收货】、【待评价】、【已完成】、【已取消】、【已作废】

  1. 绘制状态迁移图

  1. 绘制状态迁移树

  1. 找到状态之间转换的所有路径

路径1:【等待付款】==》【待发货】==》【待收货】==》【待评价】==》【已完成】

路径2:【等待付款】==》【已作废】

路径3:【等待付款】==》【已取消】

路径4:【等待付款】==》【待发货】==》【已取消】

3、业务流程测试

3.1 流程图介绍(复习)

流程图:

流程图是对过程、算法、流程的一种图像表示,在技术设计、交流及商业简报等领域有广泛的应用。
通常用一些图框来表示各种类型的操作,在框内写出各个步骤,然后用带箭头的线把它们连接起来,以表示执行的先后顺序。用图形表示算法,直观形象,易于理解。有时候也被称之为输入-输出图。

  • 椭圆:开始/结束

  • 箭头:路径,流程的走向

  • 平行四边形:数据的输入/输出

  • 长方形:处理/步骤/过程

  • 菱形:判定/判断

3.2 绘制流程图

绘制原则:

  • 不要漏掉流程路径

  • 现有判断,再有判断结果

  • 推荐讲主业务流程放在最中间,便于阅读

案例1:ATM取款流程

案例2:缺陷管理流程

3.3 业务流程测试

  • 业务流程测试的关注点:

  • 关注点在核心业务是否能够跑通

  • 重点不是关注单个功能模块的细节点

  • 业务流程测试的价值:

  • 客户角度:对客户最有价值的是业务的实现,不是单功能模块的质量

  • 测试人员角度:分配任务往往是针对功能模块划分,业务流程的测试容易遗漏

  • 进行业务流程测试的时机

  • 上线前进行业务流程测试的确认

  • 单功能模块基本可用的情况下,尽早进行(冒烟测试)

3.4 业务流程测试用例设计

  • 需求分析,明确流程

  • 画出流程图

  • 编写测试用例,一条路径对应一条测试用例

  • 路径比较多时,可以对所测业务路径设置优先级

3.5 测试团队中体现专业价值,个人价值

  • 熟悉项目阶段,画出组织架构图,展现工作成果

  • 进入项目,进行一段时间的测试之后,画出项目的业务流程图

  • 体现个人对项目业务的深入理解

  • 业务流程图可以作为整个团队的知识积累

4、tpshop业务流程测试

4.1 绘制tpshop下单流程

4.2 绘制tpshop发货流程

4.3 设计tpshop业务流程测试用例

  • 前台下单

  • 后台发货

今日总结

  • 掌握状态迁移法的使用

  • 掌握订单的状态测试

  • 掌握流程图主要元素及画法

  • 能够绘制tpshop下单及发货流程图

  • 掌握tpshop业务流程测试用例的编写

作业说明

1.用xmind梳理今日知识点。
2.绘制tpshop业务流程图,完成业务流程用例设计与执行、并提交缺陷。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/388841.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

一个供参考的计算机的学习路线

本文是介绍如何成为一个Geek,一个真正的计算机高手。 适合有成为IT领域技术大牛的人参考。 写给大一新生和所有向深耕IT领域的人,避免走一些弯路。 仅代表个人想法,供批判性参考。 第一门入门的必备功课-语法与算法 什么是计算机&#xff1f…

力扣sql简单篇练习(二十二)

力扣sql简单篇练习(二十二) 1 上月播放的儿童适宜电影 1.1 题目内容 1.1.1 基本题目信息 1.1.2 示例输入输出 a 示例输入 b 示例输出 1.2 示例sql语句 # Write your MySQL query statement belowSELECT titleFROM ContentWHERE kids_contentY AND content_typeMoviesAND c…

MYSQL性能分析,Explain

文章目录一、MYSQL常见瓶颈二、ExplainExplain是什么一、MYSQL常见瓶颈 CPU: CPU饱和IO:磁盘IO速度过慢。服务器的硬件性能瓶颈。 二、Explain Explain是什么 使用explain关键字可以模拟优化器执行sql查询语句,从而知道mysql如何处理你的…

Python 随机漫步

目录 1. 创建 RandomWalk 类 2. 选择方向 3. 绘制随机漫步图 4. 总结 本篇博客将使用 Python 来生成随机漫步数据,在使用 Matplotlib 以引人注目的方式将这些数据呈现出来。 随机漫步 是这样行走得到的路径:每次行走都是完全随机的、没有明确…

跨域问题以及Ajax和Axios的区别

文章目录1. 同源策略2. 同源策略案例3. 什么是跨域4. 跨域解决方法4.1 Ajax的jsonp4.2 CORS方式4.3 Nginx 反向代理5. Axios 和 Ajax 的区别6. Axios 和 Ajax 的区别及优缺点6.1 Ajax:6.1.1 什么是Ajax6.1.2 Ajax的原理6.1.3 核心对象6.1.4 Ajax优缺点6.1.4.1 优点&…

大白话+画图 从源码角度一步步搞懂ArrayList和LinkedList的使用

1.说说ArrayList 1.基本原理 ArrayList,原理就是底层基于数组来实现。 01.基本原理: 数组的长度是固定的,java里面数组都是定长数组,比如数组大小设置为100,此时你不停的往ArrayList里面塞入这个数据,此…

Warshall算法求传递闭包及Python编程的实现

弗洛伊德算法-Floyd(Floyd-Warshall)-求多源最短路径,求传递闭包 Floyd算法又称为插点法,是一种利用动态规划的思想寻找给定的加权图中多源点之间最短路径的算法, 与Dijkstra算法类似。该算法名称以创始人之一、1978年图灵奖获得者、斯坦福大…

minikube搭建Kubernetes环境

前言 Kubernetes 一般都运行在大规模的计算集群上,管理很严格,Kubernetes 充分考虑到了这方面的需求,提供了一些快速搭建 Kubernetes 环境的工具。 minikube 它是一个“迷你”版本的 Kubernetes,自从 2016 年发布以来一直在积极地…

Lesson 8.1 决策树的核心思想与建模流程

文章目录一、借助逻辑回归构建决策树1. 决策树实例2. 决策树知识补充2.1 决策树简单构建2.2 决策树的分类过程2.3 决策树模型本质2.4 决策树的树生长过程2.5 树模型的基本结构二、决策树的分类与流派1. ID3(Iterative Dichotomiser 3) 、C4.5、C5.0 决策树2. CART 决策树3. CHA…

minio安装配置和使用(一)

minio官网https://www.minio.org.cn 从官网获得安装文件。官网提供了Binary、RPM、DEB三种方式安装minio。 Binary方式我在我的测试环境中没有测试通过,按官网方式下载执行会报错如下: 查了下这个错误提示,似乎跟内存有关。 改用RPM方式安…

HCIP第一个实验

实验要求与实验拓扑子网划分分析将骨干链路看成一个整体,路由器后的2个环回地址先看成一个,最后再进行拆分。计算得出,一共需要划分为6个子网段,取三位。再将每一条网段,按照题目要求进行划分最后完成子网划分。子网划…

进行嵌入式C语言编程调试的通用办法

总结了一下调试我们嵌入式C程序的一些基本的办法和思想,供大家学习参考: 打印日志:在代码中添加打印语句,输出变量值、函数调用等信息,以便在程序运行时观察程序执行情况。 断点调试:在代码中添加断点&…

【编程实践】用 go 语言实现 B+ 树

文章目录 用 go 语言实现 B+ 树定义 B+ 树的结构B+ 树的插入操作函数B+ 树的查找小结用 go 语言实现 B+ 树 B+ 树是一种平衡的查找树,它可以有效组织存储大量的键值对,从而支持快速的插入和查找操作。 Go 语言可以用来实现 B+ 树,实现的思路是:首先,定义 B+ 树的结构,其…

【Linux】安装Linux操作系统具体步骤

1). 选择创建新的虚拟机 2). 选择"典型"配置 3). 选择"稍后安装操作系统(S)" 4). 选择"Linux"操作系统,"CentOS7 64位"版本 5). 设置虚拟机的名称及系统文件存放路径 6). 设置磁盘容量 7). 自定义硬件信息 8). 启动上述创建的新虚拟机…

【C++初阶】list的使用

大家好我是沐曦希💕 文章目录一、前言二、构造三、迭代器四、增删查改1.头插头删2.尾插尾删3.查找和插入4.删除五、其他成员函数1.排序和去重2.splice和remove3.resize一、前言 list本质是带头双向循环链表,本文只对list的一些常用接口进行说明&#xf…

Qt creator中操作QAction加入QToolBar

背景:个人笔记。我之前没有系统化学习过任何资料,使用很多工具都是按需出发,直接上手,遇到问题再研究的。所以会有一些弯路。本文言语中难免有对个人情绪的生动描述,希望不要影响读者心情,这只是我学习过程…

前端网络安全

什么是同源策略同源指的是:协议、端口号、域名必须一致。他是浏览器的一个用于隔离潜在恶意文件的重要安全机制。限制了从同一个源加载的文档或脚本,与另一个源的资源进行交互。同源策略主要限制了三个方面:当前域下的js脚本不能够访问其他域…

waf和web应用防火墙的区别

waf和web应用防火墙有什么区别?相信这两个词大家都不陌生,特别是做互联网行业的小伙伴们。对于waf和web应用防火墙,这两个名词的理解应该都很清楚。但是很多小伙伴们不知道WAF防火墙与Web防火墙有什么区别,它们之间的区别在哪里,…

Spring Cloud(微服务)学习篇(七)

Spring Cloud(微服务)学习篇(七) 1.使用代码的方式实现流量限制规则 1.1 变更SentinelController类 1.1.1 加入的代码 //流控限制 (一个或多个资源限流), postConstruct注解的作用是保证项目一启动就会加载,// 一个rule就是一个规则PostConstructpublic void FlowRule(){Li…

【C++】string的成员函数、成员常量和非成员函数

目录 string 1. string的成员函数 1.1 构造、析构和赋值运算符重载 1.1.1 构造函数 1.1.2 析构函数 1.1.3 赋值运算符重载 1.2 迭代器 1.3 容量 1.4 元素访问 1.4.1 遍历方法 1.5 修改器 1.6 字符串操作 2. string的成员常量 3. string的非成员函数 string 以下…