聊一聊性能测试计划

Posted Testing说

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了聊一聊性能测试计划相关的知识,希望对你有一定的参考价值。


 01 

引言

最近有点时间,想到了很久没有更新的性能测试系列。趁着这个时间,testing在这里先把测试计划、测试方案、测试报告的测试计划给补了。

我们都知道,性能测试是一个非常庞大的领域,涉及到很多的知识和专业技能。而针对不同的被测系统或被测产品,又有着不同的测试方式和侧重点。

在做性能测试中,我们大部分是基于现场的一个业务场景去做一个尽可能完善的测试计划,设计出关键且有效的测试场景。在总结时可以用最少的测试执行来回答被测系统性能如何。

那么,在做性能测试计划的时候,我们需要考虑什么问题呢?我们需要知道系统的那些性能情况,监控那些性能指标,又需要考虑那种性能测试方法,需要通过那些场景来测试系统的性能情况,最后拿到的测试数据又能不能支持判断出系统性能是否符合预期的业务指标,又怎么判断出这些测试数据的准确性......这些都是需要我们结合公司的一些实际情况在做性能测试时考虑的问题。

在想清楚这些问题后,就可以动手写测试计划啦!



 02 

测试计划


testing认为,完整的性能测试计划应当包含如下几个部分。在这里不精确到目录结构,只精确到大概的一个内容。网上有很多的性能测试计划模板,如果需要精确到目录结构的可自行百度。
一、概述-文档信息、系统或产品概述背景、测试目的、术语说明
二、测试环境-包括生产、测试或灾备环境说明
三、测试策略及场景设计-测试策略(性能、压力、负载、疲劳强度测试等)及测试场景
四、测试指标 -测试需要达到的一个性能指标
五、测试计划-包括测试计划、测试人员、测试准备、测试开启准则、结束准则、测试执行场景策略
六、测试交付内容-包括性能测试结果数据、性能测试结论、性能测试报告等
七、风险说明-技术、资源、排期、个人原因等各种风险

以上是基于个人有限的性能测试经验总结出的几个关键点。包括在做性能测试计划设计时注重的几个关键问题。其实在具体的操作中,涉及到的问题可能会有很多,我们在设计性能测试计划时也还需要考虑各方面的因素,但是这些关键因素能帮我们快速思考清楚如何准备当前的性能测试任务。


 03 

建议


在上面提到了在设计测试计划前需要考虑几个问题,下面针对这些问题给出一些建议。

我们来看第一个问题,我们要怎么了解系统的性能情况及监控系统的哪些性能指标来确定此次性能测试的目标呢?先要做的是性能测试目标的确认,这个目标可以从项目组的核心成员 比如项目经理、产品、运营、技术负责人、实施等去了解生产的一个实际业务量、目前的预期业务量及未来产品规划的预期业务量。除了这些外客户或者需求方是否在哪些方面有特殊要求,比如在哪些业务场景下对响应时间有强制要求等。除此之外,还可与项目组的全部参与成员了解项目的一个详细情况,比如在生产时最担心那块地方有性能问题、并发问题,原因是什么等等。最后梳理收集到的目标及问题,根据自己对系统业务的了解,将收集到的业务目标转化成明确的性能测试目标。

我们现在在来看看第二个问题,当性能测试目标确认后,怎么根据性能测试目标选择对应的性能测试策略呢?其实,我们根据这些性能测试目标选择具体的性能测试策略就好了,大多数时候,单一的性能测试策略并不能满足我们的需求,我们需要采用几种性能测试策略共同完成一次性能测试任务。性能测试策略区别可参考我的性能测试系列第一篇文章:。

现在我们在来看看上面提到的最后二个问题,其实这二个问题都可以归纳为测试结果的准确性。测试结果作为最后的一个关键产出,它的准确性及权威性肯定是不容置疑的。那么,最后产出的测试结果能不能准确的推测生产系统是否达到预期的一个性能测试目标,我们该怎么保证测试结果的一个准确性与权威性呢?这些问题应该在前面刚开始就进行思考的,它应该贯穿整个性能测试计划及性能测试过程,而不是拿到最后的测试结果在去思考。在这里,testing认为解决这些问题可以从二方面入手,一是测试环境、二是性能测试设计的业务场景。首先是测试环境,应该与生产环境保持最大的相似度,这里包括了硬件环境、软件环境,对于不一致的环境,需要分析差异及影响。其次是性能测试的业务场景要尽可能的贴近用户的真实行为习惯,不能单靠想象去预估用户各个行为习惯,具体的可以结合生产现有的真实用户行为习惯数据进行设计,合理的设计及建立性能测试的用例场景。最后在这些基础上得到测试数据及结果,在此基础上在结合其它因素来进行一个比较接近生产的生产性能评估。


 04 

尾巴


以上是我为数不多的性能测试经验及理论进行的总结及建议,可能会有许多不对或者不完善的地方,望诸位指证。对了,testing最近开通了知识星球,但是没了解到它的核心作用,目前暂时用来留言吧,有兴趣的可以在testing的知识星球留言!

知识星球入口:



以上是关于聊一聊性能测试计划的主要内容,如果未能解决你的问题,请参考以下文章

聊一聊高分子材料性能测试的那些事~

聊一聊和Nacos 2.0.0对接那些事

聊一聊我对测试开发的看法

聊一聊如何使用Crank给我们的类库做基准测试

JVM性能提升50%,聊一聊背后的秘密武器Alibaba Dragonwell

聊一聊TCP协议的TIME_WAIT与性能优化