系统性能测试报告_性能测试关键点总结:流程篇

上期,由我们乐搏软件学院(ID:lebotest),为大家分享了,基础的性能测试理论,今天继续为大家分享软件测试的另一方面:性能测试流程;

性能测试,从实际执行层面来看,他的过程一般分为几个阶段,如图:

下面分别为大家介绍,在性能测试中,各个阶段需要做那些具体工作:

一、性能需求分析

软件性能需求分析,作为整个性能测试工作开展的基础,如果最基本的性能需求,都没分析清楚,到后面的性能测试执行,是没有任何意义的。软件性能需求分析,做的是否完善,直接影响性能测试的结果。

在性能需求分析阶段,测试人员需要和项目相关的人员,进行详细的沟通,收集项目的各种资料,对系统进行分析,建立性能测试数据模型,并将其转化为可衡量的具体性能指标,确认测试的目标。

所以性能测试需求分析过程是繁杂的,需要测试人员有深厚的性能理论知识,除此之外还需要懂一些数学建模的知识来帮助我们建立性能测试模型。

更多性能测试资料,

关注乐搏软件学院(ID:lebo1768)

首先,通过性能需求分析,我们需要得出哪些结论或目标:

  • 明确倒底需不需要做性能测试?他的目的是什么?

  • 明确被测系统是什么?被测试系统的相关技术信息有哪些?

  • 明确被测系统的基本业务、关键业务,用户行为

  • 明确性能测试点是什么?都有哪些需要测试,为什么?哪些不需要测试,为什么?

  • 明确被测系统未来的业务拓展规划以及性能需求?

  • 明确性能测试策略,即应该怎么测试?

  • 明确性能测试的指标,知道测试出来的结果怎么算通过?

其次,需求分析阶段,可以从以下几个方面入手:

1、系统信息调研

对被测试系统进行分析,需要对被测系统,有全面的了解和认识,这是做好性能测试的前置条件。

并且在后续进行性能分析和调优时,将会有很大用处,如果连系统的架构、协议都不了解,我们如何进行准确的性能测试?如果进行性能分析与调优?

更多性能测试资料,

关注乐搏软件学院(ID:lebo1768)

需要分析的系统信息,包括但不限于如下图内容:

2、业务信息调研

指对被测试的业务进行分析,通过对业务的分析和了解,方便我们后续进行性能测试场景的确定以及性能测试指标的确定。

需要分析的业务信息,包括但不限于如下图内容:

3、性能需求评估

在执行性能测试前,要对被测系统做对应的评估,主要目的为明确系统是否有必要做性能测试。

如果确定要做,需要确定性能测试点和指标,明确该测什么?性能指标是多少?测试通过与否的标准?性能指标会根据情况评估,要求被测系统能满足将来一定时间段的业务压力。

更多性能测试资料,

关注乐搏软件学院(ID:lebo1768)

判断是否进行性能测试主要从下面两个方面进行思考:

业务角度:

  • 系统是公司内部 or 对外?

  • 系统使用的人数的多少?

系统角度:

系统又可以从以下3个方面进行分析

a)系统架构:

b)数据库要求:   

c)系统特殊要求:

4、确定性能测试点

在上面第3点中,我们简单分析了如何确定一个系统是否需要做性能测试。下面简单总结下如果一个系统确定要做性能测试,我们如何确定被测系统的性能测试点?

我们可以从下面几个方面进行分析:

关键业务:

确定被测项目是否属于关键业务,具体有哪些主要业务逻辑点,重点关注与交易相关的功能点。如果项目不属于关键业务,则可转入下面。

日请求量:

确定被测项目中,各功能点的日请求量,如果日请求量较高,系统压力大,而且又是关键业务,则该项目需要做性能测试。

而且关键业务点,可以被确定为性能点。

逻辑复杂度:

判断项目各功能点的逻辑复杂程度。如果一个主要业务的日请求量不高,但逻辑很复杂,则也要通过性能测试。
因为在分布式方式的调用中,当某一个环节响应较慢,就会影响到其它环节,造成雪崩效应。

运营推广活动:

