从“入门”到“专家”,一份3000字完整的性能测试体系的知识分享
随着科技的飞速发展,软件产品广泛应用于各个行业领域,人们对计算机和网络的依赖性越来越大,对新奇事物也越来越感兴趣,成千上万的用户活跃在庞大的网络系统中,这给提供服务的系统带来严重的负荷,"高并发"、"数据集中"便是系统网络发展中最明显的特征。
时过境迁,IT服务系统的性能测试与优化越来越重要,性能测试已经不再是一个可有可无的工作,越来越多的企业在产品测试的过程中都将性能测试列为工作内容的重要环节。


一、工作中的性能测试难题
如果你恰好刚刚进入一家新公司,做了一段时间的功能测试,你觉得没问题可以胜任,信心十足。可好景不长,突然领导让你开展性能测试,作为想保住工作的测试员你无法拒绝,但作为初出茅庐的测试新人,你除了手足无措,只能默默慨叹自己能力尚欠,眼前只会出现一个又一个无从下手的难题:
1、项目需求缺乏的情况下,如何开展性能测试需求分析工作?
2、系统没有相关的历史数据,也不明了未来上线后的用户情况,如何设计并发用户数和业务数据量呢?
3、不是每一个功能或是每一组业务都要进行性能测试,如何进行性能测试必要性分析呢?如何分析并确认性能测试范围?
4、性能测试指标有那么多,比功能测试的预期结果需要考虑的内容要多很多,如何进行性能测试指标的定义?如何选择合理的性能测试指标?
5、负载压测执行后,如何判断是否存在性能故障?
6、如果出现了性能故障,如何进行调优?如何确定调优结果?
听听15年资深测试工程师分享的性能测试经验及必备干货,或许能帮助你解决很多工作中的迷惑。
二、功能测试如何转性能测试?
提问者:小北
面临状况:做了大半年的功能测试,日常工作也就测测软件界面和软件逻辑,时间久了觉得枯燥无味,薪资不高是硬伤,想转性能测试方向,但感觉需要学习的东西太多了,无从下手,很是苦恼,求大神指点迷津。
大佬即时贴:有这种想转的思想很好。相信有很多和你同样情况的同学,同时,半年的经验一下子转过来是不可能的。
首先,你已经做了大半年功能测试了,相信已经具备了自己搭建测试环境的能力,对整个系统也有很深的理解了。这个过程是每个测试员必须经历的,可以提高自己的学习能力,也可以为日后的进阶打下坚实的基础。建议多跟测试项目,加深学习和理解被测项目用了哪些技能。
其次,学习一款性能测试工具。我本人不建议上来就学那些操作系统、数据库等知识。毕竟先从工具入手是最快最合适的,至于会不会分析,那是知识的累积程度和思维方式的问题,是后面的问题,如果真想转,先学一款工具,把工具玩熟。且在功能测试中,如果有性能需求,多多参与。
性能能测试拼的是对整个计算机体系的理解,而不仅仅是工具。但我们必须先掌握工具,以此为切点快速的入门。
三、做性能测试,该掌握什么?
性能测试工作阶段流程
1、性能测试需求分析(准备阶段)
明确性能测试范围、定义性能测试指标
2、性能测试计划
确定测试领域、分析用户场景、确定性能目标、性能测试工作安排、制定实施时间、性能测试风险预防
3、性能测试设计(时间比重大)
测试环境设计、测试场景设计、测试用例设计、脚本和辅助工具的开发及使用
4、性能测试实施
构建性能测试场景、执行测试脚本、测试结果记录
5、性能测试故障定位
6、性能测试调优
性能测试执行过程中的各种坑
1、性能测试环境监控问题
2、缓存处理优化问题
3、Linux下MySQL跟踪
4、通过git获取优化后代码
5、验证码校验问题
6、批量数据构造+存储过程
7、MySQL占用CPU过高
8、最多可以支持多少并发
9、不通过上游流程,如何直接加压
10、性能测试用例设计
11、批量数据构造+自动化技术
12、复杂性能测试设置
13、如何评估当前系统性能状况
14、架构对数据库性能的影响
15、多个业务性能测试
16、集合点对性能的影响
17、批量数据构造+SQL命令
18、调优前后性能指标对比
性能测试执行工作全面演绎
1、部署性能测试环境:
LNMP:Linux+Nginx+MySQL+PHP
2、性能测试执行:
Fiddler+Jmeter+PhpMyAdmin+Linux(xshell)+NMON
3、性能测试故障定位:
缓存问题、数据初始化问题、设计架构问题
4、性能测试调优:
缓存调优、数据库调优、代码调优
关于功能测试的文章,网络上可以查找到很多,但是关于性能测试,专业系统的文章却寥寥无几,很少有文章介绍如何优化系统的性能。
当然,性能测试只是软件测试工作中的一部分,想从初级的功能测试到最高端的测试开发,还有很多技能是需要去掌握的,同样也是有很多窍门的!
今天的分享就到此结束了, 如果文章对你有帮助,记得点赞,收藏,加关注。会不定期分享一些干货哦......
最后感谢每一个认真阅读我文章的人,看着粉丝一路的上涨和关注,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:

