三百六十行,行行出状元。每个行业都有领军的佼佼者。这次遇到的测试大哥已经在测试这个行业中摸爬滚打了十年。对于测试,也是熟到不能再熟了。一直在听说LoadRunner。今天有幸跟着测试大哥,一起实践一下。
(一)纸上得来终觉浅
微信读书曾经收藏了一本LoadRunner,但是~~~没有看过几页就觉得枯燥无味,于是放下了,这次再捡起来是因为旁边有个人,可以随时的问问题啦~但是看得一头雾水,又是协议又是并发。其实理解起来不难理解,重要的是在实践的基础上理解和学习。
(二)绝知此事要躬行。
在问了一系列问题之后,测试大哥终于知道我是一个测试界彻头彻尾的小白。于是,开始讲起来关于LoadRunner在实际中的应用。首先LoadRunner分为三大板块:
VuGen Load Generator用于捕获最终用户流程和创建自动性能测试脚本。
controller(控制器) :用于组织、驱动、管理和监控负载测试。
analysis (分析器):有助于查看,分析和比较性能结果。
书上说,LoadRunner在win8上有一些小问题,测试大哥也用的win7系统进行的压测,所以究竟是什么问题,我也不是很清楚啦。
通过编写脚本来调用后端想要测试的接口,启动loadRunner创建测试
弹出新床后中,选择web(HTTP/HTML)点击“Create”
弹出录制脚本设定窗口,输入相关设置信息:URL Address:输入需要测试的web地址
动作录制完毕后点击OK,切换到录制脚本信息的页面。编写脚本语言
#include "lrt.h"
#include "replay.vdf"
Actions()
{
lrt_tuxputenv("WSNADDR=//172.22.32.25:7110");
lr_think_time⑶;
tpresult_int = lrt_tpinitialize(LRT_END_OF_PARMS);
lrt_abort_on_error();
data_0 = lrt_tpalloc("STRING","",1);
lrt_strcpy(data_0,sbuf_1);
data_1 = lrt_tpalloc("STRING","",1);
tpresult_int = lrt_tpcall("TOUPPER",data_0,0,&data_1,&olen,0);
lrt_abort_on_error();
lrt_tpfree(data_0);
lrt_tpfree(data_1);
lrt_tpterm();
return 0;
}
根据自己想要测试的场景来修改脚本语言。脚本修改完毕后,进行保存。
回到最开始的页面上 运行脚本,选择“Run Load Test” 。选择需要运行的脚本
对运行环境进行设定,例如 并发数(就是同时执行这个动作的用户数量)
然后给脚本设定一个结束条件即双击图上的Duration,设定。设定压测时间。完成之后运行测试脚本start
在下面四个方块中可以看到测试的结果。找到这个接口的处理并发数的瓶颈,从而对未来服务提供的性能进行预测。执行完脚本之后,对运行结果进行保存分析,这就用到了analysis。
然后回到最开始打开的那一页,查询分析结果
总结:
总结一下过程 无非就是四个:编写测试脚本,设置并发数和压测时间,运行测试脚本,结果分析。按照测试大哥的话来说。。这都不叫事儿~