05 | 铺底数据:真实的压测数据应该做成什么样子?
高楼
你好,我是高楼。
这节课,我们来聊一下怎么准备全链路压测的铺底数据。
做测试少不了与测试数据打交道,做性能测试更不是几条数据就能简单概括的事情。
在全链路压测过程中,测试数据是必须计算清楚的。通常,测试数据分为铺底数据与参数化数据(流量数据),不管是平时的业务功能测试、自动化测试,还是全链路压测等都需要有铺底数据,它们的区别只在于数据量级。另外,铺底数据还是压测清单与压测报告必须说明的内容。
那么铺底数据与参数化数据从什么地方获取呢?获取的数据又是否符合真实分布?下面我介绍几种构造数据的方法与思路,希望你能有所收获。
数据来源分析
刚才已经提到了,测试数据分为铺底数据与参数化数据。古人常说,“圣人千虑,必有一失;愚人千虑,必有一得。”我们也来思考一下,铺底数据是怎么获取的?
既然想要做铺底数据,就得知道要使用哪些表和字段。在做全链路压测之前,这些内容都要提前梳理出来。
你可以先把业务场景梳理完,再把相关接口整理出来。做完这些,就可以开始查找证据链了。
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
- 深入了解
- 翻译
- 解释
- 总结
本文详细介绍了全链路压测铺底数据准备的方法与思路,包括获取铺底数据的重要性、铺底数据与参数化数据的区别、以及铺底数据的处理方法。作者通过实例演示和具体的技术细节,为读者提供了多种脱敏数据的方法,包括使用SQL替换脱敏数据、Python脱敏数据、Java脱敏数据、ETL Kettle脱敏数据、性能测试工具脱敏数据等。此外,还提到了新老项目在造铺底数据时的区别,以及对铺底数据量的考量和思考。总的来说,本文内容丰富,涵盖了多种脱敏数据的方法,对读者进行了全链路压测铺底数据准备的详细指导。
仅可试看部分内容,如需阅读全部内容,请付费购买文章所属专栏
《全链路压测实战 30 讲》,新⼈⾸单¥59
《全链路压测实战 30 讲》,新⼈⾸单¥59
立即购买
© 版权归极客邦科技所有,未经许可不得传播售卖。 页面已增加防盗追踪,如有侵权极客邦将依法追究其法律责任。
登录 后留言
全部留言(3)
- 最新
- 精选
- Alex我个人的理解,对于铺底数据,要分传统性能测试和全链路压测两块来说。 对于传统性能测试,铺底数据的准备需要考虑数据量、数据内容两个维度。底层逻辑在于对系统性能影响因素的评估。如果认为数据库容量是被测系统的关键性能影响因素,那么需要优先考虑数据容量的标准,即每张表所需要的数据量;如果业务逻辑执行效率是关键性能影响因素,则重点考虑灌入数据的内容质量,即铺底数据在性能测试执行过程中是否会被业务逻辑所调用。 对于全链路压测,铺底数据更多的是指在测试过程中会被使用到的配置数据、业务基础数据和运行时数据,一般来讲,生产环境的全链路压测,我们不太会从数据量的维度去人为增加数据库负载;这个时候,数据的业务属性正确性、数据染色逻辑等业务维度的考量就尤为重要了。 和场景分析一样,铺底数据的需求与创建方式,不应该是执行前才考虑的问题,应该在前期制定方案和计划时就需要通盘考虑和规划的。
作者回复: 感觉说的这两个角度不管在哪种情况下都要同样的考虑的。
2021-11-025 - wchao190直接把生产库的数据copy到影子库,是不是方便点
作者回复: 那要看企业对数据的管理允许不允许这么干。 很多企业的生产数据是保密数据。
2023-05-17归属地:上海 - 守望者全链路线下压测铺底数据来源(直接线上压测没搞过):1、线上脱敏 2、无法获取线上脱敏的,根据全链路压测的核心业务梳理涉及的业务数据,以及业务数据的状态比例(举例 单据状态:已完成、进行中、废弃 10:1:1 ),加入脚本参数化的数据量后应该维持线上数据的状态比例。 脱敏方式有几种?1、加密 2、替换 (反正原则就是脱敏后的数据无法获取到到涉及个人隐私、财务数据等信息) ;同时,脱敏的字段不应该影响压测业务的正常处理。
作者回复: 理解的很对。
2022-03-24
收起评论