接口自动化如何做?从工具到框架一篇全打通...


前言

接口自动化主要做什么

原理->业务逻辑->工具->自动化脚本和框架

1、连通性
每一次每一个接口调用的时候都会有一个responsecode,assertEqual(r.status_code,200),检查接口是否连通。

当接口返回不正常时,它可以使用响应状态码非200来表达,也可以是响应体json中的code字段。
不仅理解了该如何进行一次接口请求,也知道怎么样的接口响应是预期值。
2、正确性
3、工具

需要的工具一般分为两类:
一是请求发送和收取工具,例如postman和jmeter。当然jmeter可以作为简易的自动化or性能测试工具。

二是抓包工具,这主要是进行辅助验证。
正所谓,“遇事不决先抓包”,黄金定律,切莫瞎猜,眼见为实。工具例如chrome开发者工具F12,fiddler,wireshark,tcpdump等。如果你同时有涉及UI的测试,chrome开发者工具就很重要了,可以帮助你分辨前端bug或后端bug。

什么是接口测试?

定义:测试系统组件间接口的一种测试。主要用于检测外部系统与系统之间以及内部各个子系统之间的交互点,重点是检查数据的交换,传递和控制管理过程,以及系统间的相互逻辑依赖关系等;

目的:测试接口的正确性和稳定性;

原理:模拟客户端向服务器发送请求报文,服务器接收请求报文后对相应的报文做处理并向客户端返回应答,客户端接收应答的过程;

重点:检查数据的交换,传递和控制管理过程,还包括处理的次数;
核心:持续集成是接口测试的核心;

优点:为高复杂性的平台带来高效的缺陷监测和质量监督能力,平台越复杂,系统越庞大,接口测试的效果越明显(提高测试效率,提升用户体验,降低研发成本);

用例设计重点:通常情况下主要测试最外层的两类接口:数据进入系统接口(调用外部系统的参数为本系统使用)和数据流出系统接口(验证系统处理后的数据是否正常);

PS:设计用例时还需要注意外部接口提供给使用这些接口的外部用户什么功能,外部用户真正需要什么功能;

做接口测试需要哪些技能?

做接口测试,需要的技能,基本就是以下几点:
业务流:了解系统及内部各个组件之间的业务逻辑交互;
数据流:了解接口的I/O(input/output:输入输出);
协议:包括http协议,TCP/IP协议族
工具:工具可以辅助我们更好更高效的完成工作。

常用的接口测试工具有:jmeter、loadrunner、soapui、postman、Apifox等;

数据库知识:无论是从数据库获取知识,还是确认数据落地,抑或接口对数据执行了哪些操作,都需要确认,因此数据库知识(其实就是增删改查)就很有必要;

补充:接口文档的几个必要点:完整性、一致性、容错性;

接口自动化测试

1、如何开展?
首先,调试单个接口,保证单个接口的正确和通畅(类似于性能测试中的基准测试);
其次,明确数据流,业务流;
最后,将N个接口测试脚本串起来,执行即可;

最重要的一点,别想太多太复杂,先把最基础最简单的做起来,就成功一大半了,至于扩展性的第三方接口、https、定时任务、自动出测试报告、自动发邮件等等功能,这都是不断累计和优化的,

行动起来就行,想太多不如行动起来,让接口自动化测试落地,才是我们首先需要考虑的!

2、开展之前需要知道的

现在的测试对象包含几个页面?
每个页面涉及几个接口?
分别在哪一步调用?
每个接口包含哪些字段?
各个字段对应数据库哪张表?
每个表中各个字段是什么意思?
各个接口对表产生了怎样的操作?

接口自动化测试框架

自动化框架

什么是框架?你可以理解为一个完整的环,也可以理解为让接口测试脚本运行的一整套环境,平台,随便什么都可以;

一般一个自动化测试框架包含以下几点:

数据池:即测试数据的存储管理,一般集成为一个data包,其中包括:

log(日志文件)、report(测试报告文件,一般为xml格式)、case-data(单个接口的测试数据,一般为json格式)、server-data(接口业务串联的数据,可以用excel管理)

脚本管理中心:接口测试脚本的统一管理、存储、调度中心,常用的工具有maven、ant等,或者可以使用编程语言中的单元测试框架提供的功能,选择自己适用的即可;

运行平台:一般是借助工具来运行这些测试脚本,工具可以使用上面提及到的几种(jemter、loadrunner、soapui等),同样,选择合适的很重要;

持续集成工具:最常见的就是Jenkins,它的作用就是监控外部程序的调用执行,定时或者触发调度任务,测试脚本执行等功能;

通信服务:dubbo、spring_boot、thrift等RPC、REST同步调用服务;

测试结果统计管理中心:比如testlink,目的是为了测试结果自动更新上传,更好的统计测试结果,以便后期的优化;

下面是我整理的2023年最全的软件测试工程师学习知识架构体系图

一、Python编程入门到精通

请添加图片描述

二、接口自动化项目实战

请添加图片描述

三、Web自动化项目实战

请添加图片描述

四、App自动化项目实战

请添加图片描述

五、一线大厂简历

请添加图片描述

六、测试开发DevOps体系

请添加图片描述

七、常用自动化测试工具

请添加图片描述

八、JMeter性能测试

请添加图片描述

九、总结(尾部小惊喜)

梦想燃烧心灵,奋斗驱散黑暗,成功属于勇者;坚持追求,超越困境,辉煌由努力铸就。相信自己的力量,不停奋斗,用汗水和智慧书写人生的华章,绽放属于自己的光芒与荣耀。

燃烧激情,勇往直前,奋斗是梦想的航行;坚定信念,超越极限,在拼搏中绘制辉煌的篇章。相信自己的能力,不停追求,用汗水和智慧铸就属于自己的霞光绚丽,闪耀人生的光芒。

心怀热血,不畏艰辛,奋斗是梦想航行的指南针;矢志不渝,超越极限,在拼搏中书写辉煌的人生。相信自己的才华,追寻伟业。

猜你喜欢

转载自blog.csdn.net/csdnchengxi/article/details/132043689