第一章:软件性能测试基本概念
1、什么是软件性能:
一般来说,性能是一种指标,表明软件系统或构件对于其及时性要求的符合程度:其次,性能是软件产品的一种特性,可以用时间来进行度量。
1.1、用户视角的软件性能
从用户的角度来说,软件性能就是软件对用户操作的响应时间。
1.2、管理员视角的软件性能
从管理员的角度来看,软件系统的性能首先表现在系统的响应时间上,这一点喝用户视角一样,还需要关心和系统相关的信息(CPU、内存、服务器、JVM);另外,还要考虑系统具有多大的可扩展性,除了并发的能力;系统可能的最大容量是什么,系统的瓶颈子啊哪里,更换那些设备或是进行那些扩展能提高系统性能;系统在长时间的运行种是否能够稳定,是否能够不间断提供业务服务等
管理员关心的问题 | 软件性能描述 |
服务器的资源使用状况合理吗 | 资源利用率 |
应用服务器和数据库的资源使用状况合理吗 | 资源利用率 |
系统是否能够实现扩展 | 系统可扩展性 |
系统最多能支持多少用户的访问?系统最大的业务处理量是多少 | 系统容量 |
系统性能可能的瓶颈在哪里 | 系统可扩展性 |
更换那些设备能够提高系统性能 | 系统可扩展性 |
系统能否支持7X24小时的业务访问 | 系统稳定性 |
1.3、开发视角的软件性能
开发主要的用户感受——响应时间;也会关心系统的扩展性等管理员关心的内容
开发人员关心的问题 | 问题所属层次 |
架构设计是否合理 | 系统架构 |
数据库设计是否存在问题 | 数据库设计 |
代码是否存在性能方面的问题 | 代码 |
系统种是否有不合理的内存使用方式 | 代码 |
系统种是否有不合理的线程同步方式 | 代码与设计 |
系统种是否有不合理的资源竞争 | 代码与设计 |
2、软件性能的几个术语
(1)响应时间:
是指用户从客户端发出请求到接收完服务器返回结果的整个过程所需花费的时间,包含网络传输时间以及服务器处理时间。从用户角度来看,响应时间应该从客户端计算机处理用户操作并发出请求到客户端程序收到服务器端返回结果并显示出来的时间。
(2)并发用户数:
是指在一定时间内,某一时刻同时与服务器进行会话操作的用户数,并发用户数的类型包括:系统用户数、同时在线用户数,业务并发用户数。
(3)吞吐量:
是指单位时间内,系统处理用户的请求数或页面数量,可以直接反映出软件的承载能力。一般来说,利用每秒钟的请求数或页面数量衡量吞吐量;从业务的角度来看,也可以用每天的访问人数或每小时处理的业务数来衡量。
(4)资源利用率:
是指系统资源(CPU、内存)的利用率,通常用资源的实际使用量与总的资源可用量比值来衡量,包括网络、操作系统、数据库等方面。
以上四种性能指标主要可分为系统资源利用率和系统行为(响应时间、吞吐量等)两个方面。它们之间存在一定的相关性,共同反映出性能的不同方面。比如,响应时间、最大并发用户数、吞吐量和资源利用率可以分别用来衡量软件的及时性、扩充能力和容量、处理能力、运行状态。响应时间越短、承受的并发数越多、吞吐量越大、占用的资源越少,表明系统性能越好,反之性能越差。