我是如何做性能测试-文档收集并深入学习
在每次接到压测任务之后,我首先第一步要做的事情就是找相关人员要文档资料,这是很重要的一个步骤,基本上做压测百分之七八十的信息都可以在文档中找到。
那需要收集什么文档呢,各式各样的文档有什么作用呢?
这里我列举几个个人认为比较重要的设计文档,以供参考。
1. 架构设计说明书
架构设计文档阐述了一个系统的设计和实现的过程,能帮助我们了解整个系统的技术架构,不同层级之间的拓扑关系。不仅如此,从客户端到服务器,中间件,DB等各个
环节的部署情况,信息的流转等,弄清楚这些环节的关系以及各个组件的作用,对做好压测有很大的帮助。有些性能指标会在架构设计文档中提及,这是统计指标的其中
的其中一个渠道。
2. 需求说明文档/需求规格说明书
需求说明文档详细描述了系统要实现的功能性需求,阐述了各个模块之间的业务逻辑关系。了解清楚不同模块直接的业务关系,对后面的业务场景建模很重要。
3. 接口设计文档
接口设计文档定义了接口传参以及接收响应的一些基本格式,不同的业务功能对应不同的API。大多数性能测试都是基于调用API来模拟并发,因此了解接口的协议类型、方法、
传参数据特点、接收参数的特点等,便于我们写好接口的脚本。尤其涉及某些参数参数需要进行构造,是否会写入数据库以及响应消息如何处理等,最好是找到开发该接口的人
详细问清楚。
4. 接口详细设计文档
接口详细设计文档,主要是为了帮我们理清接口上下游之间的依赖关系,明白数据在接口之间怎么流动。这个环节,当你在压测时,脑海清楚数据的走向,通过一些工具,比如ARM,wireshark,tcpdump,日志等,
层层找出当数据流经上下游之间的接口,他们的耗时是多少,从而根据异常的耗时,进一步去分析问题。
另外,有的开发还会把接口内部的逻辑讲出来,若是有这部分内容,也需要重点关注一下。因接口接受不同的数据,在接口内部有不同的判断条件,清楚内部逻辑后,有针对性的造数据,在压测接口时,可以覆盖
到核心的逻辑,或者覆盖多种不同条件,再根据监控查看是否有异常出现。
5. 数据库设计文档
这与第3点紧密关联。不同的接口对应哪个库哪张表,前后是否其它依赖关系,字段有哪些特点,数据流的整体过程是如何流转,搞明白这些,在设计混合场景时才能做到心中
有底气。另外,性能测试不止监控应用服务器、中间件,数据库的性能监控也是很重要的一环。
以上,是个人认为做性能测试前,需要收集的一些文档。文档越早收集越好,有足够多的时间去了解,去请教不懂的问题。
若还有其它文档需准备,有遗漏的地方,请小伙伴在讨论区留言,谢谢。