【软件测试】接口测试和接口性能测试,资深测试老鸟的总结......

news2024/12/29 10:58:37

目录:导读

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


前言

只会独立使用工具,会带来很大的局限性
比如,我们会使用jmeter来写几个接口,会用postman来做接口,还有其它的工具,那么,我认为这只能局限在你的接口测试的最基础层面。通过阅读工具的文档,谁都可以通过UI页面的操作,搭建接口测试,然后执行,产生报告。但是遇到稍微复杂点的接口,你就无从下手了。

举个例子,在测试微信小程序的时候,微信会根据每次登录产生一个不同的code,一但code被使用,就失效,这个时候,就需要自己来写一个服务器后台接口来主动接受code值,然后将code值实时保存给接口工具。

这样,如果只会jmeter,postman等独立的工具,你根本没有办法很容易的建立接口测试,所以,单独的工具是不完美的。

不同语言阵营
不同的工具,使用的脚本语言并不一样,至少主推的脚本语言是完全不同的。

jmeter是纯java,首推的脚本语言是java脚本;
postman主推的脚本语言是JavaScript;
python接口测试用python3(不建议选择python2);

所以,做为一个具有编码能力的测试人员,你要选好你的语言阵营,至少是主要语言。当你选择了主要语言,那么,主要工具的选择才能明确。搭建测试框架的时候,就遇到这样的问题。

测试平台搭建,首先,选择的主语言是python3,用django做外层框架。python去写接口没有问题,但在接口性能的组合上,遇到了情况,目前,最流行的开源性能测试是jmeter,但如何将jmeter和python相结合使用?本身2者就各为其主,当然没有很好的合体方式。于是,既然是python阵营,那么就要选择python的性能测试工具,于是,用locust来做内部框架中负责性能的部分,问题解决。

盲目崇拜工具
这个问题实际跟现在的大环境本身就浮躁有关。我们面试任何一家公司的测试岗位时,都会被问到,会不会性能、自动化、安全测试等,会不会用loadrunner,会不会selenium,会不会写脚本。

但真正进了公司后才发现,TMD天天做功能,老板还时不时的要你去写需求文档,跑市场,公司的软件不超过100个人使用,测试都没有完成,用户就急忙要,赶工期时恨不得来一个“意念测试”,一秒中出结果。

而像jmeter、loadrunner这样的工具,实际上是很强大的,你能用好10%就很不错了,你的公司能用上10%就算你的公司牛逼了。很多公司到“注销”的那一天,都没有去想过使用这些工具的目的是什么。

所以,不要盲目崇拜工具,而要实事求是的根据公司自己的情况来选择工具,不一定你一定需要这些工具。

从基础小层做起
接口测试,我建议用python自己写出来。每一个接口,自己一行代码一行代码的实现,这样是最能理解接口的方式。也许你会认为很费时间,很难,其实,只是你自己能力不够,自己不愿意做而已,技术的东西,本身就是因为“懒”而被创造的,只要你愿意开始,真的不难。

python编码能力是最基本的,也非常重要,只有这样你才能做更多的测试内容,才能扩展更多的测试方式。同学,用python一步一步把接口写出来吧。

接口测试、性能测试的大小维度,实际上很广
这个问题取决于维度的大小。你写一个get去访问百度,用jmeter去压测百度,我们也叫你做过接口测试和性能测试了,对吧。你用postman去测试了一个模块的几十个接口,那也叫你做过这方面的测试了,对吧。

但我认为,做测试,也要像软件开发一样,一定要有项目的概念,将测试定义为项目的维度去做。

这样的好处是:
所有测试成果可以被“沉淀”到一个地方;
所有测试工作可以被“控制”在一个界限中;
避免测试工作的重复性;
测试工作生成物可在一个标准下被最大化复用;
工作透明;

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

一、Python编程入门到精通

请添加图片描述

二、接口自动化项目实战

请添加图片描述

三、Web自动化项目实战

请添加图片描述

四、App自动化项目实战

请添加图片描述

五、一线大厂简历

请添加图片描述

