有朋友开始投诉了,说我已经好长一段时间没有写技术类文章了。汗颜,积极改进。刚好今天在群里有同行遇到一个关于 LR 参数化的问题,其实这个问题以前也遇到过,所以就顺便把我的想法整理一下发上来。
当时我们要做的是使用性能测试工具模拟大量用户在线点播 Movie 的业务,这个点播 Movie 的业务在第一次点播成功后,如果同一用户再次点播同一 Movie,系统的处理流程与第一次点播是不同的。另外,我们在执行测试时,通常都会连续执行几个小时以获得尽可能多的样本数据。
那么问题就在于,一方面我们不能在一次测试中重复的读取同样的数据,另一方面准备几十万甚至上百万的数据工作量也太大,而且还涉及到相关的基础数据的准备。那么,我们该如何在使用 LoadRunner 连续长时间执行测试,保证参数化的数据充足而又不会重复呢?
其实方法很简单。无论上 LR 还是 JMeter,都提供了将多个参数的取值存放在同一个文件中,或者每个参数单独指定一个文件的功能,针对上面这个例子,我们只是简单的创建了两个文件和三个参数,第一个参数和第二个参数(用户账号和密码)存放在第一个文件中,有1000条记录;第三个参数(Movie 的 ID)存放在第二个文件中,有999条记录。然后在测试工具中设置参数取值的读取为顺序读取并且循环读取。通过这种简单的方法组合出了大量的数据。
问题被解决了。