史上最强,从0到1接口自动化测试落地实施,资深老鸟整理...

news2024/11/18 18:28:49

目录:导读

    • 前言
    • 一、Python编程入门到精通
    • 二、接口自动化项目实战
    • 三、Web自动化项目实战
    • 四、App自动化项目实战
    • 五、一线大厂简历
    • 六、测试开发DevOps体系
    • 七、常用自动化测试工具
    • 八、JMeter性能测试
    • 九、总结(尾部小惊喜)


前言

为什么要做接口测试?

近几年随着业务迭代速度加快,以及测试行业的不断发展,像测试左移、敏捷测试等理念开始被更多的人认可。从软件工程的角度来说,越早介入发现问题和风险,修复的成本越低,最终交付的质量也越高。

道测试金字塔模型,见下图:

在这里插入图片描述

按照某些理论或者大厂的最佳实践,UI:API:UNIT层的自动化测试占比应该是1:2:7。

原因如下:
UI:维护成本高,介入时间较晚,收益最小;
API:维护成本适中,可以尽早介入,覆盖的场景也较多;
UNIT:维护成本最小,可以更早介入,测试粒度最小,收益最高(至于谁来写单元测试,当然是开发啊);

技术要求的提升
国内大部分测试同学在技术上来说相比于开发,是要弱上不少的。

为了不断提升软件系统的交付质量,需要尽可能的扩大测试覆盖的场景和测试的深入程度,这对测试同学的技术有了更高的要求。

随着系统复杂度提升,同时像微服务、云原生、server mesh等新技术的应用,为了了解被测对象以便更好的开展工作,测试这个岗位的技术要求也越来越高。

从一开始的UI层面的测试,开始不断向下探,API层的测试在日常工作中的占比越来越高也是演进的一个必然趋势。

API测试还有2个特性:
相比于UI层测试可以更早介入,向上可以不断加大UI层的覆盖广度;
相比于UNIT层测试难度更低点,向下可以逐渐覆盖一些公共接口的单元测试;

接口和接口测试?

如何理解接口?

简单来说,接口就是一个中介,负责界面层的业务场景和代码层的实现逻辑交互转化。
接口遵循一定的规则和约束,输入特定的数据会返回特定的数据,输入和输出的逻辑需要事先约定。
接口之间互相调用也需要遵循一定的规则,这个规则就是网络协议,如:http协议、tcp协议,rpc协议。

如何理解接口测试?
接口测试就是对约定好的输入输出逻辑进行测试和校验,和功能测试一样也需要设计测试用例。
设计测试用例的方法和功能测试没太多区别,同样需要考虑等价类边界值判定表法以及异常场景。
当然,接口测试还需要考虑性能、安全等因素,不过这就是其他细分测试领域了,这里暂且不表。

学习一些接口测试相关的工具,业内常用的工具如下:

抓包工具:Fiddler、Charles
测试工具:Jmeter、Postman
接口生成管理工具:Yapi、Swagger

UI/API/UNIT测试的区别:

UI、API、UNIT测试有各自不同的特点,概括总结的话区别如下:
UI测试:业务流程测试;
API测试:业务数据流测试;
UNIT测试:业务实现逻辑测试;

如何落地接口自动化测试?

在讨论新手从零到一落地接口自动化测试之前,我想先抛出我的几点建议:

从零开始,不要直接去学习所谓的自动化框架;
学习框架之前,很有必要学习网络协议和编码知识;

为什么这么说?
新手一般技术基础不太扎实,且没有太多编码实践,直接学习框架特别容易一步一个坑。

见过太多新手直接学框架,出现了诸如安装失败,报错看不懂,不会调试等等很多现象。还有部分同学对代码编辑器不会用,看不懂日志,不会封装等问题。

从零开始学习落地接口自动化,或者说其他自动化测试,我更建议从易到难的去落地实践,这样一方面可以在日常工作中优先保证工作的完成,提升工作效率;

另一方面就像打怪升级一样,从易到难去学习提升自己,并不断优化自动化测试在工作中的实践。

从一到难落地实践接口自动化测试,大概可以遵循如下几个步骤:
学会用工具进行接口测试(如jmeter/postman);
学会用持续集成工具(如jenkins)将接口测试脚本批量执行;
学会诸如git/gitlab等版本和源代码管理的工具,便于团队多人协作;
学习一门编程语言,利用自动化测试框架将工具脚本转化为代码脚本;
学习将公共部分封装,优化代码结构,提高写代码脚本的效率,降低维护成本;
学习数据参数化管理的方法,可以从Excel——配置文件——数据库——造数工厂这个方向迭代;
尝试按照业务线和测试场景区分脚本集合,然后引入mock,降低服务间的调用依赖,提高执行效率;

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

