一篇文章带你搞定企业级完整性能测试流程!

大部分公司在最初试的阶段只会关心项目的基本功能,能用就可以。但是随着项目的成熟,用户量逐步的增大,线上经常就会出现一些系统崩溃,用户反映系统太慢等性能问题的爆发。所以,性能测试的需求就逐步变得迫切了。所以,基本上90%的公司,都会只重视功能测试同时,也把项目的性能测试列为重点关注对象,这就导致测试市场上【性能测试工程师】的岗位需求越来越多了。

什么是性能测试

要做性能测试,我们需要先弄清楚什么是性能测试,以及性能测试和通常的功能测试有什么差异?

首先,众所周知,功能测试是模拟一个人使用某个系统的某个功能,测试使用后的实际结果与预期结果是否一致;

性能测试与之最大的差别就就是,模拟N多个人同时使用某个功能,观察以下数据指标:

多久时间能收到结果,也就是我们常说的性能指标,RT【响应时间】

多少人能正常收到结果,也就是性能测试指标 最大并发用户数。

服务器在多人同时使用时资源消耗多少

所以,在执行和关注结果层面,性能和功能测试都有本质上的区别。

企业性能测试流程

在公司做性能测试流程跟功能测试流程也有一定差异,如下图所示:

第一步:性能测试准备

1.1 测试指定标准

功能迭代完成了,预发布完成后,功能稳定了,这是性能的准入原则;

而且是否有必要做性能测试需要进行评估。比如有些伪需求,简单的逻辑不会影响性能,不需要做性能测试;非核心模块做性能测试,投入产出比也比较低,也没有必要做。

1.2 性能需求分析、量化性能指标

产品的功能点很多。做哪些功能的性能测试?边界、范围要明确。讨论到底具体做哪些功能。

出性能报告的时候,性能标准是什么也要先明确,如果没有给出特殊指标值,就以行业标准来定。

行业内标准:【ART<1.5s,ERR<0.1%,服务器资源利用率<80%】

第二步:性能测试环境搭建

明确了需求后,开始搭建独立性能测试环境,性能测试环境要求:

独立网络(有线、局域网)

独立服务器 (硬件配置要与生成一致、服务部署架构要与生成一致,集群大小,可以缩减

并且要同步搭建性能测试结果监控平台:比如 prometheus,grafana,influxdb ,现在市面上很多监控都是基于prometheus+grafana的二次开发页面展示不一样的。为了方便直接对测试结果进行监控分析,我们可以提前搭建好这些监控平台。

第三步:性能测试脚本开发和执行:脚本制作,调试和验证脚本

性能测试脚本开发和执行需要借助工具来实现,性能测试工具目前市场主流的有:

Jmeter 开源免费,学习资料比较多,java开发,跨平台【win mac Linux都可以用】,推荐优先使用。

Loadrunner,需要收费,市场份额相对较少;C语言开发,破解版本<11版本,12版本免费只能使用50用户数,更新很慢。破解版使用有风险。

locust 需要代码基础,用的也比较少;公司自研使用。Python语言自行开发。

我们以最主流的Jmeter工具给大家讲解性能场景设计与执行,常见的测试模型有:

1)基于并发数模型:线程数梯度增加,压出系统能承受的最大并发用户是

2)基于TPS压测模型:目标一般是为了压出系统最大的TPS,所以会采取平缓增加TPS的模式。

这里的RPS可以等同于TPS,以下图就是5分钟内TPS从1-20,下个5分钟20-50,下个5分钟50-100,最后加到300后,持续600s,如此设计平缓递增。

第五步:性能测试结果分析和调优

性能测试最重要的部分其实就是结果分析和调优。在性能测试过程中对各种数据进行监控与收集,包括被测项目的监控(服务 + 服务器),硬件资源监控+项目服务监控等。通过对测试结果与监控数据综合分析,进行问题定位、分析、调优。

