如何快速做跨业务测试?

当业务任务多且人力资源不充足的情况下,不同业务的同学可能需要去不同的业务进行临时支援,可能在时间方面有长有短,但是如何迈出第一步是很多人需要关心的一件事。

本文以实际跨业务测试经验(订单业务测试人员如何测试售后业务),讲述在两周内如何快速的上手售后业务并进行需求测试,写下此篇文章作为经验分享。

如何快速做跨业务测试?

在转业务之前,我在交易订单促销回收单业务,那么先简单介绍一下订单业务。其目的在于了解一下订单和售后之间的关系。

订单涵盖的内容非常广泛,从商品加购,再到确认下单页,再到下单,整个订单流程,包括正向订单流程以及逆向订单流程等多场景。外部对接B2C,C2C,B2B,POP,3C等诸多业务。内部对接基础服务,商品,支付,物流,仓储,售后等业务。日常测试中,可能也或多或少的了解了售后的一些后台操作步骤或流程。从而对测试售后业务基础流程上有一定的了解。

开始前

1、思考将要测试的方向

在开始去其他业务之前,首先得想清楚去了之后主要的测试方向是什么。因为每个大业务间有不同小模块,一个人可能负责多个方向的事务。在短短的几天之内根本没办法了解全部的内容,那么只有统观全局视野,给自己定下一个个小的目标,逐个击破,以点破面,最后了解整个业务。

2、了解业务范围

那么这个阶段的第一步了解业务系统,可能是很多人需要思考的一个难题。

跨业务之间的确有很多的不同点,由字面意思来解释的话,那么最大的区别在于业务不同,如何了解业务也是最关键的一步。在我这里,其实最简单的方法就是看业务梳理,以及业务流程图。将自己作为一个新人来看,快速了解业务内容。其次还要以目录结构的维度去熟悉有哪些关联内容。

如何快速做跨业务测试?

3、上手体验业务流程加以发散

当我知道我要测试售后时,首先要了解的当然是售后流程,其实刚开始也不一定要了解的相当全面,只是在心里有一个大致的图就行,这个图可以理解为系统模块图。以B2C售后为例,那么在我脑海中的图也就是售后的一个大致流程,以及这些模块儿分布在哪些系统中,售后都与谁进行交互。

如B2C售后流程核心流程如下几个步骤:

1) 在转转app商详首页挑选一个喜欢的手机,创建订单支付成功后生成订单号。

2) 订单发货后,透出申请售后的按钮,用户点击按钮后在转转app申请售后,同时也可以进行取消,再次申请的时候,又生成了新的售后单号。那么这个时候我们就知道了,订单号和售后单号为一对多的关系。

3) 客服进行接入操作,将该售后单进行领取,并根据实际情况进行审核通过。比如在商品还没有实际出库前,可进行快速关闭出库操作并操作退款,如果已出库,则操作审核售后通过。

4) 客服通知用户寄出,并创建发货单,同时对接物流信息。

5) 商品到达了售后站点,工作人员进行扫描收货,生成用于追踪快件流向的散货单,对每个快件生成质检单。

6) 判责后进行确认方案,最后处理钱货归属的问题。

7) 确认完成后,通知订单做相应的操作,如订单关单,或者是退款或者是维修等操作。

8) 最后将售后机器进行散货,也就是交接给质检中心仓库。

经历以上步骤从而达到一个闭环操作。

如下图所示就是极速退款与正常售后退款的流水信息:

如何快速做跨业务测试?

最后再来一张售后退款完结的图:

如何快速做跨业务测试?

在转转App里体验每一步的操作里,又可以进行发散思维思考,如非B2C售后,可能由第三方进行审核是否通过售后申请,还有比如说用户取消售后,可能要进行关闭售后单的操作以及物流恢复等操作,只要能串起来这些步骤,那么当你真正介入这个业务中,你也能在复杂多变的需求中,找到最直接的路。了解到大概的流程之后,那么就要去熟悉更细致的模块,细致到如何操作,如何配置等。

