接口测试系列 —— 转转交易业务场景接口测试实践

news2024/11/24 2:50:09

01 Why接口测试

一、提高效率

关键词:QA 职责保质保量的完成需求测试工作在保证质量的前提下提高效率,要保证质量,首先需要先弄清楚这次需求的测试范围,针对性的使用不同的测试方法,而接口测试就是其中的一种;保证效率,降本增效是一个老生长谈的话题,也是QA一直的追求,推动技术自测是一个方式,使用自动化代替人工也是一个方式,但不管哪种方式,都需要保证业务主流程的正确执行,而自动化就是解决这个问题的。 

二、增加对业务的理解 

关键词:清楚需求的目的和技术实现方案
近期高频词:测试左移。
在需求立项的时候,就去了解需求的目的,从QA角度给出建议;同样的技术方案评审时,QA也需要从自身角度出发,从风险意识出发,指出技术方案上可能存在的问题,如果QA一点不了解技术,在技术评审时,就会无从下手。

关键词:与 RD 建立共同语言
交流的前提是:需要有共同话题。当 RD说的细节你都不懂时,RD就会说“就这样测就行了,你按照我说的做吧”——QA就处于一个被动的地位了。印象深刻的一件事,一个同事指出了RD代码上逻辑的错误,从此之后推进一些事情就会特别顺利。 

三、投入产出比较高

从自动化金字塔来看,接口测试算是投入产出比较好的一个方式.

02 How怎么做?应用时机

一、需求测试过程中

1.1 中台本身需要对接很多业务方,有些需求业务方的开发工作量会很大,中台只需要做一些配置或者很少的代码开发工作。这个时候,如果中台的QA 也跟随业务侧的测试排期,就会存在资源分批不合理的情况。接口测试就可以一定程度上解决这个问题。中台 RD 提测后,中台 QA 完成接口测试;业务 RD 提测时,中台QA 只需要配合业务 QA 进行测试就可以了; 

1.2 大项目的周期会很长,而这个时候,测试人员一般也会是多人参与,如果流程不通,影响的就是单个时间x人员个数。目前有些业务正在实行的就是联调期间,QA 进行接口测试;提测后,进行功能测试。这样可以保证主流程是通的,QA也可以更快的进入状态。 二、需求上线后,补充用例 自动化场景用的最多的还是流程回归和监控,隔一段时间进行业务梳理,并以文档和自动化用例的方式沉淀下来是常规的做法。

 
  1. 现在我也找了很多测试的朋友,做了一个分享技术的交流群,共享了很多我们收集的技术文档和视频教程。

  2. 如果你不想再体验自学时找不到资源,没人解答问题,坚持几天便放弃的感受

  3. 可以加入我们一起交流。而且还有很多在自动化,性能,安全,测试开发等等方面有一定建树的技术大牛

  4. 分享他们的经验,还会分享很多直播讲座和技术沙龙

  5. 可以免费学习!划重点!开源的!!!

  6. qq群号:680748947

03 需求测试过程中

以 XXX 项目为例进行介绍,XXX 业务线新增回收业务模式,于订单侧来说需要新增业务线 id、并配置状态机等改动较少,业务方需要做大量开发工作。

04 功能拆解

UI 交互:不涉及 功能测试:业务侧测试 接口测试:订单创建,订单状态流转 埋点:无 功能回归:无,新增业务线 

05 技术评审

重试补偿机制 参数校验等异常场景 

06 接口用例设计

新建、流转、重试、幂等,
接口测试实际情况举例:

07 接口测试的实现方式

一、使用 RD 单测代码

存在以下弊端: 
管理不方便
不能在其他工程复用 
不能提交到 gitlab 

二、投入人力编写自动化用例 
三、自动化测试平台 

二、三 对比如下:

使用平台,减少了编码之外的重复工作,用例可以自由拼装,不会存在人员 交接后,之前的代码就废弃的情况。 

08 APITest接口测试平台

两个入口:需求维度、工程维度,分别解决需求测试中和服务上线后,补充用例两种场景。
举例:需求入口 

要想做好接口测试,就不能把接口孤立起来。业务场景上,也是接口、mq、sql语句、redis等串联起来的。单独的接口测试,只能覆盖孤点,不能覆盖整 个流程。要想做好接口测试,接测试平台就需要把用到的工具放在一个平面上。目前 apitest 的思路如下 为一个用例,用例聚集起来就是用例集。

