性能测试类型

  • 性能基准测试,可以保证新发布系统的整体性能不会下降
  • 稳定性测试,主要通过长时间模拟被测系统的测试负载,观察系统在长期运行过程是否存在问题
  • 并发测试,往往被当作功能测试的补充去发现多线程、资源竞争、资源死锁之类的问题
  • 容量规划测试,主要用于确定给定负载下的系统集群规模,其测试结果可以被用作系统容量设计的 依据

性能基准测试

通常被称为 Performance Benchmark Test,对外发布产品版前必须要完成的测试类型.

基于固定的硬件环境和部署架构,通过执行固定的性能测试场景得到的性能测试报告.然后与上一版本指标进行对比,如有恶化趋势,需要排查问题.

恶化表现:

  • 同一事务响应时间变慢
  • 系统资源占用率变高
  • 网络带宽使用率变高

通过对每个预发布版本的性能基准测试,我们可以保 证新发布系统的整体性能不会下降,这也就是性能基准测试最终要达到的目的

稳定性测试

又称可靠性测试. 主要是通过长时间(7*24小时)模拟被测系统的测试负载,来观察系统 在长期运行过程中是否有潜在的问题。通过对系统指标的监控,稳定性测试可以发现诸如内存泄漏、资 源非法占用等问题

稳定性测试,通常直接采用性能基准 测试中的虚拟用户脚本,但是性能测试场景的设计和性能基准测试场景会有很大不同

一般是采用“波浪式”的测试负载,比如先逐渐加大测试负载,在高负载情况下持续10多个 小时,然后再逐渐降低负载,这样就构成了一个“波浪”,整个稳定性测试将由很多个这样 的波浪连续组成

稳定性测试成功完成的标志,主要有以下三项

  • 系统资源的所有监控指标不存在“不可逆转”的上升趋势
  • 事务的响应时间不存在逐渐变慢的趋势
  • 事务的错误率不超过1%

虽然很多时候,尤其是产品版本已经逐渐走向成熟期时,稳定性测试并不会 发现问题,但是千万不要小看稳定性测试带来的价值。因为稳定性测试一旦发现问题,那么这些问题都 是很严重而且非常隐蔽的大问题

并发测试

是在高并发情况下验证单一业务功能的正确性以及性能的测试手段。高并发测试一般使用思 考时间为零的虚拟用户脚本来发起具有“集合点”的测试

主要用于发现诸如多线程、资源竞争、资源死锁之类的错误。 要执行并发测试,就需要加入“集合点”,所以往往需要修改虚拟用户脚本

容量规划测试

容量规划,是软件产品为满足用户目标负载而调整自身生产能力的过程

容量规划的主要目的是,解决当系统负载将要达到极限处理能力时,我们应该如何通过垂直扩展 (增加单机的硬件资源)和水平扩展(增加集群中的机器数量)增加系统整体的负载处理能力的问题

目前来讲,容量规划的主要方法是基于水平扩展。但是,具体应该增加多少机器,以及增加后系统的负载处理能力是否会线性增长,这些问题都需要通过容量规划测试进行验证

采用人工的方式不断增加测试负载直到单机系统的吞吐量指标到达临界值,由此就可以知道单台机器的处理能力

理论上讲,整个集群的处理能力将等于单台机器的处理能力乘以集群的机器数,但是实际情况并不是这 样。实际的集群整体处理能力一定小于这个值,但具体小多少就是要靠实际的测试验证了

文章链接 https://fangzongzhou.github.io/2021/01/15/计算机/软件测试/性能测试/性能测试类型/