对于性能测试,是入门简单,想要深入学习会比较困难。经常会有测试新人会问有关如何学习性能测试问题,为了帮助大家可以快速的入门性能测试,接下来回答将从以下几个方面进行展开:
-
什么是性能测试?为什么要做性能测试?
-
新人如何学习性能测试?
-
文末性能测试资源分享
一、什么是性能测试?为什么要做性能测试?
01、性能测试是什么?
性能测试是指通过自动化的测试工具模拟多种正常、峰值以及异常负载条件来对系统的各项性能指标进行测试。通俗来说:性能测试就是利用性能测试工具或者代码对系统的相关性能指标进行测试和评估。
性能测试大致从以下三个方面来概括为:
-
应用在客户端性能的测试:主要考察客户端应用的性能,测试的入口是客户端
-
应用在网络端性能的测试:利用成熟先进的自动化技术进行网络应用性能监控、网络应用性能分析和网络预测
-
应用在服务器上性能的测试:对应用在服务器上性能的全面监控
一般来说,性能测试如果从以上三方面进行有效合理的结合,可以非常全面的对系统性能进行分析和瓶颈的预测。
现在很多的应用几乎都是基于网络的分布式应用,我们无从得知用户的数量,包括用户的场景不确定导致系统测试时,我们不仅要从功能、业务逻辑,接口测试进行考虑,还要对系统的性能进行测试。对一个用户进行测试我们可能发现不了什么问题,但是如果用户多了就可能会出现各种不同的问题,这个时候就需要进行系统的性能测试。
当然性能测试也不仅仅是指用户数量增加的场景,还有其它各个方面的。例如购物网站,可以有以下几个方面的性能测试内容(不限于此):
-
突发性的大数量用户同时操作
-
长时间的操作
-
弱网情况下进行的操作(可以在网络极差的条件下仍能够进行正常工作)
02、为什么要做性能测试?
性能测试是互联网+公司的“刚需”
公司的规模越大,性能瓶颈就会越明显,因此性能测试特别重要!
性能挑战:
-
业务复杂程度提升
-
数据级日趋庞大
-
实时性要求提高
-
并发压力越来越高
-
应用面越来越广
性能测试的目的:
二、新人如何学习性能测试?
对于新人如何去学习性能测试,包括需要学习性能测试的哪些内容,最直观的就是看看各个招聘网站发布的性能测试工程师的职能要求,如下所示:
由以上招聘网站对于性能测试的职能需求可以看出,公司对于性能测试从业人员的职能要求总结有:
熟悉掌握性能测试理论知识
熟悉Linux系统
熟悉掌握至少一门编程语言(Java/Python/Go/C/C++/Shell等)
熟练使用性能测试工具(Jmeter/LoadRunner)
01、熟悉掌握性能测试理论知识
对于性能测试基础理论这块没有特别严格的定义,在通常的测试工作中主要需要了解以下四部分:
1)性能测试的方法
负载测试、压力测试、并发测试、基准测试、稳定性测试、可恢复测试、后端性能测试、前端性能测试、代码级性能测试、配置测试、以及可靠性测试。
2)性能测试的基本流程
需求分析——测试准备——测试执行——结果分析与调优——报告与总结
具体内容:
3)性能测试的场景
-
基准性能场景
-
容量性能场景(核心)
-
稳定性性能场景
-
异常性能场景
4)性能测试报告的撰写
02、熟悉Linux系统
Linux作为现在最流行的软件环境系统,一定需要掌握,目前的招聘要求都需要有Linux能力。
03、熟悉掌握至少一门编程语言
建议可以先从Python语言入门,等有些基础以后也进行选择或再往Java上面去靠。
04、熟练使用性能测试工具
工具这块,一般需要你能熟练掌握主流的性能测试工具,并且了解一些其他的测试工具,能够根据需要选择适合工具。
(附加)性能分析和调优
三、这块也是性能测试最难的部分。
性能测试调优应该注意的要点:
END
性能测试学习资源分享
最后感谢每一个认真阅读我文章的人,看着粉丝一路的上涨和关注,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:
下方这份完整的软件测试视频学习教程已经上传CSDN官方认证的二维码,朋友们如果需要可以自行免费领取 【保证100%免费】
这些资料,对于想进阶【自动化测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!凡事要趁早,特别是技术行业,一定要提升技术功底。希望对大家有所帮助……基础知识、Linux必备、Shell、互联网程序原理、Mysql数据库、抓包工具专题、接口测试工具、测试进阶-Python编程、Web自动化测试、APP自动化测试、接口自动化测试、测试高级持续集成、测试架构开发测试框架、性能测试、安全测试等配套学习资源免费分享