一、Python编程入门到精通

请添加图片描述

二、接口自动化项目实战

请添加图片描述

三、Web自动化项目实战

请添加图片描述

四、App自动化项目实战

请添加图片描述

五、一线大厂简历

请添加图片描述

六、测试开发DevOps体系

请添加图片描述

七、常用自动化测试工具

请添加图片描述

八、JMeter性能测试

请添加图片描述

九、总结(尾部小惊喜)

不要让过去的失败束缚你,不要让困难挡住你的脚步。只有坚持奋斗,才能拥抱美好的未来。相信自己的力量,勇敢前行,你将开启辉煌的人生篇章。

追寻梦想的路上,只有拼尽全力才能抵达胜利的彼岸。困难是临时的,坚持是永恒的。相信自己,勇敢追逐,你将创造属于自己的奇迹!

不要因为起点落后而放弃追逐,每一步努力都是靠近梦想的距离。坚持不懈,才能绽放辉煌;奋斗不息,方能创造人生奇迹。相信自己,勇往直前!

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

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

相关文章

Python 编程基础 | 第一章-预备知识 | 1.3、运行方式

一、Python运行代码 可以使用三种方式运行Python,如下: 1、交互式 通过命令行窗口进入 Python 并开始在交互式解释器中开始编写 Python 代码 2、命令行脚本 可以把代码放到文件中,通过python 文件名.py命令执行代码,如下&#xff…

智慧公厕云管理平台:筑牢云上“城市公共厕所一张网”

在现代城市中,公共厕所是人们日常生活中不可或缺的一部分。然而,过去的公共厕所管理方式往往效率低下,维护困难,给市民带来了不便。为了解决这一问题,智慧公厕应运而生,赋予传统公共厕所智慧化的管理效能。…

论文精读:Feature Pyramid Networks for Object Detection

文章目录 1. 摘要1.1 背景1.2 提出新方法1.3 贡献 2. 引言2.1 提出问题2.2 叙述Feature pyramid2.3 叙述深度卷积网络2.4 Feature pyramid的局限2.5 使用deep ConvNet计算多尺度特征的方式2.6 提出我们的方法2.7 贡献 3. 相关工作3.1 手工工程特征和早期神经网络3.2 深度卷积目…

工业RFID识别设备可以在哪些行业应用?

工业识别设备主要是用于工业领域的RFID读写设备,它可以在产线、工厂、仓储物流等领域应用,非接触的实时读取标签信息,并且将读取的信息上传到电脑信息管理系统中。 工业RFID识别设备可以在哪些行业应用? 1、汽车行业 汽车制造业的产品结构复…

简单的springboot整合minio完成上传查询等

1、本地下载minio brew install minio/stable/minio2、下载结果 3、启动minio /opt/homebrew/opt/minio/bin/minio server --config-dir/opt/homebrew/etc/minio --address:9000 /opt/homebrew/var/minio4、启动完成 5、web页面 账号密码: minioadmin 登陆完成…

快递查询方法分享:如何批量查询并筛选大量超时件?

快递批量查询工具推荐:一键筛选超时件,高效管理物流信息! 在现代快节奏的生活中,快递已成为人们日常不可或缺的一部分。然而,随着快递量的不断增加,如何高效地查询和管理快递成了一个问题。今天&#xff0…

Optimus—多学科仿真集成与优化设计平台

Optimus是比利时Noesis Solutions公司专注研发的一款多学科仿真集成与优化设计软件产品。通过Optimus平台,可管理多学科的仿真流程及数据,自动显示和探索设计空间,进行产品设计过程中的自动性能优化,实现多学科、多指标参数的均衡…

【三相有源电力滤波器】使用同步参考系控制的三相有源功率滤波器(Simulink)

💥💥💞💞欢迎来到本博客❤️❤️💥💥 🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。 ⛳️座右铭&a…

ElementUI实现增删改功能以及表单验证

目录 前言 BookList.vue action.js 展示效果 前言 本篇还是在之前的基础上&#xff0c;继续完善功能。上一篇完成了数据表格的查询&#xff0c;这一篇完善增删改&#xff0c;以及表单验证。 BookList.vue <template><div class"books" style"pa…

veImageX 演进之路:Web 图片加载提速50%

