vlambda博客
学习文章列表

浅谈性能测试策略制定

出品|51Testing软件测试网


近年来,随着各行各业客活量的不断发展,软件运行故障多表现为性能问题。因此,软件性能越来越受到测试人员关注,而性能测试是发现和识别系统瓶颈的重要环节。


但在实际性能测试过程中,测试人员经常遇到交易并发分散、无法确定交易数量的问题。本文主要针对上述问题,介绍测试策略制定方法,以满足不同交易类型的指标测算。


浅谈性能测试策略制定

1

确定性能测试指标


在性能测试执行前需要对性能需求进行分析,明确测试指标。通常从以下几个维度进行分析:

性能需求

重要关注点

输出项

系统架构

单体架构、微服务、前后端是否分离

需要明确一支交易或请求的路径

交易复杂度

核心交易、大访问量、复杂算法、资源消耗较大

交易清单

协议类型

http、tcp等

http协议需要明确请求及响应

tcp协议需要报文格式及报文结束标识符

性能建模

交易量、业务比例、用户数

TPS、响应时间


各性能指标如下,在性能测试过程中,如发现测试结果有下述任一指标不满足目标时,需分析查找原因,确定问题并分析调优。

  • 系统处理能力满足交易量预估。对可以确定交易量的交易,此项为衡量性能的主要指标。

  • 交易响应时间。目标系统平均完成用户请求的总时长,此指标通常根据系统交易复杂度以及具体的业务需求确定。

  • 系统资源消耗合理。比如系统CPU资源利用率小于80%,系统MEM资源利用率小于等于80%等,受测试环境硬件所限,可根据实际情况综合衡量。

  • 交易差错率<0.5%。

  • TPS呈线性增长稳定,无较大起伏。


浅谈性能测试策略制定

2

制定性能测试策略


针对系统性能测试指标,可根据交易量和交易用户是否确定来制定相应的性能测试策略,主要介绍以下两种方法。


1、交易量及交易用户数确定


前提:指所测交易有以往的交易数据,可从系统日志统计中查到相关交易的业务量数据,确定所测交易的日均、日峰交易量以及交易用户数。


方法1:按并发用户数量设计测试策略

以银行智能自助设备业务处理系统为例:一笔客户业务交易共产生10个待审核任务需提交后台业务处理审核中心,这10个任务需要2个不同级别的柜员进行审核,其中二级柜员需要处理6笔,三级柜员需要处理4笔,以某省客户交易日均5万笔为业务量基准,二级柜员日均需完成30万笔审核业务量,三级柜员需完成20万笔审核业务量。


测试策略制定过程如下:

确定TPS。审核日均交易时间为6小时,即21600秒,则二级柜员日均TPS为13.89笔/秒,同理三级柜员为9.26笔/秒。


确定并发数。根据业务量统计,二级柜员完成一笔审核任务平均耗时20秒,三级柜员单笔任务平均耗时10秒。


如果要完成日审核任务,则需配备二级柜员=300000/(21600/20)=278人,三级柜员需配备=200000/(21600/10)=93人。在发起性能交易时,可按照不同级别柜员添加不同交易,各交易设置不同的间隔时间(Pacing),保证不同级别柜员交易时间分别为20秒,10秒。由于性能测试资源与实际生产资源有差异性,测试时的并发用户数按278:93的比例发起即可。


此策略有一个弊端,由于交易间隔时间不一致,可能会使时间点上服务器承受的并发压力比和设置的并发比不相同,可能会造成间隔时间小的交易处理能力已达上限,但其他交易还能继续增加并发的情况,未能测试到系统的最大处理能力。如果改变用户并发比例,那对并发用户比例的计算也就没意义,此策略不能延续。


方法2:以系统处理能力设计测试策略

此策略偏向于服务器端的表现,根据TPS测试系统性能是否满足处理要求。


比如上述业务,一笔客户业务交易共产生10个待审核任务,二级柜员需要处理6笔,三级柜员需要处理4笔,从服务器端看同时处理完10笔任务才能完成一笔客户业务要求,所以并发可以控制在6:4比例压测服务端。假设所有交易响应时间都在1秒以下,则交易间隔时间可设置为1秒,控制交易发起服务器的并发性。


2、交易量和交易用户不确定


前提:对于新开发的交易,不能确定日均和日峰交易量,交易规律也不明确,交易用户数有一个预估值,但不确定。


方法1:按交易优先级设计测试策略

对于没有明确交易量和交易人数的场景,可按交易优先级大致分配交易并发比例。优先级高的设置并发相对较大,优先级低的交易并发相对较小。


将所有交易设置好间隔时间并且保证交易并发比例正确,在场景中可按此比例逐渐提高并发人数,监控服务器资源。


方法2:按系统处理能力设计测试策略

对于没有明确交易量,没有明确交易优先级的交易,可以仅测试当前环境下系统的最大处理能力,按比例梯度增加用户并发数量,查看并发用户增加的TPS递增情况。


以上是几种常用的性能测试策略制定方法,实际制定测试策略时,需根据交易类型、应用需求具体分析。


-End-

浅谈性能测试策略制定

推荐阅读

点击阅读☞

点击阅读☞

点击阅读☞

点击阅读☞

点击阅读☞

“阅读原文”一起来充电吧!