• 如何学习性能测试?


    写在前面:

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

    在这里插入图片描述
    中级第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%

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

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

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

    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 性能报告
    · 测试结论

    · 分析及调优过程

    · 本次测试总结

    · 风险控制
    在这里插入图片描述
    7、性能测试理论学习推荐视频

    理论知识文字版的学习,若觉得非常枯燥,想学习测试理论更轻松,建议可以看下方的视频这个视频:在这里插入图片描述

    90分钟稿定性能测试,从入门到精通,阿里大佬分享,永久白嫖!
    https://www.bilibili.com/video/BV1c34y1E7xj

    五、如何达到企业要求?分享给新手学习资源(视频+书籍)

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

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

    1、如何熟悉Linux系统

    这里我推荐一本Linux从入门到精通的书籍。这本书籍适合广大Linux初中级用户阅读。

    本书由浅入深、循序渐进地向读者介绍Linux的基本使用和系统管理。全书内容包括Linux概述、Linux安装、Linux基本配置…。这本《Linux从入门到精通》,平易近人,娓娓道来,有Linux菜鸟所需要的一切!若没有看书习惯,更喜欢看视频学习同学们,推荐观看B站好评不错的视频教程

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

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

    Python在语言排行榜中排名第一。
    在这里插入图片描述掌握了Python,我们不仅可以借助Python实现性能测试,还可以借助于Python的requests库实现接口测试,此外我们还可以通过Python+Selenium实现兼容性测试和UI自动化测试。
    在这里插入图片描述

    Python的学习书籍也推荐给你两本。

    第一本是《 Python编程:入门到实践》。相信接触过Python的好多小伙伴都听过这本书籍。
    在这里插入图片描述
    再推荐给大家另外一本《笨办法学Python》。 “笨办法学”系列,是由有着百万粉丝的编程大师Zed A. Shaw创建的一套非常有效的学习体系,案例式教学,边学边练,学习更有针对性。
    在这里插入图片描述
    3. 如何熟练使用性能测试工具(Jmeter/Loadrunner)?

    工欲善其事必先利其器。进行性能测试必然要掌握自己最擅长的工具。其实不管是LoadRunner还是Jmeter,只要我们熟练掌握其中的一个工具,就能实现性能测试的目的。

    关于性能测试的学习书籍有哪些推荐呢?

    第一本推荐《全栈性能测试修炼宝典JMeter实战》
    在这里插入图片描述
    这本书籍不仅详细介绍了工具的使用,在书籍的开始也详细的介绍了性能测试的一些理论,是一本不可多得的好书,必须推荐。

    另外一本书,要推荐 LoadRunner 的书籍了。因为性能测试的半边天就是LoadRunner。在这里插入图片描述
    在技术上,它不只是全面、深入地讲解了性能测试和性能优化,而且还讲解了安全测试;

    在工具上,不只是讲解了LoadRunner,还讲解了最受欢迎的开源工具Apache ab和JMeter;

    在内容上,不只是讲解了软件测试,还为测试人员的职业规划和发展指明了方向,从某种程度上讲,这比技术更有价值;

    在实操性上,它绝不是“纸上谈兵”,解决了很多书让读者无法学以致用的弊端,以大企业的真实项目为基础,融技术讲解于项目实战。

    最后感谢每一个认真阅读我文章的人,下面这个网盘链接也是我费了几天时间整理的非常全面的,希望也能帮助到有需要的你!

    在这里插入图片描述

    这些资料,对于想转行做【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!凡事要趁早,特别是技术行业,一定要提升技术功底。希望对大家有所帮助……

    如果你不想一个人野蛮生长,找不到系统的资料,问题得不到帮助,坚持几天便放弃的感受的话,可以点击下方小卡片加入我们群,大家可以一起讨论交流,里面会有各种软件测试资料和技术交流。

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

    自学推荐B站视频:

    零基础转行软件测试:38天自学完软件测试,拿到了字节的测试岗offer,堪称B站最好的视频!

    自动化测试进阶:已上岸华为,涨薪20K,2022最适合自学的python自动化测试教程,自己花16800买的,无偿分享

    在这里插入图片描述

  • 相关阅读:
    中间件
    idea正常run,但是debug报错
    欧美市场独立站选品技巧
    工地渣土车清洗识别检测系统
    猫头虎博主赠书二期:《Go黑帽子 渗透测试编程之道(安全技术经典译丛) 》
    kux转mp4,实测有效,有图有真相
    洛谷P5451 密码学第三次小作业
    Oracle-在ASM无法正常启动下,修改ASM实例参数
    渗透测试 | 端口扫描
    java计算机毕业设计响应式交友网站源码+系统+mysql数据库+lw文档+部署
  • 原文地址:https://blog.csdn.net/weixin_57805858/article/details/126266758