【性能测试】5年测试老鸟,总结性能测试基础到指标,进阶性能测试专项......

news2024/11/26 5:36:57

目录:导读

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


前言

性能测试是为了评估系统或应用程序在特定工作条件下的响应速度、吞吐量、稳定性和可伸缩性等方面的能力。
这种类型的测试通常会涉及模拟大量用户同时访问应用程序,并对其进行负载压力测试,以确定系统在高负载情况下是否能够正常运行。

性能测试是必须要通过工具实现的,手工无法实现性能测试,因为性能测试就是模拟非常多的人同时操作系统,如果使用人工进行,那得找非常多的人一起操作,这个成本会非常庞大。

常用的性能测试工具包括JMeter、LoadRunner、Gatling等,这些工具可以模拟大量用户,并记录和分析系统的性能数据。在进行性能测试时,需要注意测试环境的搭建、测试数据的准备、测试场景的设计和测试结果的分析等方面的问题。

大数据量的测试从狭义的角度看,其实也算性能测试一部分。

因为当一个接口返回10条数据和返回100万条数据,所消耗的时间肯定不一样的,这时就会去关注数据库查询这些数据,服务器返回数据,网络传输等性能相关的问题,所以大数据量的测试其实也算性能测试的一部分。

性能指标

并发:有两个概念,
狭义的:指在同一时间点执行相同操作,例如集合点;
广义的:同一时间,向服务器发起请求。

并发用户数:
广义:同一时间点,发起请求的用户数(不管是相同还是不相同的请求,都算并发)。
狭义:同一时间点,发起相同请求的用户数
集合点:集合点只存在于狭义并发中,意思就是集合多个人在同一时间发起相同请求。集合点一般用于类似秒杀这种需要瞬间产生大量请求的场景才会用得上。

并发用户数和并发的区别:用户可以发起多个请求,例如有10用户,每个用户发起5个请求,那就相当于有50个并发。

事务(Transaction):指一个客户机像服务器发送请求,然后服务器做出反应的过程。可以认为一个模块或一个请求或一个业务为一个事务。

响应时间(RT): 从发起请求到收到请求响应的时间;
发送请求网络传输时间+服务器处理时间+返回相应网络传输时间。

Tps/Qps:
Tps(Transaction per Second):服务器每秒处理事务数,衡量服务器处理能力的主要指标
Qps(Queries per Second): 每秒查询率,这里的查询并不局限于查询数据,其他涉及查询的操作也算在内,如:查询内存、缓存等。
两者的差异:一次事务可能会触发多次查询。

吞吐量(Throughput):单位时间内处理的请求数量(事务/s);这是衡量网络每秒能通过多少次事务,如果网络没有问题时,Tps和吞吐量一般会保持一致。

吞吐量:单位时间通过的数据平均速率(kb/s)

点击率(Hit per Second):每秒点击数

资源利用率:这里是指服务器资源的使用情况,常见的有:
cpu利用率;
内存利用率;
磁盘I/O;
一般这些资源使用率不要超过80%

性能与功能测试的区别

性能测试的目的不在是找bug,而是找性能指标。
性能可以在系统界面未出来前就可以介入,因为性能测试主要是针对接口。
性能测试的时间会比功能、自动化测试时间长。

性能测试如何做

如果项目之前完全没有做过性能测试,那么首先要做的就是基准测试。找到项目当前的性能指标,比如可能在并发达到150个的时候系统就出现了异常,那么150这个并发值就是系统当前版本最大的并发量,可以作为性能指标记录下来。

后面系统做了优化或者版本迭代后,重新跑一下之前的脚本。再次得到最新的性能指标,然后将新指标和旧指标进行对比,如果指标值下降,所以新版本的性能存在问题,就要去想办法分析性能及优化。

以此类推,后面每次版本迭代或者需要进行性能测试时都得将新指标和旧指标进行对比分析,从而判断系统性能是否有下降。

性能测试的分类

负载测试:逐步增加系统负载,测试系统性能变化,并最终确定系统所能承受的最大负载量。负载测试关键是逐步增加,找到性能区间,然后根据区间再进一步缩小范围,直到找到最小的区间范围。

切勿盲目大量的增加并发数,更忌上来啥也不管就直接来个几百、几千、几万的并发,这种测试并不能得到任何有效的数据,只会浪费时间。

压力测试:压力测试的目的是做稳定性,在较大的性能压力下,持续运行比较长的时间,看系统服务及各资源利用情况。

一般压力测试建议是7*24,以24小时为倍数去设定。因为如内存的缓冲区,可能需要长时间运行才能检验是否存在问题。压力测试的并发数可以选择系统最大并发数的80~90%。