这些资料,对于从事【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!凡事要趁早,特别是技术行业,一定要提升技术功底。希望对大家有所帮助……如果你不想再体验一次自学时找不到资料,没人解答问题,坚持几天便放弃的感受的话,可以加入下方我们的测试交流群大家一起讨论交流学习。

相关文章:

从“入门”到“专家”,一份3000字完整的性能测试体系的知识分享
随着科技的飞速发展,软件产品广泛应用于各个行业领域,人们对计算机和网络的依赖性越来越大,对新奇事物也越来越感兴趣,成千上万的用户活跃在庞大的网络系统中,这给提供服务的系统带来严重的负荷,"高并…...

构建对话机器人:Rasa3安装和基础入门
在开源对话机器人中,Rasa社区很活跃,在国内很多企业也在使用Rasa做对话机器人,有rasa开发经验的往往是加分项。 当年实习的时候接触到了Rasa,现在工作中也使用Rasa,因此,写写一些经验文档,有助后…...

Spark计算框架入门笔记
Spark是一个用于大规模数据处理的统一计算引擎 注意:Spark不仅仅可以做类似于MapReduce的离线数据计算,还可以做实时数据计算,并且它还可以实现类似于Hive的SQL计算,等等,所以说它是一个统一的计算引擎 既然说到了Spar…...

入职数据分析公认的好书|建议收藏
众所周知,数据分析经常出现在我们的日常生活中,各行各业都需要数据分析。可你知道什么是数据分析?它在企业里到底扮演什么角色?以及如果我们自己也想拥有数据分析的能力,以便更好的满足数据分析的需求,我们…...
Linux查找文件和目录,重定向输出 ,系统默认运行级别的查看和设置理论和练习
♥️作者:小刘在C站 ♥️个人主页:小刘主页 ♥️每天分享云计算网络运维课堂笔记,努力不一定有收获,但一定会有收获加油!一起努力,共赴美好人生! ♥️夕阳下,是最美的绽放࿰…...

Redis源码---键值对中字符串的实现,用char*还是结构体
目录 前言 为什么 Redis 不用 char*? char* 的结构设计 操作函数复杂度 SDS 的设计思想 SDS 结构设计 SDS 操作效率 紧凑型字符串结构的编程技巧 小结 前言 对于 Redis 来说,键值对中的键是字符串,值有时也是字符串在 Redis 中写入一…...
算法 - 剑指Offer 表示数值的字符串
题目 请实现一个函数用来判断字符串是否表示数值(包括整数和小数)。 数值(按顺序)可以分成以下几个部分: 若干空格 一个 小数 或者 整数 (可选)一个 ‘e’ 或 ‘E’ ,后面跟着一个 …...