六、测试开发DevOps体系

请添加图片描述

七、常用自动化测试工具

请添加图片描述

八、JMeter性能测试

请添加图片描述

九、总结(尾部小惊喜)

工作是一场赛跑,过程紧张刺激,输赢终见分晓,不顾一切争取,为了证明自己,职场就是赛场,比赛始终围绕,要想脱颖而出,必须坚持到底!

人的才华就如海绵的水,没有外力的挤压,它是绝对流不出来的。流出来后,海绵才能吸收新的源泉。

世上没有绝望的处境,只有对处境绝望的人。懂得借力而行,知道运力而动,在跳高之前,先让心跳过,就必然走向成功!

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

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

相关文章

程序员必备!最值得收藏的宝藏网站大盘点

做为程序员,没有收藏点宝藏网站都说不过去。 除了常见的大家熟知的知乎、谷歌、b站、CSDN、掘金等,今天将介绍一些其他更加实用的宝藏网站,程序员小伙伴们可以按需收藏哦~ 1.菜鸟教程:https://www.runoob.com/ 国内…

大数据处理技术导论(6) | Datawhale组队学习46期

文章目录1. hive 概述2. hive 与传统关系型数据库的对比3. hive 数据类型4. hive 数据模型5. hive 实战5.1 创建表5.2 修改表5.3 清空表、删除表5.4 其他命令项目地址 https://github.com/datawhalechina/juicy-bigdata,感谢项目团队的付出。本次主要学习 hive 相关…

web,h5海康视频接入监控视频流记录三(后台node取流)

前端vue,接入ws视频播放 云台控制 ,回放预览,都是需要调对应的海康接口。相当于,点击时,请求后台写好的接口,接口再去请求海康的接口 调用云台控制是,操作一次,不会自己停止&#x…

元宇宙如何在未来5年影响你的业务

自新冠疫情暴发以来,虽然数字经济的和实体经济受到了严重的冲击和影响,但这也加速了元宇宙在全球的发展。区块链、数字资产和非同质化代币(NFTs)的兴起进一步推动了世界对元宇宙的需求。元宇宙被定义为用户可以在其中进行互动的虚…

HiveSQL一天一个小技巧:如何将分组内数据填充完整?

0 需求1 需求分析需求分析:需求中需要求出分组中按成绩排名取倒数第二的值作为新字段,且分组内没有倒数第二条的时候取当前值。如果本题只是求分组内排序后倒数第二,则很简单,使用row_number()函数即可求出,但是本题问…

Netty之io.netty.util.concurrent.Promise与io.netty.util.concurrent.Future初解

目录 目标 Netty版本 Netty官方API 三者之间的关系 基本使用方法 java.util.concurrent.Future io.netty.util.concurrent.Future io.netty.util.concurrent.Promise 目标 了解io.netty.util.concurrent.Promise与io.netty.util.concurrent.Future的基本使用方法。了解…

操作系统权限提升(二十四)之Linux提权-明文ROOT密码提权

系列文章 操作系统权限提升(十八)之Linux提权-内核提权 操作系统权限提升(十九)之Linux提权-SUID提权 操作系统权限提升(二十)之Linux提权-计划任务提权 操作系统权限提升(二十一)之Linux提权-环境变量劫持提权 操作系统权限提升(二十二)之Linux提权-SUDO滥用提权 操作系统权限…

Netty学习(二):线程模型

目录 一、线程模型基本介绍 二、传统阻塞IO服务模型 2.1 工作原理图 2.2 模型特点 2.3 问题分析 三、Reactor模式 3.1 完善传统阻塞I/O服务模型 3.2 Reactor模型原理图 3.3 Reactor模式中核心组成 3.4 Reactor模式分类 四、单 Reactor 单线程 4.1 原理图 4.2 方案说…

(二十一)操作系统-信号量机制2

文章目录一、知识总览二、知识点回顾三、信号量机制实现进程互斥四、信号量机制实现进程同步五、信号量机制实现前驱关系六、总结一、知识总览 二、知识点回顾 整型信号量:用一个整数型的变量作为信号量,用来表示系统中某种资源的数量。   记录型信号量…