但实际工作中,很少公司有资源能满足这么长时间的运行,大部分情况下是放在下班后或周末进行。

可靠性测试:在给定的一定的业务压力下,持续运行一段时间,查看系统是否稳定。它和压力测试类似,但不同的是它不需要长时间运行,因此可靠性测试用于测试秒杀的性能会比较常见。

容量测试:在一定的软、硬件条件下,在数据库不同数据量级的情况时,对系统中读/写比较多的业务进行测试,从而获得不同数据量级下的性能指标。

如果系统已经上线运行了一段时间或者可以预知未来系统会有较多用户或数据的就需要做容量测试,因为测试环境的数据库可能就几千条测试数据,但生产上可能有几万、几十万的数据,不同的数据量级对于性能会有影响。

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

一、Python编程入门到精通

请添加图片描述

二、接口自动化项目实战

请添加图片描述

三、Web自动化项目实战

请添加图片描述

四、App自动化项目实战

请添加图片描述

五、一线大厂简历

请添加图片描述

六、测试开发DevOps体系

请添加图片描述

七、常用自动化测试工具

请添加图片描述

八、JMeter性能测试

请添加图片描述

九、总结(尾部小惊喜)

人生的路途不可能一帆风顺,但每一次挫折和失败都是蜕变和成长的机会。只有坚持奋斗,才能创造出自己想要的未来。

奋斗是一种信仰,也是一种态度。不管生命中遇到怎样的考验和风险,只要勇往直前、不畏艰辛,就能不断超越自我,不断追求更好的自己。

每一个成功的人都经历过无数次的失败,每一个迈向成功的步伐,都需要付出比别人更多的努力。但只要坚定自己的方向,积极进取,我们就能够实现心中最大的梦想。

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

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

相关文章

java 接口,接口的特性,接口实现多态,面向接口编程