问题分析和调优的基本步骤主要可以按照如下顺序进行:

1、由外及内: 检查RT>检查tps>检查负载机资源情况>检查服务器资源情况>检查 中间件、数据库配置>中间件、数据库耗时分析

2、由表及里:自身问题>服务器硬件瓶颈 > 网络瓶颈 > 服务器os瓶颈> 应用瓶颈

自身问题:优先找自己的问题,因为可能脚本,客户端端口不够、网络不好等问题。

服务器硬件瓶颈:CPU 内存 磁盘等

服务器os瓶颈:参数配置、数据库、web服务器

应用瓶颈:sql语句、数据库设计、业务逻辑、算法

调优后再验证测试,检查问题是否已经解决。

性能测试通过标准& 验收标准:

第六步:性能问题跟踪与报告

当以上的步骤都做完后,就可以开始整理编写性能测试报告。

性能测试报告要素:

1、背景 :为什么要做压测的目的。

2、压测内容:方案里有体现,范围和场景和环境 脚本 架构图等。

3、压测结果(截图):指标项的记录,TPS,资源使用情况等,截图附上作为证 据,也更加直观和后续对比分析。

4、问题和调优:通过什么现象发现是个问题,然后调优的方法;包括已解决,待解 决的问题;如果没有办法避免,写到结论里。

5、压测结论&建议 :简洁明了,接口的最大并发用户数 响应时间 资源利用率等作 为一个图标展示,明确的结论:是否达标。

然后进行性能测试问题跟踪

记录需要跟踪的性能问题:问题可能不是一时半会能修复的,也需要问题跟踪。

性能测试的意义和价值

性能测试对于项目和企业有这重要的意义和价值。我们可以从以下场景来阐述:

1、如果公司需要升级硬件或者服务,我们需要对其进行性能测试,对比升级前后是否有性能提升或者降低;如果硬件升级后,没有提升,就不用升级硬件了;

这就可以大大的减少硬件上投入,为公司缩减没有必要的成本。

性能测试的环境 一般期望硬件配置与生产环境保持一致,但是数量不要求相等。

这样评估可以更加合理的安排生产环境的设备配置。

3、日常工作的性能测试,及早的发现一些性能隐患。比如挑选一些性价比最高的模块来做性能测试,可以高效帮助公司避免一些用户流失和经济损失。以下是常见的需要做性能测试领域:

核心的功能

用户使用量做多的

赚钱的模块

有活动的,突发的并发用户,指导突发流量承载方案的指定。

4、及时发现和避免用户越权事故。

功能测试中多次点击会出现重复数据,在性能测试里就是多个用户并发的时候发现重复数据,数据互串,很有效的发现用户越权的安全问题。

总结

综上所述,性能测试对于企业来说必不可少且意义重大。然后现在人才市场上真正掌握性能测试人却少之又少,很多企业都无法真正找到全面的性能测试人才,所以这块也是一个技能缺口,目前在做测试岗位的同学们,可以往性能测试方向发展和提升,从而确保自己的测试地位。

感谢每一个认真阅读我文章的人!!!

作为一位过来人也是希望大家少走一些弯路,如果你不想再体验一次学习时找不到资料,没人解答问题,坚持几天便放弃的感受的话,在这里我给大家分享一些自动化测试的学习资源,希望能给你前进的路上带来帮助。

软件测试面试文档

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

视频文档获取方式:
这份文档和视频资料,对于想从事【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!以上均可以分享,点下方小卡片即可自行领取。

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

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

相关文章

SSL证书可以提高SEO排名吗?

SSL证书是什么&#xff1f; SSL&#xff08;安全套接层&#xff09;证书是一种数字证书&#xff0c;用于在网站服务器和浏览器之间建立加密链接。当网站安装了SSL证书后&#xff0c;其网址会从“http://”变为“https://”&#xff0c;并在地址栏显示锁形标志&#xff0c;表示…