4.5 正则表达式过滤查询数据

文章目录1. 概述2. 基本字符匹配3.LIKE关键字与正则表达式的区别4.进行OR匹配5.匹配几个字符之一6.匹配范围7.匹配特殊字符8.匹配多个实例9.定位符1. 概述 正则表达式用来匹配更加复杂的查询条件,例如你想从文件中提取电话号码,想从查找名字中间有数字的…

带你掌握webSocket 和 socket.io的基本用法

两者的作用和区别 作用:使得前后端可以随时地相互沟通。什么是互相沟通呢?像网络请求这种就是客户端向服务端的单向的沟通,当然,网络请求也可以实现双向的沟通,比如ajax 轮询,就是浏览器开个定时器不断的发…

Python虚拟环境(pipenv、venv、conda一网打尽)[通俗易懂]

一、什么是虚拟环境 1. 什么是Python环境 要搞清楚什么是虚拟环境,首先要清楚Python的环境指的是什么。当我们在执行python test.py时,思考如下问题: python哪里来?这个主要归功于配置的系统环境变量PATH,当我们在命…

山地车和公路车怎么选

公路车: 只能适应平坦的路面,骑行阻力小,速度快比较适合新手 山地车: 能适应所有路面,更注重操控性和舒适性 怎么选? 1、先决定用途 旅游:旅行车、山地车、 通勤:公路车 2、预…

如何使用BeaconEye监控CobaltStrike的Beacon

关于BeaconEye BeaconEye是一款针对CobaltStrike的安全工具,该工具可以扫描正在运行的主动CobaltStrike Beacon。当BeaconEye扫描到了正在运行Beacon的进程之后,BeaconEye将会监控每一个进程以查看C2活动。 工作机制 BeaconEye将会扫描活动进程或Mini…

G公司对接伍尔特wurth EDI项目案例

项目背景 对伍尔特wurth 而言,与其供应商开展成功的数字化项目通常是以自动连接开始的。通过这种方式,标准化的信息可以在彼此之间进行简单而自动的交换。这个流程被称为电子数据交换(EDI)。 EDI使得诸如订单、送货单、发票、订单…

Jmeter常用断言之JSON断言简介

JSON断言可以对服务器返回的JSON文档进行验证。 JSON断言有两种使用模式: 1.根据JSONPath能否在JSON文档中找到路径; 2.根据JSONPath提取值并对值进行验证。 结果判定:若文档格式为非JSON则断言失败;找不到路径断言失败&#xff1…

深度学习 | BN层原理浅谈

深度学习 | BN层原理浅谈 文章目录深度学习 | BN层原理浅谈一. 背景二. BN层作用三. 计算原理四. 注意事项为什么BN层一般用在线性层和卷积层的后面,而不是放在激活函数后为什么BN能抑制过拟合(有争议)一. 背景 神经网络在训练时,由于内存限制&#xff0…

Swagger2实现配置Header请求头

效果 实现 大家使用swagger肯定知道在代码中会写一个 SwaggerConfig 配置类,如果没有这个类swagger指定也用不起来,所以在swagger中配置请求头也是在这个 SwaggerConfig 中操作。 1、要实现配置请求头在配置swagger的Docket的bean实例中添加一个 globa…

用Python做了一个法律查询小工具,非常好用

用Python做了一个法律查询小工具,非常好用效果展示准备工作不会的话可以点我直达代码和视频讲解,我都准备好了主要代码哈喽兄弟,今天给大家分享一个Python tkinter制作法律查询小工具。 光爬虫大家也只能自己用用,就算打包了exe&…

安全狗受聘成为福州网信办网络安全技术支撑单位

近日,福州市委网信办召开了2022年度网络安全技术支撑单位总结表彰大会。 作为国内云原生安全领导厂商,安全狗也出席了此次活动。 据悉,会议主要对2022年度优秀支撑单位进行表彰,并为2023年度支撑单位举行授牌仪式。 本次遴选工…