写在前面:测试岗位细化后分为很多,功能测试、性能测试、自动化测试、测试开发,这些都叫测试。性能测试在所有测试分工中,地位和薪资都比较高,可见下方图片:
中级第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免费获取~(同行大佬一起学术交流,每晚都有大佬直播分享技术知识点)
软件测试面试文档
我们学习必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有字节大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。
全套资料获取方式: