一、性能测试指标
1.并发
幵发分为狭义和广义两类。 狭义的幵发,即所有的用户在同一时间做同一件事情,这种操作一般针对同一类 型的业务或者所有用户进行完全一样的操作,目的是测试数据库和程序对幵发操 作的处理。狭义并发强调对系统的请求操作是完全相同的,多适用于性能测试、负载测试、压力测试; 广义的幵发,即多个用户对系统发出了请求或进行了操作,但这些请求和操作是 丌同的。对整个系统而言,仍然有很多用户同时进行操作。 广义并发丌限制对系统的请求操作,多适用于混合场景、稳定性测试场景。
2.并发用户数
幵发是指在某一给定时间内,某个特定点上进行会话操作的用户数。
3.响应时间
响应时间指的是宠户端发出请求到得到响应的整个过程所经历的。 指从宠户端发一个请求开始时,到宠户端接收到从服务器端返回的响应 结果线束经历的时间,响应时间由请求发送时间、网络传输时间和服务 器处理时间三部分组成。
4.吞吐量
吞吐量是指单位时间内系统处理的宠户请求的数量,直接体现软件系统 的性能承载能力。 一般来说,吞吐量用请求数/秒或页面数/秒来衡量,从业务的角度,吞 吐量也可以用访问人数/天或处理的业务数/小时等单位来衡量。从网络 的角度来说,也可以用字节数/天等单位来考察网络流量。
5.资源利用率
资源利用率是指系统资源的使用程度,比如服务器(网络以及数据库) 的CPU利用率、内存利用率、磁盘利用率、网络带宽利用率等。 除了上述资源,我们还应该考虑数据库连接池使用情况,JVM内存使用 情况,sql执行效率等。
二、性能测试的类型
1.性能测试
指以系统预期性能指标为前提,对系统不断增加压力,以验证系统能否达到预期性能。
2.负载测试
主要用于描述常规的性能测试,通过模拟生产运行的业务压力和使用场景组合来测试系统的性能是否满足生产要求。
3.压力测试
压力测试是为了发现在什么条件下应用程序的性能会变不可接受。
4.稳定性测试/可靠性测试/疲劳测试
软件可靠性: 在规定条件下,在规定时间内,软件不引起系统失效的概率
可靠性测试:在有使用代表性的环境中,持续运行系统某些功能,验证系统稳定性的过程
5.容量测试
确定测试对象在给定时间内能够持续处理的最大负载或工作量使测试对象处理大量的数据,以确定是否达到了将使被测对象发生故障的极限。
6.网络性能测试
测试网络带宽、延迟、负载和端口的变化对用户的响应时间的影响。
三、性能测试的流程
1.性能测试需求
测试需求分析主要有以下的几个关键点: 测试的目的是什么、评估系统的能力 、识别体系中的弱点 、验证系统稳定性和可靠性、系统调优
测试要素分析: 用户数量、测试执行的功能、用户分布(即执行每种功能的用户数) 、硬件环境(包括网络环境)、软件环境、数据量
其它分析:系统运行中所出现的问题有什么特征或规律、疲劳测试执行时间多少、性能需求的指标是什么等
2.性能测试计划
测试目的不同,则相应的测试策略不同
性能符合性验证—负载测试、疲劳强度测试。
性能能力验证—压力测试、疲劳强度测试。
性能调优—测试-调整-测试。负载测试、压力测试、疲劳强度测试。
3.性能测试设计
测试环境准备、测试数据准备、测试用例、场景准备、测试工具准备、开发测试脚本、布置测试场景
4.性能测试结果
执行测试场景、保存测试结果