性能测试-002-Loadrunner使用前的准备
在使用loadrunner(以下简称lr)之前,我们还需要输出几个文档:
1.《性能测试方案》
2.《性能测试用例》
我们来理清一下思路:“我”要去做性能测试需要什么呢?
- 明确倒底要不要做性能测试?性能测试的目的是什么?
- 明确被测系统是什么?被测试系统的相关技术信息如:架构、平台、协议等
- 明确被测系统的基本业务、关键业务,用户行为
- 明确性能测试点是什么?哪些需要测,为什么?哪些不需要测,又是为什么?
- 明确性能测试的指标,知道测试出来的结果怎么算通过?
系统信息调研
指对被测试系统进行分析,需要对其有全面的了解和认识,这是我们做好性能测试的前提,而且在后续进行性能分析和调优时将会大有用处,试想如果连系统的架构、协议都不了解,我们如何进行准确的性能测试?如果进行性能分析与调优?
需要分析的系统信息如下(包括但不仅限于如下这些):
业务信息调研
指对被测试的业务进行分析,通过对业务的分析和了解,方便我们后续进行性能测试场景的确定以及性能测试指标的确定。
需要分析的业务信息如下(包括但不仅限于如下这些):
性能需求评估
在实施性能测试之前,我们需要对被测系统做相应的评估,主要目的是明确是否需要做性能测试。
如果确定需要做性能测试,需要进一步确立性能测试点和指标,明确该测什么、性能指标是多少,测试通过or不通过的标准?
性能指标也会根据情况评估,要求被测系统能满足将来一定时间段的业务压力。
判断是否进行性能测试主要从下面两个方面进行思考:
业务角度:
系统是公司内部 or 对外?系统使用的人数的多少?如果一个系统上线后基本没几个人使用,无论系统多大,设计多么复杂,并发性的性能测试都是没必要的,前期可以否决。当然,除非在功能测试阶段发现非常明显的性能问题,使得用户体验较差的,此时可进行性能测试来排查问题。
系统角度: 系统又可以从以下3个方面进行分析
a)系统架构: 如果一个系统采用的框架是老的系统框架,只是在此框架上增加一些应用,其实是没有必要做性能测试,因为老框架的使用肯定是经过了验证的。如果一个系统采用的是一种新的框架,可以考虑做性能测试。
b)数据库要求: 很多情况下,性能测试是大数据量的并发访问、修改数据库,而瓶颈在于连接数据库池的数量,而非数据库本身的负载、吞吐能力。这时,可以结合开发、数据库工程师的建议,来决定是否来做性能测试。
c)系统特殊要求: 从实时性角度来分析,某些系统对响应时间要求比较,系统的快慢直接影响客户,这种情况就有作并发测试的必要,在大并发量的场景下,查看这个功能的响应时间。
从大数据量上传下载角度分析,某些系统经常需要进行较大数据量的上传和下载操作,虽然此种操作使用的人数不会太多,但是也有必要进行性能测试,确定系统能处理的最大容量,如果超过这个容量时系统需要进行相关控制,避免由于不人工误操作导致系统内存溢出或崩溃。
确定性能测试点
在上面第3点中,我们简单分析了如何确定一个系统是否需要做性能测试。下面简单总结下如果一个系统确定要做性能测试,我们如何确定被测系统的性能测试点? 我们可以从下面几个方面进行分析:
- 关键业务:确定被测项目是否属于关键业务,有哪些主要的业务逻辑点,特如果项目(或功能点)不属于关键业务(或关键业务点),则可转入下面。
- 日请求量:
确定被测项目各功能点的日请求量(可以统计不同时间粒度下的请求量如:小时,日,周,月)。如果日请求量很高,系统压力很大,而且又是关键业务,该项目需要做性能测试,而且关键业务点,可以被确定为性能点。
- 逻辑复杂度:
判定被测项目各功能点的逻辑复杂度。如果一个主要业务的日请求量不高,但是逻辑很复杂,则也需要通过性能测试。原因是,在分布式方式的调用中,当某一个环节响应较慢,就会影响到其它环节,造成雪崩效应。
测试环境准备
- 系统运行环境:这个通常就是我们的测试环境,有些时候需求比较多,做性能测试担心把环境搞跨了影响其它的功能测试,需要重新搭建一套专门用来做性能测试的环境。
- 执行机环境:这个就是用来生成负载的执行机,通常需要在物理机上运行,而物理机又是稀缺资源,所以我们每次做性能测试都需要提前准备好执行机环境
测试场景设计
根据性能需求分析来设计符合用户使用习惯的场景,场景设计的好不好直接影响到性能测试的效果。----这个测试场景是指"Controller"中的场景。
性能工具准备:
- 负载工具:根据需求分析和系统特点选择合适的负载工具,比如lr、Jmeter等
- 监控工具:准备性能测试时的服务器资源、JVM、数据库监控工具,以便进行后续的性能测试分析与调优。目前我们使用的是服务器的任务管理器进行查看,后期可以考虑补充加强。
测试脚本准备:
如果性能测试工具不能满足被测系统的要求或只能满足部分要求时,需要我们自己开发脚本配合工具进行性能测试


浙公网安备 33010602011771号