• 12
  • 12
分享
  • 浅谈性能测试策略制定——软件测试圈
  • 曼倩诙谐 2021-03-16 10:02:50 字数 1810 阅读 1767 收藏 12

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

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

  确定性能测试指标

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

1-1.png

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

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

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

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

  交易差错率<0.5%。

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

  制定性能测试策略

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

  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递增情况。

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


作者:李元库   

来源:51Testing软件测试网原创

  • 【留下美好印记】
    赞赏支持
登录 后发表评论
+ 关注

热门文章

    最新讲堂

      • 推荐阅读
      • 换一换
          •   1 月 4 日,赛力斯与华为数字能源技术有限公司(下称“华为数字能源”)共同宣布,双方在深圳签署全面战略合作协议。据第一财经报道,有业内人士称,华为在充电方面可能会打造一个联盟,以提高充电桩的利用率,加速走向盈利。  根据此前官方公布的消息,赛力斯与华为数字能源将在新能源汽车智能电动部件产品、新能源汽车平台技术开发与应用、新能源汽车充电网络建设与运营、新能源汽车国际化等领域展开全面战略合作。  在充电网络超充联盟及服务方面,赛力斯与华为数字能源将携手推进新能源汽车充电超充网络部署,实现平台互联互通。在智能电动部件产品方面,双方将联合研发与制造电驱动、车载充电、增程系统、智能光伏、底盘融合系...
            0 0 399
            分享
          •   据《纽约时报》报道,沙特阿拉伯正计划设立 400 亿美元(IT之家备注:当前约 2880 亿元人民币)的 AI 初创企业风投基金。  根据多位消息人士的说法,这一坐拥巨大石油财富的海湾国家正寻求支持一系列的 AI 科技初创企业,涵盖从芯片设计到数据中心领域。该国代表甚至表示沙特正考虑创办自己的 AI 公司。  具体而言,沙特方面与硅谷顶级风险投资公司安德森 霍洛维茨(Andreessen Horowitz)等方就潜在的合作关系进行了讨论,不过计划仍存有变化的可能。该基金有望于今年下半年正式推出。  如果 400 亿美元的规模成真,则这支风险投资基金将在规模上远超典型的美国对手,仅次于世界范...
            0 0 309
            分享
          • 本文由 Dify 深度用户@李昱昊 投稿整理所得。基于 Dify 能力进行 AI 应用的创建,产出本篇最佳实践文章。我们欢迎更多优秀开发者向我们投稿最佳实践,投稿联系邮箱:hello@dify.ai,或加入 Discord 社群( https://discord.com/invite/FngNHpbcY7 ) 联系官方工作人员。Dify 允许创建 AI 应用,并提供二次开发的能力。这里我将演示创建一个法律问答助手的 AI 应用(机器人),称作“知法”。在本篇教程中,我将指导你为“知法”接入企业微信。前置准备企业微信的管理员权限;一个 Dify 的帐号(https://dify.ai/);一个 ...
            0 0 847
            分享
          • 目录大数据测试的是什么 大数据测试的优势有哪些 适合转行大数据测试有哪几类人1. 大数据测试的是什么先看看我们熟悉的传统测试是什么:传统测试就是利用测试思维以及一些相关的测试工具对系统的功能、性能、安全、易用等方面进行质量保证。那么大数据测试是在测试什么呢? 打个比方:我们需要修一条管道,确保源头a的水利用该管道能正常运送到目标b, 那么传统测试则需要保证几下点:确保管道的水能正常传输 ————这是传统的功能测试。确保在大量水流量情况下管道不被阻塞 ————这是传统的性能测试。确保管道不修在危险的山崖上 ————这是传统的安全测试。确保用户拧开水龙头放水时,不花费太大的力气...
            10 10 1720
            分享
          • 1.编写测试用例有哪几种方法?答:大刚法、等价类、边界值、因果图、场景法、正交法、错误推断法、正则表达式2.测试的六条基本法则是什么?答:功能、可靠性、易用性、效率、可维护性、可移植性3.软件测试分类有哪些?(从是否关心软件内部结构的角度划分)答:白盒、灰盒、黑盒4.软件测试的测试流程是什么?答:分析需求文档-需求评审-编写测试计划-计划评审-编写测试用例-用例评审-执行测试用例-迭代测试轮次-提交阶段性测试报告-验收测试-提交测试总结性报告5.编写测试用例的原则是什么?答:100%的覆盖需求规格说明书6.软件测试过程中必须经历哪些阶段?答:单元测试集成测试系统测试验收测试7.黑盒测试包含哪些...
            13 15 13086
            分享
      • 51testing软件测试圈微信