背景说明 火山引擎veImageX演进之路主要介绍了veImageX在字节内部从2012年随着字节成长过程中逐步演进的过程&#xff0c;演进中包括V1、V2、V3版本并最终面向行业输出&#xff1b;整个演进过程中包括服务端、客户端、网络库、业务场景与优化等多个角度介绍在图像处理压缩、省成…

如何快速轻松自动添加微信好友?

有些客需要换新的微信号&#xff0c;想把以前微信号上的好友全部加回来&#xff0c;但是因为微信系统的规定&#xff0c;频繁加好友容易被封号&#xff0c;而且手动添加好友太费时费力&#xff0c;还要控制加好友的间隔时间。那么有没有什么方法可以快速轻松自动添加好友呢&…

郁金香2021年游戏辅助技术中级班(一)

郁金香2021年游戏辅助技术中级班&#xff08;一&#xff09; 用代码读取utf8名字字节数组搜索UTF-8字符串 用CE和xdbg分析对象名字从LUA函数的角度进行分析复习怪物名字偏移 用CE和xdbg分析对象数组认识虚函数表分析对象数组 分析对象数组链表部分链表的定义链表的数据在内存里…

实现自动化获取1688商品详情数据接口经验分享

获取电商平台商品详情数据&#xff0c;主要用过的是爬虫技术&#xff0c;过程比较曲折&#xff0c;最终结果是好的。我将代码都封装在1688.item_get接口中&#xff0c;直接调用此接口可以一步抓取。 展示一下获取成功示例&#xff1a; 1688商品详情页展示 传入商品ID调用item…

Typora安装无需破解免费使用

Typora简介&#xff1a; 在介绍Typora软件之前&#xff0c;需要先介绍一下MARKDOWN。 MARKDOWN是一种轻量型标记语言&#xff0c;它具有“极简主义”、高效、清晰、易读、易写、易更改纯文本的特点。 Typora 是一款支持实时预览的 Markdown 文本编辑器。它有 OS X、Windows、…

WebDAV之π-Disk派盘 + 墨阅

墨阅是一款专注于帮助用户离线缓存网页文档图书漫画的免费工具APP。您可以利用墨阅收集来自互联网网站平台的公开文章,图片,漫画等,可以对网页样式进行调整,支持自定义动作,批量离线等功能方便用户日常离线。目前支持小说,markdown,图片,pdf,网页等离线功能。支持进行…

在比特币上支持椭圆曲线 BLS12–381

通过使用智能合约实现来支持任何曲线 BLS12–381 是一种较新的配对友好型椭圆曲线。 与常用的 BN-256 曲线相比&#xff0c;BLS12-381 的安全性明显更高&#xff0c;并且安全目标是 128 位。 所有其他区块链&#xff0c;例如 Zcash 和以太坊&#xff0c;都必须通过硬分叉才能升…

忍不住分享,这个卧室太好看了。

&#x1f4dd;项目信息&#x1d477;&#x1d493;&#x1d490;&#x1d48b;&#x1d486;&#x1d484;&#x1d495; &#x1d48a;&#x1d48f;&#x1d487;&#x1d490;&#x1d493;&#x1d48e;&#x1d482;&#x1d495;&#x1d48a;&#x1d490;&#x1d48f;…

科东软件2023上海工博会:一场科技盛宴的完美收官

9月23日&#xff0c;为期5天的中国国际工业博览会&#xff08;下称“工博会”&#xff09;在国家会展中心&#xff08;上海&#xff09;圆满落幕。这是一场集结全球创新力量与科技创新成果的璀璨盛宴&#xff0c;也是推动未来科技与产业发展的新型工业盛会&#xff0c;更是一次…

多线程(概念介绍)

概念 首先&#xff0c;我们引入一些基本的概念&#xff0c;并结合我们以前所学过的知识&#xff0c;初步对这些概念有个大体的理解 1.线程是一个执行分支&#xff0c;执行粒度比进程更细&#xff0c;调度成本更低 2.线程是进程内部的一个执行流 3.线程是CPU调度的基本单位&…

PLSQL使用技巧

连接配置 先找到配置文件tnsnames.ora地址 我的是这个&#xff08;仅供参考&#xff09;&#xff1a;D:\oracle\product\10.2.0\client_1\NETWORK\ADMIN\tnsnames.ora IC (DESCRIPTION (ADDRESS_LIST (ADDRESS (PROTOCOL TCP)(HOST 127.0.0.1)(PORT 1521)))(CONNECT_DATA…