Java初中级岗位真的饱和了吗?

金三银四快要到了&#xff0c;但是大家就业压力却没有缓解多少。很多粉丝后台留言&#xff0c;Java程序员面临的竞争太激烈了……我自己也有实感&#xff0c;多年身处一线互联网公司&#xff0c;虽没有直面过求职跳槽的残酷&#xff0c;但经常担任技术面试考官&#xff0c;对程…

十年nova再进化:持续受热捧的背后,藏着对“色彩”的执着

当手机成为我们最亲密的记录工具&#xff0c;色彩的真实与灵动&#xff0c;早已超越像素参数&#xff0c;成为衡量影像实力的核心标尺。华为nova 15 Ultra带着对色彩的极致追求而来&#xff0c;从一眼心动的外观到颠覆行业的前后双红枫影像&#xff0c;再到让创意落地的AI修图黑…

什么是数据安全,我们为什么需要保证数据安全,如何做好数据安全管理?

目录 一、数据安全中心是什么 &#xff08;一&#xff09;数据安全中心的定义 &#xff08;二&#xff09;数据安全中心的功能 1. 数据分类分级 2. 访问控制 3. 数据加密 4. 安全审计 5. 威胁检测与响应 二、数据安全管理的重要性 三、如何借助数据安全中心做好数据安…

[Windows] Coodesker v1.1.0.3酷呆桌面

[Windows] Coodesker v1.1.0.3酷呆桌面 链接&#xff1a;https://pan.xunlei.com/s/VOjZi1v8hB2LHT_us9a3PUK4A1?pwdsvkj# Coodesker&#xff0c;中文名酷呆桌面&#xff0c;是一款为 Windows 电脑设计的桌面文件整理工具。体积小、无广告、功能实用&#xff0c;深受用户喜欢…

挑战一周速通Java并发编程!

说到并发编程&#xff0c;很多人第一反应都是&#xff1a;难&#xff01;难是肯定的&#xff0c;因为并发编程涉及到的知识面太广&#xff0c;你想要学懂并发编程&#xff0c;需要提前储备大量的底层知识&#xff0c;这样学习过程中理解起来才不会那么困难&#xff1b;才能在面…

互联网的神经网络:OSI七层分层模型深度讲解

本文深入探讨计算机网络体系结构的基础理论&#xff0c;通过详细分析OSI七层模型的每一层功能、协议、数据流向以及实际应用场景&#xff0c;帮助技术人员建立对网络通信的全面理解。 第一部分&#xff1a;从混乱到秩序——为什么需要分层 当人们第一次接触计算机网络时&#…

化学标准品找哪家?从厂家排名、性价比到售后服务的多维对比,迪马科技为何成行业首选?

在食品安全检测、环境监测、药物研发、临床诊断等对数据精准度要求极高的领域,化学标准品堪称“分析之眼”——没有它,再先进的仪器也难以输出可信结果。然而面对市场上琳琅满目的供应商,从国际巨头到本土新锐,用户…

智能学术写作工具Top10:AIGC驱动的论文降重与内容生成

工具名称核心优势适用场景aicheck快速降AIGC率至个位数AIGC优化、重复率降低aibiye智能生成论文大纲论文结构与内容生成askpaper文献高效整合开题报告与文献综述秒篇降重效果显著重复率大幅降低一站式论文查重降重查重改写一站式完整论文优化深度AI降重深度改写保留原意文本结构…

贝叶斯逻辑回归案例和使用场景 - 指南

贝叶斯逻辑回归案例和使用场景 - 指南pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Mona…

强烈安利10个AI论文平台,助你轻松搞定本科毕业论文!

强烈安利10个AI论文平台&#xff0c;助你轻松搞定本科毕业论文&#xff01; 论文写作不再难&#xff0c;AI 工具助你轻松应对 对于许多本科生来说&#xff0c;撰写毕业论文是一项既重要又充满挑战的任务。从选题到资料收集&#xff0c;再到大纲搭建和内容撰写&#xff0c;每一个…

