业务流程测试
用例设计主要问题
主要问题存在于:
1、测试点分析:逻辑性不强
对于整个页面功能划分不清晰;不同测试点归类不清晰;不能形成相对固定的套路,书写耗费大量时间...2、测试用例:关于,要细致到什么程度,不太明确
对于UI效果等的检查也要写进初次测试的用例吗?3、测试用例设计时是依据需求说明书还是系统?
流程规范的公司,一定是基于需求说明书(或原型图)来设计测试用例
进入项目的时间节点来看
项目初期介入,依据需求说明书
项目中后期介入,依据还是需求说明书
有可能在实际测试过程中,没有需求说明书,可以参考当前的系统,同时需要结合自身测试经验进行结果的甄别
项目维护阶段介入,依据需求说明书
有可能在实际测试过程中,没有需求说明书,可以参考当前的系统、用户手册、bug清单等
4、这个用例没啥问题 就是时间问题 没写完
测试数据:
注意测试数据的时效性(测试准备)
如注册时的手机号在第一次注册时是未注册的,第二次再注册时就变为已注册了,所以不是特定的数据场合下,我们可以省略这些测试数据。
标题与预期结果要明确
注意:如果需求中没有说明类似的错误提示消息,我们应该借助于其他同类型产品的处理方案或消息来设置用例的预期结果。
测试标题:
直接点明测试的目的
简明扼要,不要太冗长
比如异常类测试时,重点关注导致异常的条件即可,(其他正确参数可以放在预置条件里面、实际工作中约定的规则下可以不写其他正常的参数)
如果是正常类测试时,可以依据有效等价类的类别(如登录时,qq、手机号、邮箱等)来细分设计测试用例
标题一般来说不重复
优先级:
今日目标
掌握状态迁移法的使用
掌握订单的状态测试
掌握流程图主要元素及画法
能够绘制tpshop下单及发货流程图
掌握tpshop业务流程测试用例的编写
1、状态迁移法
概念:
基于系统中模块或节点之间的状态。来描绘状态与状态之间的关系,从而找到状态之间转化的路线设计测试用例的一种方法。
适用场景
需要针对复杂业务场景设计测试用例时
使用步骤:
找出系统所有的节点
绘制状态迁移图
绘制状态迁移树
找出状态之间的转换路径
案例分析——飞机售票系统
飞机售票系统:
(1)客户向航空公司打电话预定机票,此时机票信息处于【预定】状态。
(2)顾客支付了机票费用后,机票信息变为【已支付】状态。
(3)旅客当天到达机场,拿到机票后,机票信息变为【已出票】状态。
(4)登机检票后,机票信息变为【已使用】状态。
(5)在检票之前任何时间都可以取消自己的订票信息,取消后,订单信息处于【已取消】状态。明确状态节点:【预定】、【已支付】、【已出票】、【已使用】、【已取消】
绘制状态迁移图
绘制状态迁移树
抽取测试路径设计用例
路径1:预定==》已支付==》已出票==》已使用 |
路径2:预定==》已取消 |
路径3:预定==》已支付==》已取消 |
路径4:预定==》已支付==》已出票==》已取消 |
2、订单测试
需求说明:
1.用户在网站完成下单后,订单状态为“等待付款”
2.用户完成付款后,订单状态变为“待发货”
3.管理员对订单进行确认并发货后,订单状态变为“待收货”
4.用户收到商品后,在系统中进行确认收货,订单状态变为“待评价”
5.用户使用商品后,对商品进行评价,评价提交后,订单状态变为“已完成”
6.商品发货前,用户可以对订单进行取消操作,取消后订单状态变为“已取消”
7.用户付款前,管理员可以认定订单无效,此时订单处于“已作废”状态找出流程节点与状态
【等待付款】、【待发货】、【待收货】、【待评价】、【已完成】、【已取消】、【已作废】
绘制状态迁移图
绘制状态迁移树
找到状态之间转换的所有路径
路径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 注解用于定义资源,并提供了 AspectJ 的扩展用于自动定义资源、处理 BlockException 等 如果使用的是Sentinel Annotation AspectJ Extension,需要导这个依赖 <dependency><groupId>com.alibaba.csp</…...
苹果手机备份的文件在电脑什么地方 苹果备份文件怎么查看
在这个网络信息时代,为手机进行定期备份已经成为了家常便饭。在使用备份软件对苹果手机进行备份后,苹果手机备份的文件在什么地方,苹果备份文件怎么查看呢?本文就带大家来了解一下。 一、苹果手机备份的文件在电脑什么地方 大家…...
【MySQL速通篇001】5000字超详细介绍MySQL部分重要知识点
🍀 写在前面 这篇5000多字博客也花了我几天的时间😂,主要是我对MySQL一部分重要知识点的理解【后面当然还会写博客补充噻,欢迎关注我哟】,当然这篇文章可能也会有不恰当的地方【毕竟也写了这么多字,错别字可…...
并发编程——synchronized优化原理
如果有兴趣了解更多相关内容,欢迎来我的个人网站看看:耶瞳空间 一:基本概念 使用synchronized实现线程同步,即加锁,实现的是悲观锁。加锁可以使一段代码在同一时间只有一个线程可以访问,在增加安全性的同…...
LeetCode 剑指 Offer II 083. 没有重复元素集合的全排列
给定一个不含重复数字的整数数组 nums ,返回其 所有可能的全排列 。可以 按任意顺序 返回答案。 示例 1: 输入:nums [1,2,3] 输出:[[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.使用的场景区别 想通过键值对的形式获取数据,使用JSONObject。如果后台查询的是某个bean的list集合向前端页面传递,使用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?1.1 MVC定义1.2 MVC 和 Spring MVC 的关系2. 为什么学习Spring MVC?3. 怎么学习Spring MVC?3.1 Spring MVC的创建和连接3.1.1 创建Spring MVC项目3.1.2 RequestMapping 注解介绍3.1.3 Request…...
leetcode题解-704. 二分查找
给定一个 n 个元素有序的(升序)整型数组 nums 和一个目标值 target ,写一个函数搜索 nums 中的 target,如果目标值存在返回下标,否则返回 -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 配置文件进行配置。 邮件中的每一项都在配置文件中有单独的配置项,甚至是独有的「传输方式」,允许你的应用使用不同的邮件服务发送邮件 mailers > [smtp > [transport > smtp,host > env(M…...
高性能 Jsonpath 框架,Snack3 3.2.57 发布
Snack3,一个高性能的 JsonPath 框架 借鉴了 Javascript 所有变量由 var 申明,及 Xml dom 一切都是 Node 的设计。其下一切数据都以ONode表示,ONode也即 One node 之意,代表任何类型,也可以转换为任何类型。 强调文档…...
day52 ResNet18 CBAM
在深度学习的旅程中,我们不断探索如何提升模型的性能。今天,我将分享我在 ResNet18 模型中插入 CBAM(Convolutional Block Attention Module)模块,并采用分阶段微调策略的实践过程。通过这个过程,我不仅提升…...
基于Flask实现的医疗保险欺诈识别监测模型
基于Flask实现的医疗保险欺诈识别监测模型 项目截图 项目简介 社会医疗保险是国家通过立法形式强制实施,由雇主和个人按一定比例缴纳保险费,建立社会医疗保险基金,支付雇员医疗费用的一种医疗保险制度, 它是促进社会文明和进步的…...
华为OD机试-食堂供餐-二分法
import java.util.Arrays; import java.util.Scanner;public class DemoTest3 {public static void main(String[] args) {Scanner in new Scanner(System.in);// 注意 hasNext 和 hasNextLine 的区别while (in.hasNextLine()) { // 注意 while 处理多个 caseint a in.nextIn…...
Axios请求超时重发机制
Axios 超时重新请求实现方案 在 Axios 中实现超时重新请求可以通过以下几种方式: 1. 使用拦截器实现自动重试 import axios from axios;// 创建axios实例 const instance axios.create();// 设置超时时间 instance.defaults.timeout 5000;// 最大重试次数 cons…...
零基础设计模式——行为型模式 - 责任链模式
第四部分:行为型模式 - 责任链模式 (Chain of Responsibility Pattern) 欢迎来到行为型模式的学习!行为型模式关注对象之间的职责分配、算法封装和对象间的交互。我们将学习的第一个行为型模式是责任链模式。 核心思想:使多个对象都有机会处…...
高防服务器能够抵御哪些网络攻击呢?
高防服务器作为一种有着高度防御能力的服务器,可以帮助网站应对分布式拒绝服务攻击,有效识别和清理一些恶意的网络流量,为用户提供安全且稳定的网络环境,那么,高防服务器一般都可以抵御哪些网络攻击呢?下面…...
AI,如何重构理解、匹配与决策?
AI 时代,我们如何理解消费? 作者|王彬 封面|Unplash 人们通过信息理解世界。 曾几何时,PC 与移动互联网重塑了人们的购物路径:信息变得唾手可得,商品决策变得高度依赖内容。 但 AI 时代的来…...
MacOS下Homebrew国内镜像加速指南(2025最新国内镜像加速)
macos brew国内镜像加速方法 brew install 加速formula.jws.json下载慢加速 🍺 最新版brew安装慢到怀疑人生?别怕,教你轻松起飞! 最近Homebrew更新至最新版,每次执行 brew 命令时都会自动从官方地址 https://formulae.…...
苹果AI眼镜:从“工具”到“社交姿态”的范式革命——重新定义AI交互入口的未来机会
在2025年的AI硬件浪潮中,苹果AI眼镜(Apple Glasses)正在引发一场关于“人机交互形态”的深度思考。它并非简单地替代AirPods或Apple Watch,而是开辟了一个全新的、日常可接受的AI入口。其核心价值不在于功能的堆叠,而在于如何通过形态设计打破社交壁垒,成为用户“全天佩戴…...
从零开始了解数据采集(二十八)——制造业数字孪生
近年来,我国的工业领域正经历一场前所未有的数字化变革,从“双碳目标”到工业互联网平台的推广,国家政策和市场需求共同推动了制造业的升级。在这场变革中,数字孪生技术成为备受关注的关键工具,它不仅让企业“看见”设…...
