前言
在《一体化测试指标可视工程实践》中,我们分享了以趣链BaaS系统为例的测试实践路径,在后台收到读者们关于性能测试的留言。为此,本期将围绕如何进行产品性能测试这一话题,展开详细描述。
众所周知,一个优秀的系统/产品必然是极其注重用户体验的,因此在任意运行环境内,提供流畅、丝滑、平稳的服务能力至关重要,而性能测试则是实现上述能力的重要途径。在实践中,我们可以从如何设计全面的性能测试采集指标?如何实现性能可视化?这两个关键问题出发。
在采集指标方面,常见的有接口响应时间、TPS、成功率、接口请求总数、网络进出等等。但是性能问题又与CPU、内存、磁盘等数据资源的使用情况息息相关,例如常见的内存泄漏/内存溢出会导致系统崩溃卡顿,而网络传输过慢则容易影响接口请求速度,因此定位性能问题需要全方位排查各类影响因素。
一体化核心框架
上图所示,一体化测试中不同测试类型、测试实施均可抽象为:数据生成、数据存储、数据展示三个部分,下面将以性能测试实施为例,详细介绍上述三个核心环节的设计。
性能测试关键能力设计
数据生成
数据生成指通过采集器配合性能测试脚本进行压测生成数据,采集器即为性能测试的压测工具,目前,市面上已有大量优秀的开源性能测试工具,如:Apache JMeter,Gatling,Locust。那么我们该如何选取压测工具呢?笔者认为可从以下几方面考虑: