性能测试通过几种方式造数据

Posted wangjizhen

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了性能测试通过几种方式造数据相关的知识,希望对你有一定的参考价值。

本文说的数据量主要包括基础数据量(或者叫历史数据量、垫底数据量、数据库中已有的数据量)和参数化数据量,数据量在性能测试中起到非常重要的作用。对于在数据库中只有几条记录和有几亿条记录里面查询信息,那么结果肯定相差非常大的,随着业务量的增长,记录也越来越多,因此在性能测试过程中,需要保持跟生产上相同级别的数据量。生产系统中业务中使用不同的数据、那么我们在测试的时候需要考虑参数数据量的大小和数据分布的问题。

如果基础数据量跟生产环境的基础数据量不在同一个数量级上,将会导致相关指标例如响应时间比生产上快很多,不真实,甚至导致测试结果没有参考意义。如果参数化数据量过少、未考虑数据分布的情况,将会导致测试结果不真实,甚至测试结果没有参考意义。

基础数据量:

测试环境基础数据量需要跟生产环境基础数据量保持在同一个数据量级上,一般情况下需要考虑未来三年数据量增长趋势,如果增长过快需要在测试环境造非常多的数据。

参数化数据量:

1)参数化数据量尽可能的多,必要的情况下,可以清除缓存或者用写代码的方式提供参数化。

2)参数化数据分布,如果业务有明显的地域等分布的特征,需要考虑数据分布的情况。

数据量预置的方法:

1)从生产库导数据---最优方案

2)存储过程生产数据,也可以写脚本---建议登录用户数据使用存储过程生产

3)loadrunner或jmeter生产---过程业务数据建议使用工具生产,数据比较真实

4)DataFactory 数据工厂生产数据------上手比较慢

ps:造数据尽量真实,这个很重要。例如:我们利用某个字段进行索引查询,但是该字段全是一样的,不仅没有减少数据库的压力,反而增加了。

预置数据的脚本(具体脚本请移步飞测群):

1)mysql存储过程样例:

技术分享图片

2)oracle存储过程样例:

技术分享图片

3)java脚本生产数据样例:

技术分享图片

以上是关于性能测试通过几种方式造数据的主要内容,如果未能解决你的问题,请参考以下文章

性能测试四十:Mysql存储过程造数据

2023年十款开源测试开发工具推荐(自动化性能混沌测试造数据流量复制)...

2023年十款开源测试开发工具分享(自动化性能造数据流量复制)

Shell脚本 | 性能测试之启动流量

Shell脚本 | 性能测试之启动流量

2023年十款开源测试开发工具推荐(自动化性能造数据流量复制)