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

业务流程测试

用例设计主要问题

主要问题存在于

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业务流程图,完成业务流程用例设计与执行、并提交缺陷。

相关文章:

业务流程测试

用例设计主要问题主要问题存在于:1、测试点分析:逻辑性不强对于整个页面功能划分不清晰;不同测试点归类不清晰;不能形成相对固定的套路,书写耗费大量时间...2、测试用例:关于,要细致到什么程度&…...

[极客大挑战 2019]EasySQL 1

[极客大挑战 2019]EasySQL 1解题POC一、解题思路之暴力破解1. 弱口令2. 暴力破解二、解题思路之万能密码1. 什么是万能密码2. 测试过程解题POC 直接点击登录获取flagflag{62f0d2ca-579e-450e-941f-5f7c23a8baf7} 一、解题思路之暴力破解 这题是万能密码,所以暴力破解…...

vulnhub raven2复现

1.扫描全网段,找出了存活主机ip为192.168.85.144 nmap 192.168.85.0/24 2.nmap扫描端口 nmap -p1-65535 192.168.85.144 3.访问此网站,没找到什么地方可以利用漏洞 ,查看中间件为wordpress 4.使用dirb对该网站进行目录扫描 dirb http://1…...

LeetCode 剑指 Offer II 079. 所有子集