当实际体验了整个流程之后,对整个流程也就有了一个初步的认识,再去看业务沉淀和相关文档的时候,也就不那么的陌生。

进行中

当拿到一个需求的时候,需要以需求内容去实际分析。通过项目的整个流程去熟悉新的业务,其实在不同的业务,项目的整体流程是大致相同的。那么最重要的是关注差异点。作为一个QA的角色去分析拆解需求。

在我这里主要是分为两类的需求:

第一类,以前有类似需求,新增需求为类似模式,增加类似链路,不仅要关注新增内容,那么还要关注以前老的流程,同时还要保障历史数据兼容。

第二类,完全新增类型,那么此时就需要深入了解需求内容,包括对一些异常场景以及接口数据存储的方面思考。

接下来就为大家介绍一下我在这两种不同需求中是如何做的。

1、复用模式型

第一种一般来说比较简单,模式复用型,那么需要了解的主要有以下几个方面的内容:

历史文档梳理总结 首先是原来这种模式下的需求文档,包括该需求的历史性的一些梳理文档,以及该需求的迭代性需求文档,还可以参考UI图。

原有测试用例查看 一般情况下,某一类的需求都会有之前的一些测试用例,这些测试用例包括当时需求的详细描述,详细操作步骤,我们要做的就是找到原有的测试用例,如果能找到当时测过类似需求的QA最好,讲一讲踩过哪些坑,怎么搭建测试环境,准备测试数据等。

原始bug拆解 还有一点很重要的是关注这些迭代或者最早版本需求的bug,了解到需求容易出现缺陷的地方进行着重关注。对一个没有接触过该项目的人来说,就不会那么容易被忽略掉。

配置与兼容 对于历史配置性的东西同样需要关注,可参照原有的技术文档或者测试方案去关注到,这一部分内容也是不可或缺的一部分,可减少测试中的或者冒烟中排查问题的时间占比。

2、新需求介入

对于和原有的需求内容没有相关联类型的需求,那么需要考虑到哪些内容在当前业务有类似的案例。

寻找差异点 比如售后时有仓储收货和不需要仓储收货这两种场景,他们的区别在哪里,新开发的这个功能有没有和原有功能有重合点,并且这两种模式对于后端的数据存储的差异项在哪里,这些都是需要我们来关注的。

介入技术实现 如何去了解,最快的方式肯定是看技术实现,在需求设计阶段,可以找开发了解整个技术实现,让开发同学列出哪些地方需要着重关注,并发表自己的看法,把自己带入到用户的层面,去反向提问开发或产品同学,如果我想以某种方式去干,会不会流程发生阻塞,或者说数据异常的场景。

明确目标 同时还需要明确自己目前做的是什么,要朝什么方向去做。并提前列出自己的计划,一点一点的去落实到位。包括不限于编写测试方案等。

结束

其实在不同业务之间变更的只是业务而已,所以我们以往的经验同样适用于各个业务。只要合理拆分任务,对拆分各个模块逐一而解,那么整个系统在你眼里可能只是一堆零件而已。按照需求进行组装,那么你将会很快熟悉并快速上手。

实战案例

光学理论是没用的,要学会跟着一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。

如果对你有帮助的话,点个赞收个藏,给作者一个鼓励。也方便你下次能够快速查找。

如有不懂还要咨询下方小卡片,博主也希望和志同道合的测试人员一起学习进步

在适当的年龄,选择适当的岗位,尽量去发挥好自己的优势。

我的自动化测试开发之路,一路走来都离不每个阶段的计划,因为自己喜欢规划和总结,

自动化测试视频教程、学习笔记领取传送门!!!

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

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

相关文章

什么是HTTP/2?它与HTTP/1.1相比有什么改进?

