1、什么是软件性能?
软件性能应该是一种指标,通过这个指标可以衡量,系统或构件性能达到的程度。也是对软件性能需求的一个测试和评估,用来验收或评估软件达到的性能程度。
2、性能测试相关术语
a、响应时间
是用户提交一个请求,系统从开始呈现到将所有信息都呈现到客户端所需要的时间
b、并发用户数
指同一时刻与服务器进行数据交互的所有用户数量
c、吞吐量
吞吐量是指单位时间内系统处理客户请求的数量,其直接体现系统的承载的能力
吞吐量作为性能测试时主要关注的一个指标,与虚拟用户数之间存在一定的关系,当系统没有遇到性的瓶颈时,可以采用下面这个公式来计算。
d、吞吐率
指单位时间内的数据传输量,即吞吐量/传输时间,也可以是单位时间内处理的客户请求数。它是衡量网络性能一个重要指标。通常情况下吞吐量越大,吞吐率的值也越大。吞吐率越大表示系统的负载能力越强
e、TPS
表示每秒系统处理的事务数,它是衡量系统处理能力的重要指标,在LoadRunner中一定要分析的一个指标
f、点击率
指每秒钟用户向Web服务器提交的HTTP的数量
g、资源利用率
指的是系统资源被占用的情况,主要包括CPU利用率、内存利用率、磁盘利用率、网络等
h、性能计数器
是描述服务器或操作系统性能的一些数据指标。主要是通过添加计数器来观察系统资源的使用情况
i、思考时间(Think Time)
指的是系统资源被占用的情况,主要包括CPU利用率、内存利用率、磁盘利用率、网络等
j、性能计数器
也称为“休眠时间”,从业务层面来说,这个时间是指用户在进行操作时,每个请求之间的时间间隔
3、性能测试划分
a、负载测试
是通过对被测试系统不断的加压,直到超过预定的指标或者是部分资源已经达到了一种饱和状态不能再加压为止
b、压力测试
指当系统已经达到一定的饱和程度(如CPU、磁盘等已经处于一种饱和状态),系统处理业务的能力,系统是否会出现崩溃等
c、配置测试
配置测试 (Configuration Testing)是通过调整系统软/硬件环境,了解在不同环境下系统性能指标的情况,从而找到系统的最优配置。
d、并发测试
并发测试(Concurrency Testing)是通过模拟用户并发访问,测试多用户同时访问同一应用、模块或数据,观察系统是否存在死锁、系统处理速度明显下降等其它的一些性能问题
e、可靠性测试
是当系统在一定的业务压力下,让系统持续运行一段时间,看系统是否达到我们要求的稳定性,这里强调在一定业务压力下持续运行的能力,一定都会有一个明确的要求,例如:持续运行多少天系统不能出现问题
4、性能测试领域
a、能力验证
能力验证是性能测试最常用的一个领域。一般能力验证采用这样的描述方式:“某系统能否在条件A下具备B性能”
b、规划能力
规划能力与能力验证有相似之处,但还是有不一样的地方,能力验证强调的是在某个条件下具备什么样的能力,而规划能力体现在系统如何才能达到要求的性能指标
c、能力验证
性能调优是通过测试来调整系统的环境,最终使系统性能达到最优的状态。这是一个持续调优的过程,主要调优的对象有数据参数、应用服务器、系统的硬件资源等
d、发现缺陷
性能测试应用领域的主要目标是通过性能测试的手段来发现系统存在的缺陷