软件性能测试
什么叫软件性能
软件性能用来保证产品发布后系统的性能满足用户的要求。性能测试在软件质量保证中起着十分重要的作用。
性能测试的前期数据设计包括
- 用例的设计
- 场景的设计
- 测试的设计
性能测试范围
-
负载测试
负载测试是通过对被测系统不断施加压力,直到超过预定的指标或者部分资源已经达到了一种饱和状态不能再加压为止 -
压力测试:压力测试是指系统已经达到一定的饱和程度(如CPU、磁盘等已经处于饱和状态),此时系统处理业务的能力,系统是否会出现错误。
-
可靠性测试:可靠性测试还是当系统在一定的业务压力下,让系统持续运行一段时间,观察系统是否达到要求的稳定性。
-
配置测试:配置测试是通过调整系统软/硬件环境,了解各种不同环境对系统性能的影响,从而找到系统的最优配置。
-
并发性测试:并发测试(强调绝对并发)是通过模拟用户并发访问, 测试多用户同时访问同一应用、模块或数据,观察系统是否存在死锁、系统处理速度是否明显下降等其他的一些性能问题。
性能测试常用术语
- 并发用户数:
并发用户数指同一时间内与服务器进行数据交互的所有用户数量。
- 响应时间:
响应时间就是指应用系统从发出请求到客户端收到所有数据所消耗的时间。该定义强调所有数据都已经被呈现到客户端所花费的时间。
- 资源利用率:
资源利用率是指服务器系统中不同硬件资源被使用的程度,资源利用率=资源实际使用量/总的可用资源量。
- TPS:
每秒钟系统能够处理的交易或事务的数量。它是衡量系统处理能力的重要指标。
事务:人为定义的一组操作
TPS 是性能测试中的重要的性能参数指标。
- 点击率:
点击率是指每秒钟用户向WEB服务器提交的HTTP请求数,这个指标是WEB应用特有的一个指标 。
点击率越大, 对服务器的压力越大。点击率只是一个性能参考指标,重要的是分析点击时产生的影响
这里的点击并非指鼠标的一次单击操作,因为在一次单击操作中,客户端可能向服务器发出多个HTTP请求。
- 吞吐量:
吞吐量是我们常见的一个软件性能指标,对于软件系统来说,“吞”进去的是请求,“吐”出来的是结果,而吞吐量反映的是系统的处理能力,具体说来,就是指软件系统在特定时间内能处理多少个事务/请求/单位数据等。
- 错误率:
- 稳定性:
并发用户数包括
-
注册用户数:指的是系统注册用户的数量。
-
在线用户数:登录的用户 。
-
并发用户数:同一时间对系统有交互的用户数。
注册用户 > 在线用户 > 并发用户
并发的分类
- 相对并发:同一时间,不同操作。
- 绝对并发:同一时间,同一操作。
响应时间的分类
-
服务器端响应时间: 这个时间指的是服务器完成交易请求执行的时间,不包括客户端到服务器端的反应(请求和耗费在网络上的通信时间),这个服务器端响应时间可以度量服务器的处理能力。
-
客户端响应时间: 这是客户端在构建请求和展现交易结果时所耗费的时间
-
网络端响应时间: 这是网络硬件传输交易请求和交易结果所耗费的时间。
资源利用率的分类
- cpu利用率
- 内存利用率
- 磁盘I/O
- 网络I/O