新人如何学习性能测试?一文5个步骤带你入门性能测试!

news2024/11/25 19:11:15

写在前面:测试岗位细化后分为很多,功能测试、性能测试、自动化测试、测试开发,这些都叫测试。性能测试在所有测试分工中,地位和薪资都比较高,可见下方图片:

中级第3条,高级第1条,都是对性能测试的要求

性能测试地位和薪资高于自动化测试

相比自动化测试属于中级测试,性能测试却属于高级测试

高薪和高地位也就意味着从业人员不多,学习门槛不低。为“透彻”告诉各位新人如何学习性能测试,本文行文结构如下所示哈,来看一下:

1、如何做性能测试?从招聘网站出发,看企业对性能测试的要求
2、如何做性能测试?先了解性能测试的指标数据
3、如何做性能测试?再了解下性能测试的常用方法
4、如何做性能测试?理论联系实际,分享企业常规操作
5、如何达到企业要求?分享给新手学习资源(视频)。

一、如何做性能测试?从招聘网站出发,看企业对性能测试的要求

我们先来看看各个招聘网站对性能测试工程师的要求

认真分析招聘网站需求,可以总结出企业对性能测试从业人员的要求:

① 熟悉性能测试理论【下面就深入拓展】
② 熟悉Linux系统【最后会分享学习资源】
③ 掌握至少一门编程语言(Java/Python/Go/C/C++/Shell等)【最后会分享学习资源】
④ 熟练使用性能测试工具(Jmeter/LoadRunner)【最后会分享学习资源】

二、如何做性能测试?先熟悉性能测试理论中的指标数据

性能测试常用指标一般是以下6个

1. 响应时间
2. 并发数
3. 吞吐量
4. 点击数
5. 错误率
6. 资源利用率

接下来我们展开逐个说明一下:

1、响应时间

客户端向服务器发送请求开始,到接受服务器响应完成结束使用的时间。

· 计算:响应时间=网络传输时间+服务器(应用服务器、数据库服务器)解析时间

通过HTTP接口请求消息来测试。

不包括,“发消息时前端页面的处理时间” 和 “收到消息后前端页面的渲染显示时间”。

2、 并发数

同一时间向服务器发送的请求数。

3、吞吐量

指的是单位时间内处理的客户端请求数量, 直接体现软件系统的性能承载能力。

说明:吞吐量是衡量系统流量的统称:

· 从业务角度来看

o 单位:“业务数/小时” 、 “业务数/天” 、 “访 问人数/天” 、 “页面访问量/天”

· 从网络角度来看

o 单位:“字节数/小时” 、 “字节数/天”

· 从技术角度来看

o TPS:每秒事务数【重点】

说明:事务,是指一个业务的所有请求,称为一个事务(1条或多个条请求)

o QPS:每秒查询数

说明:统计服务器每秒处理的请求数(单请求)

4、点击数

打开网页向服务器发送一些列请求,服务器处理请求的数量为点击数。

只有web项目才有此指标,统计是根据响应状态码计算(图片、js、css、框架)。

5、错误率

· 说明:在负载测试过程中,服务器处理失败的次数。

· 提示:

o 大多系统都会要求错误率无限接近于0

o 错误率是一个性能指标,不是功能上的随机bug

6、资源使用率

是指系统各种资源的使用情况,一般用“资源的使用量/ 总的资源可用量×100%”形成资源利用率的数据。

· 提示:一般硬件资源使用情况,作为性能调优分析首选考虑点

· 根据经验,资源指标通常要求:

(1)CPU不高于75%-85%

(2)内存不高于80%

(3)磁盘IO不高于90%

(4)网络不高于80%

现在我也找了很多测试的朋友,做了一个分享技术的交流群,共享了很多我们收集的技术文档和视频教程。
如果你不想再体验自学时找不到资源,没人解答问题,坚持几天便放弃的感受
可以加入我们一起交流。而且还有很多在自动化,性能,安全,测试开发等等方面有一定建树的技术大牛
分享他们的经验,还会分享很多直播讲座和技术沙龙
可以免费学习!划重点!开源的!!!
qq群号:110685036

 

