• 性能测试步骤简单总结


    最近做了一次性能测试,虽然已经顺利结束了,但是事先没有做好各个步骤的规划,感觉中间过程稍微有点乱。趁周末时间稍微总结下步骤,提醒下自己~

    一、需求分析

    首先,为什么要做性能测试?我们要测试系统相关性能是否满足业务需求?我们有没有具体的指标?

    比如某接口在200TPS下99.99%的接口响应时间小于50ms?

    比如某系统上线后每天进来2000万的数据,当前机器配置下是否能保证系统正常运行?

    1、初步判断这些需求是否有业务数据支撑,是否合理?

    2、业务指标合理的情况下,资源指标是什么?

    二、业务分析和系统分析

    初步判断性能测试需求后,下面我们要对被测系统的业务功能和系统架构进行分析。

    首先我们要了解整体业务功能,了解业务功能各个环节占比和重要程度,关注重点功能。

    其次,分析系统架构,搞清楚实现某个功能时接口的调用关系、数据流向;系统是否使用集群、是否使用负载均衡等;了解测试环境和生产环境部署差异。

    这些方便我们进一步判断需求是否合理,同时帮助我们设计性能测试的测试用例和测试方法。

    三、编写性能测试方案

    为什么要编写测试方案?我以前也认为文档写起来麻烦,直接测试好了。其实不然,编写性能测试方案实际是对测试思路、测试方法的整理。

    一是有了方案指导之后,测试过程当中相当于有了一份checklist,不慌不忙的执行每一步,减少遗漏和返工,提高效率。

    二是对复杂的性能测试,我们编写完性能测试方案之后邀请开发、架构师等一起对方案进行评审,减少口头沟通理解上的误差,方便各方查阅沟通,方便项目留档。

    性能测试方案上除了需要第一、第二步的分析过程和结论,还需要明确一下几点:

    • 第一步的明确测试需求
    • 第二步的分析结果,写清楚业务和架构关系,用于支撑后面的测试方法
    • 测试环境,测试机器的CPU/GPU/内存/磁盘大小/磁盘类型/网络等
    • 软件版本,应用版本、各中间件版本号
    • 测试工具
    • 测试数据准备,测试数据大小、格式是否合理?测试数据重复是否会对测试结果有影响,是否需要进行参数化处理以及如何参数化等
    • 测试用例,通常是基于场景测试测试用例(单业务场景测试、多业务混合场景测试);明确各场景监控对象(比如tps,耗时,CPU,内存,I/O等);核实业务最后产生的业务数据是否准确(比如写库接口,压测产生的数据与请求数是否一致,写库时间是否延时等等)
    • 测试策略(测试方法),是否逐步加压等
    • 测试进度安排

    四、性能测试环境搭建

    很多公司都是可以提个需求,从运维那里要到合适的环境。目前我测试的大部分项目都是要自己搭建测试环境的,需要从安装操作系统开始准备。自己安装环境的话还是要注意下各应用、中间件的机器分配,机器的host和DNS设置等问题。

    测试环境搭建之前我一般都会自己先确认下机器分配情况,然后找相关开发确认核对一遍,确保IO和网络占用相对均衡些。

    五、性能测试执行

    环境安装好之后,就可以按性能测试方案的中的测试用例执行起来了。注意在测试过程中一定要记录相关测试数据,不仅仅客户端请求数、响应时间、TPS等关键数据,还有机器cup占用、内存占用、网络流量,应用程序JVM,数据库等等。

    测试执行的过程中可能遇到瓶颈,这时候一边自己分析,一边找开发排查调优,记录下发现的问题和解决方案。

    六、输出性能测试报告

    这就不用多说了,测试结束给出是否满足需求的结论。其中测试执行的过程数据,包括机器资源监控等截图全部都要写进文档中来支持我们的结论。

    上面就是对性能测试步骤做了一个简单的总结,具体每一步怎么做还是有很多注意点的,后续再总结~

  • 相关阅读:
    静态资源放置于独立域名之下
    一个程序学习String类的所有常用方法
    Myeclipse的workspace配置文件浅谈
    使用myeclipse自带的tomcat发布web功能怎么访问
    Java陷阱之assert关键字
    Java集合Map接口与Map.Entry学习
    Java中List和ArrayList的区别
    手动命名名字空间打包以及调用
    命令行java -classpath 的使用
    maven 环境变量设置和Java maven工具配置 on windows 7
  • 原文地址:https://www.cnblogs.com/daydayup-lin/p/14053349.html
Copyright © 2020-2023  润新知