给定一个整数数组 nums ,数组中的元素 互不相同 。返回该数组所有可能的子集(幂集)。 解集 不能 包含重复的子集。你可以按 任意顺序 返回解集。 示例 1: 输入:nums [1,2,3] 输出:[[],[1],[2],[1,2],[3…...

打印名片-课后程序(Python程序开发案例教程-黑马程序员编著-第二章-课后作业)

实例3:文本进度条 进度条以动态方式实时显示计算机处理任务时的进度,它一般由已完成任务量与剩余未完成任务量的大小组成。本实例要求编写程序,实现图1所示的进度条动态显示的效果。 下载中下载完成图1文本进度条 实例分析 在本实例中可以将…...

为什么我们在判断字符串不为null后还要判断字符串长度大于0?

我们在做字符串判断时一般会: if (s ! null && s.length() > 0) {} 但是我就在想,字符串不为空了,那么他一定有值,字符串长度不就大于0吗,所以s.length()>0是不是有点多余? 我的思维误区是…...

javaEE 初阶 — 应用层中的 DNS 协议(域名解析系统)

文章目录什么是域名1. 如何建立 域名 与 IP 的对应关系2. 域名的分级什么是域名 域名也就是平常所说的网址,比如 www.baidu.com。 其实网络上的服务器要访问这个网址,需要的是 IP 地址。、 但是 IP 地址比较拗口不方便记忆,于是就有使用一些…...

【网络】-- 网络编程套接字(铺垫、预备)

目录 理解源IP地址和目的IP地址 认识端口号 端口号 理解源端口号和目的端口号 套接字 认识TCP与UDP协议 网络字节序 socket编程接口 socket 常见API sockaddr结构 理解源IP地址和目的IP地址 就如同我们唐僧的取经路: 唐僧的出发地到目的地:东…...

一文打通@SentinelResource

Sentinel 提供了 SentinelResource 注解用于定义资源&#xff0c;并提供了 AspectJ 的扩展用于自动定义资源、处理 BlockException 等 如果使用的是Sentinel Annotation AspectJ Extension&#xff0c;需要导这个依赖 <dependency><groupId>com.alibaba.csp</…...

苹果手机备份的文件在电脑什么地方 苹果备份文件怎么查看

在这个网络信息时代&#xff0c;为手机进行定期备份已经成为了家常便饭。在使用备份软件对苹果手机进行备份后&#xff0c;苹果手机备份的文件在什么地方&#xff0c;苹果备份文件怎么查看呢&#xff1f;本文就带大家来了解一下。 一、苹果手机备份的文件在电脑什么地方 大家…...

【MySQL速通篇001】5000字超详细介绍MySQL部分重要知识点

&#x1f340; 写在前面 这篇5000多字博客也花了我几天的时间&#x1f602;&#xff0c;主要是我对MySQL一部分重要知识点的理解【后面当然还会写博客补充噻&#xff0c;欢迎关注我哟】&#xff0c;当然这篇文章可能也会有不恰当的地方【毕竟也写了这么多字&#xff0c;错别字可…...

并发编程——synchronized优化原理

如果有兴趣了解更多相关内容&#xff0c;欢迎来我的个人网站看看&#xff1a;耶瞳空间 一&#xff1a;基本概念 使用synchronized实现线程同步&#xff0c;即加锁&#xff0c;实现的是悲观锁。加锁可以使一段代码在同一时间只有一个线程可以访问&#xff0c;在增加安全性的同…...

LeetCode 剑指 Offer II 083. 没有重复元素集合的全排列

给定一个不含重复数字的整数数组 nums &#xff0c;返回其 所有可能的全排列 。可以 按任意顺序 返回答案。 示例 1&#xff1a; 输入&#xff1a;nums [1,2,3] 输出&#xff1a;[[1,2,3],[1,3,2],[2,1,3],[2,3,1],[3,1,2],[3,2,1]] 1 < nums.length < 6 -10 < nu…...

JSONObject与JSONArray使用区别

目录 1.使用的场景区别 2. 使用方法区别 3.获取方式不同 4. 解析JSON字符串 5.总结 1.使用的场景区别 想通过键值对的形式获取数据&#xff0c;使用JSONObject。如果后台查询的是某个bean的list集合向前端页面传递&#xff0c;使用JSONArray。 2. 使用方法区别 创建方法不…...

经典C程序例程:通过进程ID得到文件名

通过进程ID得到文件名 #include <stdio.h> #include <windows.h> #include <tlhelp32.h> #include <tchar.h>BOOL EnablePrivilege(HANDLE hToken,LPCSTR szPrivName); void DispProcess(void); void DispPrsFile(void);// typedef BOOL (_stdcall *E…...

【Java】Spring MVC程序开发

文章目录Spring MVC程序开发1. 什么是Spring MVC&#xff1f;1.1 MVC定义1.2 MVC 和 Spring MVC 的关系2. 为什么学习Spring MVC&#xff1f;3. 怎么学习Spring MVC&#xff1f;3.1 Spring MVC的创建和连接3.1.1 创建Spring MVC项目3.1.2 RequestMapping 注解介绍3.1.3 Request…...

leetcode题解-704. 二分查找

给定一个 n 个元素有序的&#xff08;升序&#xff09;整型数组 nums 和一个目标值 target &#xff0c;写一个函数搜索 nums 中的 target&#xff0c;如果目标值存在返回下标&#xff0c;否则返回 -1。 示例 1: 输入: nums [-1,0,3,5,9,12], target 9 输出: 4 解释: 9 出现…...

2.2 C语言程序的错误条件

在C语言程序中,条件语句决定程序的执行路径,因此条件表达式是程序的关键。 应用最经典的程序,除法的减法实现程序,解释条件表达式的重要性。x=y*q+r,x是被除数,y是除数,q是商,r是余数。 程序的方法, x=(r-y)+y*(1+q)。 main(){ /*错误条件的程序*/ r:=x; q:=0; whil…...

laravel 邮件发送

配置 Laravel 的邮件服务可以通过 config/mail.php 配置文件进行配置。 邮件中的每一项都在配置文件中有单独的配置项&#xff0c;甚至是独有的「传输方式」&#xff0c;允许你的应用使用不同的邮件服务发送邮件 mailers > [smtp > [transport > smtp,host > env(M…...

高性能 Jsonpath 框架,Snack3 3.2.57 发布

Snack3&#xff0c;一个高性能的 JsonPath 框架 借鉴了 Javascript 所有变量由 var 申明&#xff0c;及 Xml dom 一切都是 Node 的设计。其下一切数据都以ONode表示&#xff0c;ONode也即 One node 之意&#xff0c;代表任何类型&#xff0c;也可以转换为任何类型。 强调文档…...

浏览器访问 AWS ECS 上部署的 Docker 容器(监听 80 端口)

✅ 一、ECS 服务配置 Dockerfile 确保监听 80 端口 EXPOSE 80 CMD ["nginx", "-g", "daemon off;"]或 EXPOSE 80 CMD ["python3", "-m", "http.server", "80"]任务定义&#xff08;Task Definition&…...

wordpress后台更新后 前端没变化的解决方法

使用siteground主机的wordpress网站&#xff0c;会出现更新了网站内容和修改了php模板文件、js文件、css文件、图片文件后&#xff0c;网站没有变化的情况。 不熟悉siteground主机的新手&#xff0c;遇到这个问题&#xff0c;就很抓狂&#xff0c;明明是哪都没操作错误&#x…...

今日学习:Spring线程池|并发修改异常|链路丢失|登录续期|VIP过期策略|数值类缓存

文章目录 优雅版线程池ThreadPoolTaskExecutor和ThreadPoolTaskExecutor的装饰器并发修改异常并发修改异常简介实现机制设计原因及意义 使用线程池造成的链路丢失问题线程池导致的链路丢失问题发生原因 常见解决方法更好的解决方法设计精妙之处 登录续期登录续期常见实现方式特…...

以光量子为例,详解量子获取方式

光量子技术获取量子比特可在室温下进行。该方式有望通过与名为硅光子学&#xff08;silicon photonics&#xff09;的光波导&#xff08;optical waveguide&#xff09;芯片制造技术和光纤等光通信技术相结合来实现量子计算机。量子力学中&#xff0c;光既是波又是粒子。光子本…...

管理学院权限管理系统开发总结

文章目录 &#x1f393; 管理学院权限管理系统开发总结 - 现代化Web应用实践之路&#x1f4dd; 项目概述&#x1f3d7;️ 技术架构设计后端技术栈前端技术栈 &#x1f4a1; 核心功能特性1. 用户管理模块2. 权限管理系统3. 统计报表功能4. 用户体验优化 &#x1f5c4;️ 数据库设…...

Java + Spring Boot + Mybatis 实现批量插入

在 Java 中使用 Spring Boot 和 MyBatis 实现批量插入可以通过以下步骤完成。这里提供两种常用方法&#xff1a;使用 MyBatis 的 <foreach> 标签和批处理模式&#xff08;ExecutorType.BATCH&#xff09;。 方法一&#xff1a;使用 XML 的 <foreach> 标签&#xff…...

比较数据迁移后MySQL数据库和OceanBase数据仓库中的表

设计一个MySQL数据库和OceanBase数据仓库的表数据比较的详细程序流程,两张表是相同的结构,都有整型主键id字段,需要每次从数据库分批取得2000条数据,用于比较,比较操作的同时可以再取2000条数据,等上一次比较完成之后,开始比较,直到比较完所有的数据。比较操作需要比较…...

数学建模-滑翔伞伞翼面积的设计,运动状态计算和优化 !

我们考虑滑翔伞的伞翼面积设计问题以及运动状态描述。滑翔伞的性能主要取决于伞翼面积、气动特性以及飞行员的重量。我们的目标是建立数学模型来描述滑翔伞的运动状态,并优化伞翼面积的设计。 一、问题分析 滑翔伞在飞行过程中受到重力、升力和阻力的作用。升力和阻力与伞翼面…...

uniapp 集成腾讯云 IM 富媒体消息(地理位置/文件)

UniApp 集成腾讯云 IM 富媒体消息全攻略&#xff08;地理位置/文件&#xff09; 一、功能实现原理 腾讯云 IM 通过 消息扩展机制 支持富媒体类型&#xff0c;核心实现方式&#xff1a; 标准消息类型&#xff1a;直接使用 SDK 内置类型&#xff08;文件、图片等&#xff09;自…...

mac:大模型系列测试

0 MAC 前几天经过学生优惠以及国补17K入手了mac studio,然后这两天亲自测试其模型行运用能力如何&#xff0c;是否支持微调、推理速度等能力。下面进入正文。 1 mac 与 unsloth 按照下面的进行安装以及测试&#xff0c;是可以跑通文章里面的代码。训练速度也是很快的。 注意…...