三、如何做性能测试?再熟悉性能测试理论中的性能测试的方法

常见的性能测试方法有以下几种:

· 基准测试
· 负载测试
· 稳定性测试
· 压力测试
· 并发测试

1、基准测试

使用单用户跑场景,拿取关注指标数据,为后期多用户跑场景,做参考数据。

什么是基准测试?

· 狭义上讲:就是单用户测试。(单用户循环多次得到的数据)

· 广义上讲:建立基准线,当系统的软硬件环境发生变化之后再进 行一次基准测试以确定变化对性能的影响。

基准测试数据的用途?

· 基准测试不会单独存在

· 为多用户并发测试和综合场景测试等提供参考依据

· 为系统/环境配置、系统优化前后的性能提升/下降提供参考指标

提示:性能测试之前,先做基准测试。

2、负载测试

通过逐步增加系统负载,确定在满足系统的性能指标情况下,找出系统所能够承受的最大负载量的测试。

一般采用逐步加压方法(5用户、10用户、20用户)

3 、稳定性测试

· 说明:系统在保持一定负载情况下(cpu 60~80%),运行一段时间,系统是否稳定运行

4、压力测试

· 压力测试:在强负载下的测试,查看系统在峰值情况下是否功能隐患、系统是否 具有良好的容错能力和可恢复能力。

5、 并发测试

并发测试(绝对并发):是指在极短的时间内,发送多个请求,来验 证服务器对并发的处理能力。

特定活动场景,如:抢红包、秒杀、抢购等

四、如何做性能测试?理论联系实际,分享企业常规操作

首先大图镇楼:

性能测试流程图

性能测试流程图,概况起来可以分为以下6步:

1 、性能需求分析

目的:熟悉被测系统、确定性能测试业务、核定测试策略、明确测试指标。

· 明确被测系统

· 明确测试内容

o 业务角度:- 用户使用频率较高的关键业务功能

o 技术角度:- 逻辑复杂度高的业务 - 数据量大的业务

· 如何确定测试策略

o 基准测试

o 负载测试

o 稳定性测试

· 如何明确测试指标

o 有要求:根据要求来

o 没有要求:根据竞品数据分析

2 、测试计划

· 确定测什么

· 确定谁来测

· 确定怎么测

3 、性能测试用例

4 、性能测试执行

· 建立测试环境

o 搭建性能测试环境,包括硬件环境、软件环境、网络环境

o 提示:一般情况下可以要求运维和开发工程师协助完成

· 编写测试脚本

o 按照性能测试用例的需要,使用性能测试工具进行编写测试脚本

o 提示:脚本可以自己编写,也可以使用工具来录制

· 性能测试监控 - 在脚本执行前,配置各项性能的监控指标。

o 如:响应时间、TPS、错误率、资源使用率(CPU、内存、磁盘等)

· 执行测试脚本

o 设置性能运行场景,执行性能测试,并同步收集各项性能指标 - 提示:执行性能测试脚本前,保证脚本都调试通过

5、 分析与调优

· 调优人员:开发、网管、运维、性能测试人员

· 分析原则:由易到难

1、硬件

2、网络

3、配置问题(应用服务器、数据库)

4、源代码、数据库脚本

5、系统架构问题

6 性能报告

· 测试结论

· 分析及调优过程

· 本次测试总结

· 风险控制

五、如何达到企业要求?分享给新手学习资源

本文第一章节,我们通过分析招聘网站需求,可以总结出企业对性能测试从业人员的要求:

① 熟悉性能测试理论【上面已经拓展了】
② 熟悉Linux系统【本章节开始分享】
③ 掌握至少一门编程语言(Java/Python/Go/C/C++/Shell等)【本章节开始分享】
④ 熟练使用性能测试工具(Jmeter/LoadRunner)【本章节开始分享】

1、如何熟悉Linux系统

2、如何掌握至少一门编程语言(Java/Python/Go/C/C++/Shell等)

掌握至少一门编程语言,推荐学习Python。Python免费开源、简单易学、可扩展、可移植、可嵌入、还有丰富的库,足够强大。

