一、性能测试介绍
1、什么叫做性能测试?
(1)通过某些工具或手段来检测软件的某些指标是否达到了要求,这就是性能测试
(2)指通过自动化的测试工具模拟多种正常、峰值以及异常负载条件来对系统的各项性能指标进行测试
2、性能测试的时间?
在功能测试完成后才能进行性能测试
3、为什么要做性能测试?
(1)评估系统的能力,
(2)识别体系中的弱点
(3)验证稳定性
(4)系统调优
4、性能测试的流程?
(1)性能需求分析 (标准)
(2)性能计划的编写
(3)性能场景的设计
(4)脚本的开发(录制脚本)
(5)性能环境和数据
(6)性能执行
(7)结果分析(是否标准)
(8)性能总结报告
(9)性能调优
5、性能的类型有哪些?(比如:汽车)
(1)基准测试
在给系统施加较低压力时,查看系统的运行状况并记录相关数作为基础参考
(2)负载测试(慢慢接近临界点测试)
负载测试是对被测系统不断增加压力(即用户并发数),直至性能指标超过预期或者某项资源使用达到饱和状态(就是加压到系统崩溃)
(3)压力测试(也称为破坏性测试)(超过临界点测试)
压力测试:压力测试是系统在一定饱和状态下,例如cpu、内存、磁盘I/O在饱和使用情况下,不断给系统施加压力,看系统的处理能力,以及系统是否会出现错误。
(4)稳定性测试
稳定性测试是在给系统施加一定压力,持续运行一段时间(7*24),观察系统能否稳定运行。(也可以说是长时间的压力测试)
(5)并发测试
并发测试:并发测试是模拟多用户并发访问同一个应用、模块或者数据记录时可能发生的性能问题(如内存泄漏、线程锁和资源占用方面的问题)
6、性能测试常用的工具有哪些?
(1)jmeter 轻量级工具,免费,开源, (我们讲解的)
(2)loadrunn 商业版,收费,不易于安装,一个包4g包
7、性能测试文档包含哪些?
(1)性能测试测试计划
(2)性能场景设计用例
(3)性能报告
8、性能测试报告包含哪些内容?
(1)测试背景
(2)测试目的
(3)测试范围
(4)测试环境
(5)压测指标
(6)性能测试结果
(7)性能问题归纳
(8)性能调优
二、熟悉性能报告
性能问题
(1) 提现申请接口3-5个线程并发时,容易引起死锁现象,经优化后,Tps达到224左右,且没有死锁现象出现;
(2) 账单查询接口,优化索引前,响应时间为8s左右,Tps为11;优化索引后,响应时间缩短为0.15秒左右,Tps升为560左右
三、认识jmeter
(1)jmerer是一个什么工具?
Apache JMeter是Apache组织开发的基于Java的压力测试工具。用于对软件做压力测试,它最初被设计用于Web应用测试,但后来扩展到其他测试领域。
(2)详细讲解jmeter目录下常用文件有哪些?
a、bin目录:核心可执行文件
jmeter.bat:windows启动文件
b、jmeter-server.bat:分布式压测使用的启动文件
c、jmeter.properties:核心配置文件 examples(例子):该目录下存放Jmeter官方给的请求模板
d、report-template(报告模板):该目录下存放Jmeter的报告模板 templates(模板):该目录下存放Jmeter的各类配置模板 例如:JDBC、Beanshell等
(3)性能测试是生产环境还是测试环境?
性能测试要搭建性能环境,(不在测试环境和生产环境进行性能测试) 因为性能环境考验模拟线上环境,达到1:1比例; 通过造数据,jmeter 造大量数据,存储造大量数据
(4)jmeter 作性能测试的缺点?
jmeter 的缺点是压力值不能精确控制,难以适应高并发情况,由于是java编写,本身比较消耗资源。
(5)jmeter和loadrunner 的区别?
a.loadrunner 是一种预测系统行为和性能的负载测试工具。 b.loadrunner 能够最大限度地缩短测试时间,优化性能和加速应用系统的发布周期的商业工具
c、jmeter 是开发源代码项目,可以进行接口测试和性能测试的工具,
d、相对loadrunnrt是一个轻量级的工具,便于安装