[深度学习网络从入门到入土] 感知机Perceptron

[深度学习网络从入门到入土] 感知机Perceptron 个人导航 知乎&#xff1a;https://www.zhihu.com/people/byzh_rc CSDN&#xff1a;https://blog.csdn.net/qq_54636039 注&#xff1a;本文仅对所述内容做了框架性引导&#xff0c;具体细节可查询其余相关资料or源码 参考文…

科研写作新选择:十大基于AIGC技术的论文生成与降重工具

工具名称核心优势适用场景aicheck快速降AIGC率至个位数AIGC优化、重复率降低aibiye智能生成论文大纲论文结构与内容生成askpaper文献高效整合开题报告与文献综述秒篇降重效果显著重复率大幅降低一站式论文查重降重查重改写一站式完整论文优化深度AI降重深度改写保留原意文本结构…

Java现在的内卷程度简直怀疑人生!

最近很多粉丝朋友私信我说&#xff1a;熬过了去年的寒冬却没熬过现在的内卷&#xff1b;打开Boss直拒一排已读不回&#xff0c;回的基本都是外包&#xff0c;薪资还给的不高&#xff0c;对技术水平要求也远超从前&#xff1b;感觉Java一个初中级岗位有上千人同时竞争&#xff0…

2026年灭菌器厂家测评推荐:灭菌器三强各显神通

市场版图:三分天下,各显神通 医疗灭菌设备市场正面临重大变革。随着全球市场规模2025年达到42.71亿美元,预计2032年将增长至68.14亿美元。中国厂商正以每年超过7%的复合增长率加速追赶国际品牌。 在高压蒸汽灭菌器领…

现在Java面试背八股是不是没用了?

程序员面试背八股&#xff0c;可以说是现在互联网开发岗招聘不可逆的形式了&#xff0c;其中最卷的当属Java&#xff01;&#xff08;网上动不动就是成千上百道的面试题总结&#xff09;你要是都能啃下来&#xff0c;平时技术不是太差的话&#xff0c;面试基本上问题就不会太大…

「LUCKY STUN穿透」使用 cURL 自动修改 Transmission 的监听端口

「LUCKY STUN穿透」使用 cURL 自动修改 Transmission 的监听端口「LUCKY STUN穿透」使用 cURL 自动修改 Transmission 的监听端口 2024.04.27 关于本教程 在之前的教程中我们已经实现了使用lucky自带的webhook功能自动…

前沿AI论文工具排行榜:10款支持降重与自动写作的AIGC应用

工具名称核心优势适用场景aicheck快速降AIGC率至个位数AIGC优化、重复率降低aibiye智能生成论文大纲论文结构与内容生成askpaper文献高效整合开题报告与文献综述秒篇降重效果显著重复率大幅降低一站式论文查重降重查重改写一站式完整论文优化深度AI降重深度改写保留原意文本结构…

本地部署项目文档管理网站 MkDocs 并实现外部访问( Linux 版本)

MkDocs 是一款基于 Python 的静态网站生成工具&#xff0c;它简单易用&#xff0c;适合技术文档、API 文档或其他需要清晰结构的文档项目&#xff0c;专门用于快速构建项目文档。本文将详细介绍如何在 Linux 系统局域网内部署 MkDocs 并结合路由侠实现外网访问局域网内部署的 M…

混凝土墙壁裂缝剥落识别分割数据集labelme格式1497张2类别

数据集格式&#xff1a;labelme格式(不包含mask文件&#xff0c;仅仅包含jpg图片和对应的json文件)图片数量(jpg文件个数)&#xff1a;1497标注数量(json文件个数)&#xff1a;1497标注类别数&#xff1a;2标注类别名称:["spalling","crack"]每个类别标注的…