09 测试集合示意图

用例按照在用例集中的顺序依次执行,目前还不支持单个用例失败就中断整个用例集。

10 参数化

提到自动化,就会遇到参数传递的问题。各个公司的 qa 因为接触的工具不 一样,思路也会不一样。apitest 是使用 jsonPath 解析入参和出参的方式,让数据可以在用例之间流动。

11 断言

apitest也是同样使用 jsonPath 进行结果的解析,来进行断言的。

12 测试报告

测试报告如下,分为两个部分:总览和详情。总览展示用例集维度的信息,详情展示单个步骤的执行结果和断言结果。

13 Beetle联动

用例集的触发支持两种方式:定时执行、触发执行。定时执行不再详述,触发执行借助beetle的主动调用,apitest会返回唯一执行记录id,后续beetle调用结果查询接口就可以拿到用例集的测试报告。

 

总结:

感谢每一个认真阅读我文章的人!!!

作为一位过来人也是希望大家少走一些弯路,如果你不想再体验一次学习时找不到资料,没人解答问题,坚持几天便放弃的感受的话,在这里我给大家分享一些自动化测试的学习资源,希望能给你前进的路上带来帮助。

软件测试面试文档

我们学习必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有字节大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。

 

          视频文档获取方式:
这份文档和视频资料,对于想从事【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!以上均可以分享,点下方小卡片即可自行领取。

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

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

相关文章

JMeter 并发测试和持续性压测详解

并发测试和持续性压测都是评估系统性能的常用方法,它们可以帮助开发人员发现并解决系统中的性能问题。本文来详细介绍下。 概念 并发测试: 旨在评估系统在同时处理多个用户请求时的性能。在这种 测试 中,系统会暴露于一定数量的用户负载下&…

Bito插件

此文档只作用于指导性工作,更多资料请自行探索。 1、插件安装与介绍 1.1 插件下载与安装 在idea中搜索:Bito Bito is also available for:​编辑VSCode​编辑JetBrains​编辑CLI 1.2 官方介绍 插件:ChatGPT GPT-4 - Bito AI Code Assista…

SQLiteC/C++接口详细介绍sqlite3_stmt类(五)

返回:SQLite—系列文章目录 上一篇:SQLiteC/C接口详细介绍sqlite3_stmt类(四)- 下一篇: 无 12. sqlite3_bind_text16函数 sqlite3_bind_text16函数用于将UTF-16编码的文本数据(字符串)绑定…

推荐一款管理hosts文件的利器

程序员的公众号:源1024,获取更多资料,无加密无套路! 最近整理了一份大厂面试资料《史上最全大厂面试题》,Springboot、微服务、算法、数据结构、Zookeeper、Mybatis、Dubbo、linux、Kafka、Elasticsearch、数据库等等 …

windows下不同python版本切换

一、简介 有时候在windows环境下会安装很多个不同的Python版本,但是在运行一些特定环境时,又需要特定的python版本。于是就需要切换Python版本。 二、实操 右键“我的电脑”-》属性 右侧“高级系统设置” “高级”-》“环境变量” 双击“Path” 可以看到…

计算机视觉之三维重建(2)---摄像机标定

文章目录 一、回顾线代1.1 线性方程组的解1.2 齐次线性方程组的解 二、透镜摄像机的标定2.1 标定过程2.2 提取摄像机参数2.3 参数总结 三、径向畸变的摄像机标定3.1 建模3.2 求解 四、变换4.1 2D平面上的欧式变换4.2 2D平面上的相似变换和仿射变换4.3 2D平面上的透射变换4.4 3D…

深入浅出前端本地储存(1)

引言 2021 年,如果你的前端应用,需要在浏览器上保存数据,有三个主流方案: CookieWeb Storage (LocalStorage)IndexedDB 这些方案就是如今应用最广、浏览器兼容性最高的三种前端储存方案 今天这篇文章就聊一聊这三种方案的历史…

全球首例AI软件工程师Devin:Cognition AI引领智能编程新纪元

近日,初创企业Cognition AI震撼发布了全球首位AI软件工程师——Devin,这一开创性的突破标志着人工智能在编程与软件开发领域的应用迈上了全新的台阶。Devin以其卓越的计算机推理与规划能力,正在重新定义我们对软件工程实践的理解。 Devin&am…