根据运营的推广计划,来判断待测系统未来的压力。降低运营过程中的风险,是性能测试的主要目标。

以上四个方面,相辅相成、环环相扣。在实际工作中应该具体问题具体分析。

5、确定性能指标

性能需求分析一个很重要的目标就是需要确定后期性能分析用的性能指标,性能指标有很多,可以根据具体项目选取和设定,而具体的指标值则需要根据业务特点进行设定,本文不详细进行阐述,后续可考虑就此单独写一篇。

二、性能测试准备

1、测试环境准备

系统运行环境:

这个通常就是我们的测试环境,有些时候需求比较多,做性能测试担心把环境搞跨了影响其它的功能测试,可能需要重新搭建一套专门用来做性能测试的环境。

执行机环境:

这个就是用来生成负载的执行机,通常需要在物理机上运行,而物理机又是稀缺资源,所以我们每次做性能测试都需要提前准备好执行机环境。

2、测试场景设计

根据性能需求分析,设计符合用户习惯的场景,场景设计的好坏,直接影响到性能测试效果。

3、性能工具准备

负载工具:

根据需求分析和系统特点选择合适的负载工具,比如LR、Jmeter或galting等

监控工具:

准备性能测试时的服务器资源、JVM、数据库监控工具,以便进行后续的性能测试分析与调优。

4、测试脚本准备

如果性能测试工具不能满足被测系统的要求或只能满足部分要求时,需要我们自己开发脚本配合工具进行性能测试。

5、测试数据准备

负载测试数据:

并发测试时需要多少数据?比如登录场景?

DB数据量大小:

为了尽量符合生产场景,需要模拟线上大量数据情况,那么要往数据库里提前插入一定的数据量。这可能需要花费一些时间,特点是关联系统较多,逻辑复杂的业务可能同时涉及多张表。

6、其它

如果需要其它其它关联系统或专业人士如DBA配合的,也需要提前进行沟通。

三、性能测试执行

1、人工操作,边执行、边分析

通常做性能测试,都是人工执行,并随时观察系统运行的情况,资源的使用率等指标。

性能测试的吸引力之一,就在于它的不可预知性。当我们在做性能测试的时候,遇到跟预期不符的情况很正常,这个时候需要冷静的分析。

这个过程可能会很慢长,需要不断的调整系统配置、程序代码来定位问题,耗时耗人力。特别是在当前敏捷开发模式,比较流行的大环境下,版本发布非常频繁且版本周期短,没有那么长的时间来做性能测试。

2、无人值守执行性能测试

无人值守是最理想化的目标,目前我们也朝着这个方向努力。

无人值守不是说没有人力介入,而是把人为的分析和执行过程分离,执行过程,只是机器服从指令的运行而已。

通常测试环境在白天比较繁忙,出现性能问题及定位难度较大,且会影响功能测试。所以一般性能测试最好在晚上或周末进行,在相对较安静的条件,有利于测试结果的稳定性。

这种方法,也相对比较适合敏捷的模式,不需要人工一直守着。只需要在拿到结果后,进行分析就好了。同进,这种方式对测试人员能力的要求比较高,需要进行自动化的收集各种监控数据、生成报表便于后续分析。

四、结果分析与调优

性能分析和调优,是一个比较大的话题,后续我们会单独的,和大家进行总结和分析。

五、测试报告与总结


性能测试报告是性能测试的里程碑。通过性能测试报告,展现出性能测试的最终成果、判断系统性能是否符合需求,是否存在性能隐患。

性能测试报告中,需要对性能测试目标、性能测试环境、性能测试数据构造规则、性能测试策略、性能测试结果、性能测试调优说明、性能测试过程中,遇到的问题和解决办法等进行说明。

更多性能测试资料,

关注乐搏软件学院(ID:lebo1768)

性能测试工程师,完成此次性能测试后,要将测试结果进行备案,并做为下次性能测试的基线标准。

具体包括:性能测试结果数据、性能测试瓶颈和调优方案等。

同时还需要将测试过程中,遇到的问题,

包括:代码瓶颈、配置项问题、数据问题和沟通问题,以及相应的解决办法或方案,进行知识沉淀。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值