一个完整的性能测试流程

一、获取测试需求

1、系统结构分析

  系统架构图、网络拓扑图等(单体、集群、分布式、微服务、缓存、网关),主要目的是了解系统的数据流。

2、业务模型分析

  什么场景下可能存在什么问题。常见的业务有审批、支付、订单、库存、查询、数据更新、文件上传下载等。其中支付业务关注强业务性和强数据一致性,数据更新关注数据库的锁、资源独占等,文件的上传下载需要关注网络带宽、线程休眠、文件转换等。

3、测试需求分析

  什么人(用户)在哪个时间段(峰值流量)什么场景(业务场景)下执行了什么操作(接口处理,涉及的服务等),业务建模。

a)测试边界

  哪些不测哪些测,梳理清楚涉及到的业务场景和对应接口。

b)测试目的

  能力验证、容量规划、发现缺陷、基准比较。详看性能测试应用领域

c)测试指标

  一般由业务方提供。如果需求不明确,需要沟通确认测试指标(TPS、RT、系统性能计数器等)。

二、测试计划

  类似于功能测试

三、测试方案设计

  确定起止时间,测试环境配置,人员等,与测试计划具有重复,可合并。

四、测试环境搭建

  搭建一个独立的环境,或者使用SIT/UAT/正式环境。

五、测试用例设计

  类似于功能测试

六、测试数据准备

1、数据类型:基础数据(本来就应该存在的系统内数据)、测试数据

2、准备方法:从生产上拉一份、通过脚本(JDBC)预埋数据

3、注意事项:数据隔离,数据清理,数据污染,可用“挡板”。

七、测试脚本编写

  可复用、简洁、可移植。

八、测试脚本执行

1)执行过程中的数据收集

  系统自带的计数器,第三方工具等。

2)监控调试

  使用工具监控各方面的资源消耗,例虚拟机可用nmon、docker类可用Prometheus、数据库可用zabbix等。

九、瓶颈分析定位

  待续

十、测试结果反馈

十一、测试报告

-----------------------------------------------------------------------分割线----------------------------------------------------------------------------

  整个性能测试过程中主要重点在需求分析阶段,根据测试目的确定了使用什么测试方法,业务场景、性能指标都确定了,接下来就是按部就班的走下去就行了,找到瓶颈之后进行调优,然后在进行测试,如此反复,直到达到预期的测试结果从而结束测试。调优这里大概是性能测试最有技术含义的点了,需要大量的业务知识和技术支持。

猜你喜欢

转载自www.cnblogs.com/zichuan/p/10234384.html