在一个使用LoadRunner进行的性能测试项目中,需要管理的东西通常有三种:
1. 通过VuGen生成的脚本;
2. 通过Controller生成的场景;
3. 执行场景生成的返回结果。
我通常习惯于用下面的目录结构来管理这些内容,如下图
图1
当然,也还需要一些文档来描述这些目录之间的关系。例如
序号 | 场景名 | 场景用途 | 场景设置 |
1 | 1场景 | 检查1个虚拟用户时Google的搜索响应时间 | 虚拟用户:1 集合点:无 Think Time:忽略 迭代次数:1次 init all user before run:Disabled Load Generator 1:jackei,1个VU …… |
2 | 2场景 | 检查10个虚拟用户时Google的搜索响应时间 | 虚拟用户:10 集合点1:10个用户并发提交搜索请求 Think Time:忽略 迭代次数:5次 init all user before run:Disabled Load Generator 1:jackei,10个VU …… |
3 | 3场景 | …… | …… |
当然,上面的这个表格只是为了说明一个思路,你也完全可以使用一个EXCEL表格把同场景设置有关的每一项都作为单独的一列来管理,这样你就可以利用EXCEL的“筛选”功能方便的在多个场景中迅速的找到自己需要的那个。
另外,通常还需要一份文档用来管理每次场景执行的结果。例如
模块名 | 场景名 | 返回结果 | 详细描述 |
GOOGLE性能测试项目 | 1场景 | 1场景0 | 全部通过 |
1场景1 | 全部通过 | ||
1场景2 | 全部通过 | ||
GOOGLE性能测试项目 | 2场景 | 2场景0 | 有1次请求失败 |
2场景1 | 全部通过 |
上面这个例子比较简单,但在实际工作中可以在“详细描述”中记录更多的内容,例如在一个进销存系统中,发现某个场景中全部的请求都已经通过,但是在系统中却发现实际提交成功的订单数量小于LR中VU的请求数量。那么应该将这种情况记录下来,否则在同一场景多次运行后你就搞不清每次运行的区别在哪里了。
对于场景和返回结果之间的关系,可以通过设置Controller中的Result Directory,让LR在每次运行场景时自动保存返回结果。如下图
图2
图3
Directory中指定的是返回结果的保存路径,选中“Automatically create a results directory for each scenario execution”项后,再输入一个“Results Name”,LR就会负责在每次场景执行结束后自动保存返回结果到指定的目录中,并且将根据Results Name中的值,每次按照顺序生成新的返回结果目录。如上面的例子中,会将返回结果保存为
L:/GOOGLE性能测试项目/返回结果/1场景0
L:/GOOGLE性能测试项目/返回结果/1场景1
L:/GOOGLE性能测试项目/返回结果/1场景2
……