package cn.zy.cellphone; /**接口是一种引用数据类型。使用interface声明接口,形式* 形式:public interface 接口名称{}* 接口不能拥有构造方法,不能用于创建对象*接口可以多继承。一个接口可以继承多个其他接口*列如:public interface Broa…

任何人都可以学习车载测试吗?车载测试有什么门槛?

1、车载测试是什么? 车载测试分很多种,有软件测试、硬件测试、性能测试、功能测试等等,每一项测试的内容都不一样,我们所说的车载测试主要指的是汽车软件的功能测试,也就是针对汽车实现的某一个功能,而进行…

windows平台多版本nodejs共存工具nvm-windows 中文文档

2023年4月14日11:11:49 官网地址:https://github.com/coreybutler/nvm-windows 下载地址:https://github.com/coreybutler/nvm-windows/releases nodejs版本列表 https://nodejs.org/en/download/releases PS C:\Users\pc\Desktop> nvm -h Running ve…

关于测试,我发现了哪些新大陆

关于测试 平常也只是听说过一些关于测试的术语,但并没有使用过测试工具。偶然看到编程老师在课堂上使用龙测为我们展示了一波测试的相关操作,我发现了一些新大陆,这篇文章就记录一下有关测试的相关操作。 开启测试之旅 进入官网了解到 龙测…

java学习之接口二

目录 一、接口vs继承 一、继承 二、接口 二、接口多态特性 一、多态参数 二、多态数组 三、多态传递 三、接口练习 一、接口vs继承 一、继承 package com.hspedu.interface_;public class ExtendsVsInterface {public static void main(String[] args) {LittleMonkey…

5G物理层信道pdcch说明(留档)

网络七层协议OSI是一个开放性的通信系统互连参考模型。 它是国际标准组织制定的一个指导信息互联、互通和写作的网络规范。 开放:是指只要遵循OSI标准,位于世界的任何地方的任何系统之间都可以进行通讯;开放系统:是指遵循互联网协…

【结构型模式】装饰者模式

文章目录优秀借鉴1、概述2、结构3、实现方式3.1、案例引入3.2、实现步骤3.3、案例实现4、装饰者模式优缺点5、结构型模式对比5.1、装饰者模式和代理模式5.2、装饰者模式和适配器模式6、应用场景优秀借鉴 装饰模式 — Graphic Design Patterns设计模式 | 装饰者模式及典型应用黑…

基于图卷积神经网络GCN的二部图链路预测方法实现思路和完整代码【可用于疾病-靶点、miRNA-疾病等相关预测】

本文解决的问题 基本假设:二部图只有邻接矩阵,没有节点特征,并且进行链路预测,有部分链路未知。 如果你有初始节点特征,直接换掉即可 实现思路 这段代码主要是用于构建一个基于图卷积神经网络(GCN&#…

内网域渗透总结(红日靶场一)

一、靶场环境搭建 红日靶场:http://vulnstack.qiyuanxuetang.net/vuln/detail/2/靶机通用密码:hongrisec2019win7win2003win2008 这个搭建靶场的过程是我经过实际操作(踩坑)总结的最简单省事的方式。 首先创建一个仅主机模式的…

使用appuploader工具发布证书和描述性文件教程

使用APPuploader工具发布证书和描述性文件教程 之前用AppCan平台开发了一个应用,平台可以同时生成安卓版和苹果版,想着也把这应用上架到App Store试试,于是找同学借了个苹果开发者账号,但没那么简单,还要用到Mac电脑的…

数据结构之图(最小生成树+最短路径)

基本概念 连通:若a->b存在路径,即为连通 连通图:该图中任意两点均连通,即为连通图 连通分量:下图为无向图,但存在三个连通分量 强连通图:双向的连通图 强连通分量:有向图中的双…

分享一个免梯子智能的问答工具ChatGPT,刷题和学习的好帮手

使用了这个问答工具后,感觉前后端都要被替代了,太强了。 由于本人之前很想体验,但是一直难搞,最近发现了一个免梯子的,重要事情说一遍,免梯子!是我最近发现的最好用,最快的,且不要梯子的,用起来爽,界面也挺好看的,大家快玩儿玩儿。 试了一下写代码,写文案……真棒…

文心一言 VS chatgpt (9)-- 算法导论2.3 7题 3.1 1题

七、描述一个运行时间为O(nlgn)的算法,给定n个整数的集合S和另一个整数,该算法能确定 S中是否存在两个其和刚好为工的元素。 文心一言: 这里是一个运行时间为O(nlgn)的算法,可以用来确定集合 S 中是否存在两个元素,它…

FE_CSS 页面布局之定位

1 为什么需要定位 某个元素可以自由的在一个盒子内移动位置,并且压住其他盒子。 当我们滚动窗口的时候,盒子是固定屏幕某个位置的。 以上效果,标准流或浮动都无法快速实现,此时需要定位来实现。 浮动可以让多个块级盒子一行没有…

第四章 word2vec 的高速化

目录4.1 word2vec 的改进①4.1.1 Embedding 层4.1.2 Embedding 层的实现4.2 word2vec 的改进②4.2.1 中间层之后的计算问题4.2.2 从多分类到二分类4.2.3 sigmoid 函数和交叉熵误差4.2.4 多分类到二分类的实现4.2.5 负采样4.2.6 负采样的采样方法4.2.7 负采样的实现4.3 改进版 w…

组态王与FX5U之间如何快速实现无线通讯?

本方案是基于Modbus RTU协议下实现的1主多从自组网无线通信形式,主站为组态王,从站为两台三菱FX5U PLC。在工厂里,组态王和plc所处位置距离较为分散,重新铺设电缆线工期长,成本高,故采用日系PLC专用无线通讯…

【Halcon 笔记2】参数

一、图形参数 图形参数 Iconic, 包括 image, region, XLD 1.1 image 图像由一个或者多个通道组成,是大小相同的矩阵,包含各种像素类型的灰度值 在图像显示界面,按ctrl健,可以查看当前的像素值 灰度图 一个通道像素点存放在一个…

STM32开发(十四)STM32F103 数据手册 —— 通用定时器 PWN 详解

文章目录主要特点通用定时器内部框图功能描述计数器模式计数器时钟可选择时钟源PWM输入模式STM32F103内部通用定时器包括TIMx (TIM2、 TIM3、 TIM4和TIM5)定时器 主要特点 16位向上、向下、向上/向下自动装载计数器 16位可编程(可以实时修改)预分频器,计数器时钟频…

【MySQL学习】认识MySQL数据库

目录一、什么是数据库二、主流数据库三、MySQL数据库的基本使用3.1 MySQL的安装3.2 MySQL服务器管理3.3 连接MySQL服务器3.4 MySQL服务器,数据库与表之间的关系3.5 使用案例3.6 数据存储四、MySQL架构五、SQL分类六、存储引擎6.1 定义6.2 查看存储引擎6.3 存储引擎对…

检测图中的负循环 | (贝尔曼福特)

我们得到了一个有向图。我们需要计算图形是否有负循环。负循环是循环的总和变为负的循环。 在图形的各种应用中都可以找到负权重。例如,如果我们沿着这条路走,我们可能会得到一些好处,而不是为一条路付出代价。 例子: