序号 | 阶段 | 概述 |
---|---|---|
01 | 入门 | 1. 认识性能测试分类-(负载测试、压力测试、并发测试、稳定性测试)2. 常用性能测试指标-(吞吐量、并发数、响应时间、点击数…)3. 性能测试工具选择 |
02 | 性能脚本 | 1. LoadRunner介绍2. 脚本录制、运行、参数化3. 关联、检查点、事务、集合点 |
03 | 性能场景 | 1. 场景分类、场景设计、场景运行策略2. 资源监控、SLA、IP Wizard应用 |
04 | 性能分析 | 1. 摘要报告、事务图表、图表合并2. 交叉结果、拐点分析、Web项目资源分析 |
理解什么是性能测试
掌握性能测试的基础分类
熟悉性能测试的常用指标
了解为什么学习性能测试
掌握什么是性能测试
了解性能测试的焦点
性能测试是模拟多种正常、峰值以及异常负载条件来对系统的各项性能指标进行的测试。
说明:
峰值:客户指定指标数值或场景需求数值,如:CPU使用率80%以内、登录3秒、内存空间40%等等
负载:用户(一个或多个)向服务器发送请求,负载测试我们1.2节会讲解
功能测试:验证软件系统操作功能是否符合产品功能需求规格,主要焦点在功能(正向、逆向);
性能测试:验证软件系统是否满足业务需求场景,主要焦点是业务场景的满足度(时间、空间);
说明: 时间:软件的响应时间… 空间:服务器的磁盘读写数率、CPU 使用率、内存空闲率…
功能测试和性能测试是相辅相成的,对于一款优秀的软件产品来讲,它们是测试工作中不可或缺的两个重要环节。
求职需求:
面试:会性能测试吗?
招聘信息:要求会使用性能测试工具LoadRunner、Jmeter
业务需求:
登录不得超过3秒钟
开发一款 Web 电商网站,使用 Java 还是 PHP 呢?
OA 办公系统-我们公司20000左右员工需要使用此系统。
解决方案:
负载测试-根据客户实际应用场景模拟测试应用软件、服务器是否满足需求;如果不满足,则定位问题,进行调整直到满足需求;
分别使用 Java 和 PHP 写个 Demo,搭建相同的应用场景进行性能测试,找出最优符合应用场景的开发语言;
根据二八定律统计出单位时间内(秒)最高请求数。
性能测试是个综合的概述,性能测试指的是测试一种分类或多种分类,任何一具体分类,都是性能测试
性能测试分类还有其他类型比如:配置测试、容量测试等,前期我们先熟悉以上常用分类
通过逐步增加系统负载,测试系统性能的变化,并最终确定在满足系统的性能指标情况下,系统所能够承受的最大负载量的测试。(负载:向服务器发送请求)
负载测试是通过逐步加压的方式来确定系统的处理能力、确定系统能够承受的各项阀值。 例如:逐步加压,从而得到“响应时间不超过3秒”、“服务器CPU平均利用率低于80%”等指标的阀值。
*阀值:关注的某一具体数值(比如:登录小于3秒、用户数2000、业务成功率100%)
通过逐步增加系统负载,测试系统性能的变化,并最终确定在什么负载条件下系统性能处于【失效】状态。
概念:并发测试就是【多用户】同时访问【同一个应用】。
目的:测试应用服务器指定功能的同时访问数是否达到预期结果。
*并发测试需要配合集合点来使用(集合点:我们在接口阶段已了解)
通过给系统加载一定的业务压力(如:CPU资源在70%~90%的使用率)的情况下,运行一段时间,检查系统是否稳定。
*通常稳定性测试,我们测试一段时间即可;(如:24小时、3×24小时或7×24小时来模拟长时间运行)
一些经过运算得出的结果,用来衡量某种操作性能的统称;比如:错误率0.5%
性能测试常用指标:
吞吐量(Throughput):指的是单位时间内处理的客户端请求数量,直接体现软件系统的性能承载能力。 通常情况下,吞吐量用“请求数/秒”或者“页面数/分钟”来衡量。
从业务角度来看,吞吐量也可以用“业务数/小时”、“业务数/天”、“访问人数/天”、“页面访问量/天”来衡量。
从网络角度来看,还可以用“字节数/小时”、“字节数/天”等来衡量网络的流量。
并发(Concurrency):它最简单的描述就是指多个同时发生的业务操作。(例如,100个用户同时单击登录页面的“登录”按钮操作。)
并发性测试描述的是多个客户端同时向服务器发出请求,考察服务器端承受能力的一种性能测试方式。
响应时间指用户从客户端发起一个请求开始,到客户端接收到从服务器端返回结果整个过程所耗费的时间
点击数是衡量Web服务器处理能力的一个重要指标。它的统计是客户端向Web服务器发了多少次HTTP请求计算的。
是指系统各种资源的使用情况,一般用“资源的使用量/总的资源可用量×100%”形成资源利用率的数据。
通常,没有特殊需求的话:
错误率指系统在负载情况下,失败交易的概率。错误率=(失败交易数/交易总数)*100%。
性能测试的工具有很多,目前最常用就是这两款,我们作为性能测试初期入门掌握这两款工具足矣!
Apache 公司使用 Java 平台开发的一款测试工具
作用:性能测试、接口测试、Web测试(无GUI,GUI:graphical user interface)
优点:免费、开源、小巧
HP公司使用C语言开发的一款性能负载测试工具
作用:模拟高并发负载测试、测试场景搭建、运行、监控及结果分析
优点:支持多协议、自带强大的图表功能、可根据需求合并需要的图表
缺点:收费
Jmeter:接口测试及接口性能压测首选
LoadRunner:Web性能测试首选
HP公司使用C语言开发的一款性能负载测试工具
作用:模拟高并发负载测试、测试场景搭建、运行、监控及结果分析
优点:支持多协议、自带强大的图表功能、可根据需求合并需要的图表
缺点:收费
Jmeter:接口测试及接口性能压测首选
LoadRunner:Web性能测试首选