Python在语言排行榜中排名第一。

掌握了Python,我们不仅可以借助Python实现性能测试,还可以借助于Python的requests库实现接口测试,此外我们还可以通过Python+Selenium实现兼容性测试和UI自动化测试。

3.  如何熟练使用性能测试工具(Jmeter/Loadrunner)?

工欲善其事必先利其器。进行性能测试必然要掌握自己最擅长的工具。其实不管是LoadRunner还是Jmeter,只要我们熟练掌握其中的一个工具,就能实现性能测试的目的。最后祝愿大家能通过视频一步一步成为性能测试高手。


敲字不易,如果此文章对你有帮助的话,点个赞收个藏,给作者一个鼓励。也方便你下次能够快速查找。

END配套学习资源分享

最后: 为了回馈铁杆粉丝们,我给大家整理了完整的软件测试视频学习教程,朋友们如果需要可以自行免费领取 【保证100%免费】

加入我的软件测试交流qq群:110685036免费获取~(同行大佬一起学术交流,每晚都有大佬直播分享技术知识点)

软件测试面试文档

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

在这里插入图片描述

全套资料获取方式:

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

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

相关文章

深度学习入门——感知机

1 感知机是什么 感知机接收多个输入信号,输出一个信号。这里所说的“信号”可以想象成电流或河流那样具备“流动性”的东西。像电流流过导线,向前方输送电子一样,感知机的信号也会形成流,向前方输送信息。但是,和实际…

Java集合-Collection Map

文章目录 概念IterableCollection接口List接口ArrayListVectorLinkedListArrayList 和 LinkedList 比较 SetHashSet LinkedHashSetMapHashMap 概念 1.集合主要是两组:单列集合(Collection) , 双列集合(Map) 2.Collection 接口有两个重要的子接口 List ,Set . 他们的实现子类都…

SWIG介绍和使用

官网:https://www.swig.org/ github:https://github.com/swig SWIG 是一种软件开发工具,可将用 C 和 C 编写的程序与各种高级编程语言连接起来。 SWIG 与不同类型的目标语言一起使用,包括常见的脚本语言,如 Javascri…

redis集群-Redis(六)

上篇文章介绍了哨兵架构以及集群搭建。 哨兵架构&redisCluster-Redis(五)https://blog.csdn.net/ke1ying/article/details/131178880 redisCluster 接着上篇文章继续讲解,前面一个linux服务器已经有了8001和8004节点,现在继…

八大典型的黑盒测试方法已来袭,快快接住!

前言 有了软件缺陷的暴露,我们就需要通过各种软件测试的方法来查找出软件的漏洞,编写出测试用例,及时修改bug。 在下面的这篇文章中,我们将谈论八大典型的黑盒测试方法,一起来学习⑧💡 一、等价类划分法…

【Python实战】Python采集王者皮肤图片

前言 我们上一篇介绍了,如何采集王者最低战力,本文就来给大家介绍如何采集王者皮肤,买不起皮肤,当个桌面壁纸挺好的。下面,我和大家介绍如何获取数据。 环境使用 python 3.9pycharm 模块使用 requests 模块介绍 re…

c++返回值使用引用的注意事项

c返回值使用引用的注意事项 问题原因返回函数的引用形参另外一个问题解决方法 问题 引用变量b接受到的值为无意义的数字。 原因 int& b returnYingyong();相当于: int i2 3; int& b i2; 销毁 i2;将局部变量作为返回值,导致引用b数据无意义…

【LInux】进程间通信(共享内存)

文章目录 system V共享内存shmget(创建共享内存)ftok(key)ipcs指令shmctl(销毁共享内存)shmat代码 共享内存 system V共享内存 共享内存区是最快的IPC形式。一旦这样的内存映射到共享它的进程的地址空间&am…

新能源突围,需要发力被忽视的中端品牌战场

作者 |张祥威 编辑 |德新 今年2月,受特斯拉等竞品降价影响,深蓝SL03销量下滑至4000台。深蓝的市场部上报长安中国,十天后开始降价,3月SL03销量重回正轨。 在巨头和新势力之间灵活腾挪,深蓝向外界展示了爆款制造的素质…

