性能场景之数据

2018-04-10   出处: 7DGroup  作/译者: 高楼(Zee)  

随便画一个系统图做示例。


在性能测试过程中,最简单的系统架构图也大概就是这样了。

在数据这一方面,有几个地方是要注意的。

  1. DB中的,包含各种类型的数据库;2. Cache中的,包含各种类型的cache;3. 压力工具中的,参数化数据。 

在执行场景之前,需要知道前两个里面的数据是什么状态。然后再判断压力工具中应该如何加载数据。

之前我写过一个实例文章说数据不均衡导致的问题的。《性能分析之数据不均衡导致TPS下降

数据对性能场景的执行结果太重要了,以至于说如果数据不合理,测试结果是完全不合理。也就是白干了。

如何让数据合理呢?

其实分析了场景之后也就非常清晰了。就是用真实的数据

但是在测试环境中,有非常多的实际测试实施中都没有线上的真实数据。

那就必须要造出符合业务规则的数据。有几种方式:

  1. 在数据库中直接插入数据。可以写SQL,也可以写代码做;我记得在之前的一个项目中,为了往一个表中插入1亿条记录数据,专门写了一段代码。

  2. 直接从前台做。也就是做个脚本从前端用压力的方式来预埋数据。这种方式是比较靠谱的,但是要注意的是:1. 产生业务的时间比较集中,所以在做批处理业务的时候要确定下容量是不是合理的;2. 做查询的时候如果涉及到时间范围查询,要关注下是否符合真实业务场景。

  3. 从真实环境中导出数据并脱敏。有很多公司都有专门的数据脱敏工具,特别是金融相关系统。


在大部分人做性能测试的时候,对数据的分析都不够理智。特别是性能测试工具中使用的参数化数据。

希望用少量的数据循环使用来模拟真实的情况,基本上都是耍流氓的行为。




欢迎给测试窝投稿或参与内容翻译工作,请邮件至editors@testwo.com。也欢迎大家通过新浪微博(@测试窝)或微信公众号(测试窝)关注我们,并与我们的编辑和其他窝友交流。
147°|1471 人阅读|0 条评论

登录 后发表评论