软件设计师:03 - 数据库系统

一、数据模型的分类 1.1、概念数据模型 1.2、结构数据模型 1.3 真题 二、三级模式 概念模式对应的是基本表,概念模式也称为模式 外模式对应的是视图,也称用户模式或者子模式 内模式对应的是数据库里面的存储文件,也称存储模式 真题 三、两级…

漏洞发现-漏扫项目篇Poc开发Yaml语法反链判断不回显检测Yaml生成

知识点 1、Xray&Afrog-Poc开发-环境配置&编写流程 2、Xray-Poc开发-数据回显&RCE不回显&实验室 3、Afrog-Poc开发-数据回显&RCE不回显&JDNI注入 章节点: 漏洞发现-Web&框架组件&中间件&APP&小程序&系统 扫描项目-综合…

三连杆滑块机构运动学仿真 | 【Matlab源码+理论公式文本】|曲柄滑块 | 曲柄连杆 | 机械连杆

【程序简介】💻🔍 本程序通过matlab实现了三连杆滑块机构的运动学仿真编程,动态展现了三连杆机构的运动动画,同时给出了角位移、角速度和角加速度的时程曲线,除了程序本身,还提供了机构运动学公式推导文档…

防火墙互联技术

1.防火墙基础配置 2.配置防火墙远程管理 3.配置防火墙管理员角色 4.配置防火墙系统时钟 抓包

自动化测试报告生成(Allure)

🍅 视频学习:文末有免费的配套视频可观看 🍅 关注公众号【互联网杂货铺】,回复 1 ,免费获取软件测试全套资料,资料在手,涨薪更快 之前尝试使用过testNG自带的测试报告、优化过reportNG的测试报告…

备战蓝桥杯D33 - 真题 - 松散子序列

题目描述 解题思路 ps:思路是我看了大佬的题解后自己的理解,自己给自己捋清楚思路。 1.设置输入,将字符串输入 2.因为输入的是字符,但要找出字符的最大价值,所以先将字符串转化成对应的数值。 这时候就要用到ord函…

基于SSM的宿舍管理系统的设计与实现(JSP,MySQL)

摘 要 随着社会发展、信息技术的普及,人们日常管理工作也发生了巨大的变化。信息化技术之渗透各行业的方方面面。学生宿舍管理作为校园管理工作的重要一环,不仅关系到学生自身的确切利益,同时也是对校园管理工作重大考验。近来年由于在校学生…

YOLOv9改进策略:卷积魔改 | 分布移位卷积(DSConv),提高卷积层的内存效率和速度

💡💡💡本文改进内容: YOLOv9如何魔改卷积进一步提升检测精度?提出了一种卷积的变体,称为DSConv(分布偏移卷积),其可以容易地替换进标准神经网络体系结构并且实现较低的存…

MISC:常见编码

一、字符编码 1.ASCII码 使用指定7位或8位二进制数组合表示128-256种可能。 常⻅考点:解题过程中给出十进制或十六进制的连续数值。 进制转换工具: ASCII text,Hex,Binary,Decimal,Base64 converter (rapidtables.com) 2.Base64编码 ASCII编码以8个比特…

RISC-V架构的三种特权模式如何切换

1、RISC-V的三种特权模式 特权模式功能描述机器模式(M-mode)具有最高特权等级,具有访问所有资源的权限,通常运行固件和内核用户模式(U-mode)权限要比M模式低,通常是用来运行操作系统内核管理员…

sqlserver列出表的所有字段名

1、纵向列出所有字段 SELECT COLUMN_NAME FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME tablename;2、横向列车所有字段,以‘,’分隔 SELECT STUFF((SELECT , column_nameFROM information_schema.columnsWHERE table_name tablenameFOR XM…

C++进阶:二叉搜索树介绍、模拟实现(递归迭代两版本)及其应用

上次介绍完多态后:C进阶:详解多态(多态、虚函数、抽象类以及虚函数原理详解) 也是要开始继续学习了 文章目录 1.二叉搜索树1.1概念1.2二叉搜索树特性1.3 二叉搜索树的操作 2.模拟实现2.1项目文件规划2.2基本结构2.3各种接口、功能…