聚沙成塔每天进步一点点 ⭐ 专栏简介⭐ HTTP/2 简介⭐ 主要的改进和特点⭐ 总结⭐ 写在最后 ⭐ 专栏简介 前端入门之旅:探索Web开发的奇妙世界 欢迎来到前端入门之旅!感兴趣的可以订阅本专栏哦!这个专栏是为那些对Web开发感兴趣、刚刚踏入前端…

javascript阻止右键默认行为,重新添加右键新菜单

EventUtil.addHandler(window,"load",function(event){var divdocument.getElementById("mydiv");//禁止右键默认行为EventUtil.addHandler(div,"contextmenu",function(event){var eventEventUtil.getEvent(event);EventUtil.preventDefault(ev…

梦想让生活得以忍受-寄语机器视觉工程师

我,曾梦想梦想走天涯,看看这世界的繁华,年少的心总有些轻狂,如今四海为家。 大家都听过这首歌,迎来很多打工人的共鸣,著名作家海明威曾说,“一个人可以被打败,但不可以被毁灭”&…

Web自动化测试 —— 如何进行Selenium页面数据及元素交互?啊哈

前言: Web自动化测试是一种常用的测试方式,通过在浏览器中模拟用户操作以及与页面元素的交互,可以有效地检验页面的功能性以及稳定性。Selenium是一款流行的Web自动化测试工具,在本篇文章中,我们将介绍如何使用Seleni…

Echarts 自适应不生效解决(CPK分析工具直方图为例)

示例代码为左上方的CPK分析直方图组件 <template><div ref="cpk" id="cpk" style="height: 300px; width: 100%"></div> </template><script> import * as echarts from "echarts"; import { deboun…

嵌入式工程师面试题

嵌入式工程师常见面试题目: 解释一下嵌入式系统中的中断和轮询的工作原理,并比较它们的优缺点。在嵌入式系统中,如何进行低功耗设计和优化?什么是嵌入式系统的实时性?你如何确保系统的实时性?描述一下嵌入式系统中的信号量、互斥锁和条件变量的作用和用法。在嵌入式系统中…

面试题库(十一):MQ和分布式事务

MQ mq 通知时,消费者没消费到怎么办简单聊聊消息中间件?你了解那些具体的消息中间件产品?mq的消费端是怎么处理的? 整理一下你的消费端的整个处理逻辑流程,然后说说你的ack是在哪里返回的。按照你这样画的话,如果数据库突然宕机,你的消息该怎么确认已经接收? 那如果发送…

Qt 编译纯c的C99的项目, error: undefined reference to `f()‘

把Cpp的后缀该为C是什么样的 尝试引用一个奇门排盘的c程序&#xff0c;在git上找到的叫cqm&#xff0c; 然后总是报错 error: undefined reference to f() 很是郁闷 于是新建了个项目试验一下&#xff0c;终于摸清了需要命名空间。 后来这么写就可以了 a.h namespace XX …

算法 比较版本号-(同向双指针)

牛客网: BM22 题目: 字符串以.连接&#xff0c;从左到右编号&#xff0c;比较版本号大小 思路: 按.切割为字符串数组&#xff0c;双指针p1, p2均初始化为坐标0, 将p1与 p2指向部分转为数字进行比较&#xff0c;如果为空则默认为0不从数组中取字符串&#xff0c;直到p1与p2都达…

二进制文件和文本文件

二进制文件是在计算机中以二进制格式存储的文件&#xff0c;它包含了一组按照特定格式组织的二进制数据。与之相对的是文本文件&#xff0c;文本文件使用**字符编码&#xff08;ASCII&#xff09;**来表示数据。 以下是一些常见的二进制文件的示例&#xff1a; 图像文件&#…

SpringMVC 学习(五)转发,重定向和传参

6. 转发和重定向 Spring MVC 的底层是 servlet&#xff0c;因此在 Spring MVC 中也存在转发和重定向的概念。 对于转发而言&#xff0c;其目的页面可以在 WEB-INF 目录下。重定向的目的页面不允许在 WEB-INF 目录下&#xff0c;因为重定向相当于用户再次发起一次请求&#xf…

HarmonyOS开发:解决DevEco Studio低版本导入高版本项目运行失败问题

前言 基于DevEco Studio 4.0 Beta2&#xff0c;hvigorVersion为3.0.2&#xff0c;开发了一个项目&#xff0c;上传到了远程仓库&#xff0c;当同事下载后&#xff0c;却始终无法运行&#xff0c;频繁报错&#xff0c;由于API都是使用的9&#xff0c;第一感觉就是开发环境不同&a…

Qt: 鼠标形状设置

设置全局鼠标形状 设置完毕后&#xff0c;整个APP的任何窗体&#xff0c;包括Dialog中的鼠标形状都会被修改为设定类型&#xff0c;某一个控件设定的鼠标形状将被替换。一般不建议使用 QCursor cursor;//创建鼠标对象 cursor.setShape(Qt::CursorShape::ClosedHandCursor);//…

9.25 校招 实习 内推 面经

绿泡*泡&#xff1a; neituijunsir 交流裙 &#xff0c;内推/实习/校招汇总表格 1、校招 | 达闼机器人2024届校园招聘正式启动 校招 | 达闼机器人2024届校园招聘正式启动 2、2023校招总结--自动驾驶规控算法 - 10 2023校招总结--自动驾驶规控算法 - 10 3、校招 | 腾讯北极…

创建线程的4种方法

目录 一.前言 1.关于进程调度 (1)为什么要调度? (2)调度的真正对象 (3)调度的资源 2.线程 (1).线程的写法 (2)线程创建的方法 1.继承Thread (1)使用继承Thread,重写run的方式来创建线程 (2)继承Thread,使用匿名内部类 2.实现Runnable (1)使用实现Runnable,重写run…

算法 数组中的逆序对-(归并排序+递归回溯+双指针)

牛客网: BM20 题目: 求出数组中逆序对总数 思路: 使用归并排序思路&#xff0c;先分裂&#xff0c;再合并&#xff0c;合并的时候&#xff0c;左半段有序&#xff0c;右半段有序&#xff0c;如果左半段某个值大于右半段某个值 data[i] > data[j]&#xff0c; 则可通过j与右…

搭建本地git服务器及详细操作步骤

1.搭建本地git服务器 1.1环境 服务器&#xff1a;Ubuntu18.04 客户端&#xff1a;windows10_x64、Ubuntu20.04 无论是服务端还是客户端都需要先安装git Ubuntu安装方法&#xff1a; sudo apt update sudo apt install gitwindows安装方法&#xff1a; https://blog.csdn…

Android系统之编译Intel5.1问题解决

1.jdk问题: ************************************************************ You are attempting to build with the incorrect version of java.Your version is: openjdk version "1.7.0_75" OpenJDK Runtime Environment (build 1.7.0_75-b13) OpenJDK 64-Bit Se…

微服务线上问题排查困难?不知道问题出在哪一环?那是你还不会分布式链路追踪

咱们以前单体应用里面有很多的应用和功能&#xff0c;依赖各个功能之间相互调用&#xff0c;使用公共的代码包等等&#xff0c;排查问题&#xff0c;使用类似于 gdb/dlv 工具或者直接查看代码日志&#xff0c;进行定位和分析 但是现在我们基本上都是微服务架构了&#xff0c;将…

JavaScript入门——(2)基础语法(上)

一、JavaScript介绍 1.1 JavaScript是什么 1.1.1 JavaScript是什么&#xff1f; JavaScript是一种运行在客户端&#xff08;浏览器&#xff09;的编程语言&#xff0c;实现人机交互效果。 注意&#xff1a;HTML和CSS是标记语言。 1.1.2 作用&#xff08;做什么&#xff1f…