初识机器学习
监督学习与无监督学习supervised learning:监督学习,给出的训练集中有输入也有输出(标签)(也可以说既有特征又有目标),在此基础上让计算机进行学习。学习后通过测试集测试给相应的事物打上标签。…...

VsCode安装PlatformIO 开发ESP arduino,买的板子或者随便ESP,PlatformIO添加Board(不是自定义Board)
这次主要记录怎么给新建选板子的时候没有的板子下程序 我这里是一块 WiFi Kit 32 (V3) PlatformIO里面只有到V2 先从头开始,安装PlatformIO 安装PlatformIO 直接搜索安装 安装有时候会比较慢,左侧出现蚂蚁图标之后点击会显示 右下角会提示正在安…...
golang 复杂数据结构解析
[{"key":"15275771","pack":{"1":[{"name":"消息配置","id":15275771,"version":1,"createUser":"molaifeng","data":"test"}]},"callback&qu…...

不怕被AirTag跟踪?苹果Find My技术越来越普及
苹果的 AirTag 自推出以来,如何有效遏制用户用其进行非法跟踪,是摆在苹果面前的一大难题。一家为执法部门制造无线扫描设备的公司近日通过 KickStarter 平台,众筹了一款消费级产品,可帮助用户检测周围是否存在追踪的 AirTag 等设备…...

Linux驱动中的open函数是如何从软件打通硬件呢?
一、前言 打开文件是Linux系统中最基本的操作之一,open函数可以实现打开文件的功能。下面我将为您介绍open函数打通上层到底层硬件的详细过程。 二、open函数打通软硬件介绍 open函数是系统调用中的一种,其原型定义在头文件unistd.h中: #…...
Java 基础语法
Java 是一门广泛使用的编程语言,由于其简单易学和可移植性,已成为开发 Web 应用程序、移动应用程序、桌面应用程序以及企业级应用程序的首选语言之一。在本文中,我们将探讨 Java 的基础语法,包括变量、数据类型、运算符、控制流等…...

python下如何安装并使用matplotlib(画图模块)
在搜索命令中输入cmd,以管理员身份运行。 输入以下命令,先对pip安装工具进行升级 pip install --upgrade pip 升级完成 之后使用pip安装matplotlib pip install matplotlib -i https://pypi.tuna.tsinghua.edu.cn/simple 也可以使用pycharm来安装matp…...
系统分析师---计算机网络思维导图
TCP、IP协议簇(4星) 传输协议:TCP有连接、可靠、有回应机制、三次握手基于TCP的应用层协议:POP3:邮件收取,默认端口110SMTP:邮件发送,默认端口25FTP:文件传输协议&#…...

算法练习(七)数据分类处理
一、数据分类处理 1、题目描述: 信息社会,有海量的数据需要分析处理,比如公安局分析身份证号码、 QQ 用户、手机号码、银行帐号等信息及活动记录。采集输入大数据和分类规则,通过大数据分类处理程序,将大数据分类输出…...
nohup ./startWebLogic.sh >out.log 2>1 解析
在启动weblogic的时候我们经常看到如下的命令: nohup ./startWebLogic.sh >out.log 2>&1 & 从09年开始用weblogic到现在已经过去3年多了 ,今天终于将该命令理解清楚了。 其中 0、1、2分别代表如下含义: 0 – stdin (standa…...
OpenCV 坡度计算(基于DEM,C++版本)
文章目录 一、简介二、实现代码三、实现效果参考资料一、简介 假设一个点位于曲面 z = f ( x , y ) z=f(x,y) z=...

IDEA上使用git,知道这几步操作就够了!
前言由于一年多没用git(种种原因不堪回首),所以在上班当天,整个人都不好了,从拉取代码到提交代码,整整花费了不少时间,而且有些操作都不知道啥作用,点也不是,不点也不是&…...
Shell的退出状态(if语句判断的是某个命令的退出状态)
以下内容源于C语言中文网的学习与整理,如有侵权,请告知删除。 一、退出状态 (1)不管是 Bash 内置命令,还是外部的 Linux 命令,还是自定义的 Shell 函数,当它运行结束或者退出时,都…...
PHP和Node.js哪个更爽?
先说结论,rust完胜。 php:laravel,swoole,webman,最开始在苏宁的时候写了几年php,当时觉得php真的是世界上最好的语言,因为当初活在舒适圈里,不愿意跳出来,就好比当初活在…...
【学习笔记】深入理解Java虚拟机学习笔记——第4章 虚拟机性能监控,故障处理工具
第2章 虚拟机性能监控,故障处理工具 4.1 概述 略 4.2 基础故障处理工具 4.2.1 jps:虚拟机进程状况工具 命令:jps [options] [hostid] 功能:本地虚拟机进程显示进程ID(与ps相同),可同时显示主类&#x…...

Canal环境搭建并实现和ES数据同步
作者:田超凡 日期:2025年6月7日 Canal安装,启动端口11111、8082: 安装canal-deployer服务端: https://github.com/alibaba/canal/releases/1.1.7/canal.deployer-1.1.7.tar.gz cd /opt/homebrew/etc mkdir canal…...

Linux操作系统共享Windows操作系统的文件
目录 一、共享文件 二、挂载 一、共享文件 点击虚拟机选项-设置 点击选项,设置文件夹共享为总是启用,点击添加,可添加需要共享的文件夹 查询是否共享成功 ls /mnt/hgfs 如果显示Download(这是我共享的文件夹)&…...

开疆智能Ethernet/IP转Modbus网关连接鸣志步进电机驱动器配置案例
在工业自动化控制系统中,常常会遇到不同品牌和通信协议的设备需要协同工作的情况。本案例中,客户现场采用了 罗克韦尔PLC,但需要控制的变频器仅支持 ModbusRTU 协议。为了实现PLC 对变频器的有效控制与监控,引入了开疆智能Etherne…...
后端解决跨域问题的三种方案:注解配置 vs 全局配置 vs 过滤器配置(附完整代码详解)
文章目录 一、引言:跨域问题的本质与解决方案分类解决方案分类二、方案一:`WebMvcConfigurer` 全局配置(推荐)1. 核心代码(你提供的 `CorsConfig` 示例)2. 代码详解3. 优点4. 注意事项三、方案二:`CorsFilter` 过滤器配置(传统方式)1. 核心代码(你提供的 `ResourcesC…...

奈飞工厂官网,国内Netflix影视在线看|中文网页电脑版入口
奈飞工厂是一个专注于提供免费Netflix影视资源的在线播放平台,致力于为国内用户提供的Netflix热门影视内容。该平台的资源与Netflix官网基本同步,涵盖电影、电视剧、动漫和综艺等多个领域。奈飞工厂的界面简洁流畅,资源分类清晰,方…...

git引用概念(git reference,git ref)(简化对复杂SHA-1哈希值的管理)(分支引用、标签引用、HEAD引用、远程引用、特殊引用)
文章目录 **引用的本质**1. **引用是文件**2. **引用的简化作用** **引用的类型**1. **分支引用(Branch References)**2. **标签引用(Tag References)**3. **HEAD 引用**4. **远程引用(Remote References)*…...
【学习笔记】深入理解Java虚拟机学习笔记——第5章 调优案例分析与实战
第5章 调优案例分析与实战 5.1 概述 略 5.2 案例分析 5.2.1 大内存硬件上的程序部署策略 为防止大内存一次Full GC时间过长,可以考虑使用响应速度优先的垃圾回收器,还可以通过将一个10GB堆内存的应用分解为5个2GB堆内存应用,并通过负载均…...

基于fpga的疲劳驾驶检测
基于fpga的疲劳驾驶检测 前言一、系统硬件设计二、系统软件设计系统上板实验测试 前言 代码基于网络大佬代码进行修改的。限制性比较大,不太灵活,当个本科毕业设计还是够的。 基于FPGA的疲劳检测模块硬件设计以FPGA核心控制模块为中心,通过…...