网络安全知识点梳理(期末不挂科)

网络安全复习知识点太多梳理不清晰?👏🏻👏🏻👏🏻 本文一篇帮你梳理清晰,内容覆盖整个大学网络安全知识点👌🏻 干货满满不看后悔👍&#x1f44…

leetcode 309.最佳买卖股票时机含冷冻期

题目描述 给定一个整数数组prices,其中第 prices[i] 表示第 i 天的股票价格 。​ 设计一个算法计算出最大利润。在满足以下约束条件下,你可以尽可能地完成更多的交易(多次买卖一支股票): 卖出股票后,你无法在第二天买入…

基于深度学习的高精度足球检测识别系统(PyTorch+Pyside6+YOLOv5模型)

摘要:基于深度学习的高精度足球检测识别系统可用于日常生活中或野外来检测与定位足球目标,利用深度学习算法可实现图片、视频、摄像头等方式的足球目标检测识别,另外支持结果可视化与图片或视频检测结果的导出。本系统采用YOLOv5目标检测模型…

【Java基础学习打卡09】JRE与JDK

目录 引言一、JRE二、JDK三、JDK、JRE和JVM关系总结 引言 本文将介绍JRE、JDK是什么,以及JDK、JRE和JVM关系三者之间的关系。 一、JRE JRE全称为Java Runtime Environment,是Java应用程序的运行时环境。JRE包括Java虚拟机(JVM)、…

【数据结构】二叉树经典题目

1. 二叉树创建字符串 相信大部分人看了题目描述之后,都会和我一样一脸的懵逼。直到我看到了一个描述才恍然大悟 分为3种情况: 左右都为空 --省略右为空,左不为空 – 省略左为空,右不为空–不省略 这里复习一下二叉树的前序遍历…

Linux基本指令(四)

文章目录 一、新建(adduser)与删除(userdel)普通用户二、date指令三、find指令四、grep指令 一、新建(adduser)与删除(userdel)普通用户 前面我Linux登录时都是以root的身份登录的,从现在开始以普同用户登录,那么普通用户哪里来,是由root用户…

泰坦陨落2找不到msvcr120.dll的解决方法

msvcr120.dll是的动态链接库文件之一。它在Windows操作系统中发挥着重要的作用,它提供了应用程序所需的各种功能和方法。 该文件返回编译后的代码所需的支持库。msvcr120.dll包含用于C / C编译器生成的应用程序所需的重要功能,包括数学函数,…

第六节 容器(列表)

文章目录 列表掌握知识点1.1 概述1.1.1 语法格式 1.2 列表的循环遍历1.2.1 for 循环遍历列表1.2.2 while 循环遍历列表 1.3 列表的常见操作1.3.1 列表增加元素1.3.2 列表删除元素1.3.3 列表查询元素 1.4 列表的排序1.5 列表的嵌套1.6 练习 随机分班1.7 练习 判断字符结尾1.8 扩…

华为OD机试真题 JavaScript 实现【最长子字符串的长度】【2022Q4 100分】,附详细解题思路

一、题目描述 给你一个字符串s,字符串s首尾相连组成一个环形,请你在环形中找出‘o’字符出现了偶数次最长子字符串的长度。 二、输入描述 输入一串小写字母组成的字符串。 三、输出描述 输出一个整数。 四、解题思路 题目要求在给定的环形字符串中…

HTML中嵌入JavaScript代码的三种方式

第一种方式: <!DOCTYPE html> <html> <head> <meta charset"utf-8"> <title>HTML中嵌入JavaScript的第一种方式</title> </head> <body> <!-- 1.要实现的功能…

Unix/Linux操作系统的最强入门科普(经典)

今天这篇文章&#xff0c;我们来聊聊操作系统&#xff08;Operating System&#xff09;。 说到操作系统&#xff0c;大家都不会陌生。我们天天都在接触操作系统——用台式机或笔记本电脑&#xff0c;使用的是windows和macOS系统&#xff1b;用手机、平板电脑&#xff0c;则是…