最近在学习用QA Load 做load test, 菜鸟觉得还是很有必要记录下下的。文采有限,有需要的同学可以一起学习一下。
QA Load简介
QA Load 是Micro Focus公司的一个产品,主要是用来做性能测试的,该工具可以用来模拟成百上千的用户并发执行关键业务而完成对应用程序的测试。因为这是个商业软件,所以在使用的便利性方面明显要比一些免费的工具好!我们可以利用该工具录制脚本,制定测试计划,模拟用户向server发送request,检测测试结果并生成丰富的测试报告。
该工具支持的协议包括:
通信层:Winsock, WWW, WAP...
数据层:ODBC,MS SQL Server, Oracle, DB2...
应用层:SAP, JAVA...
我们项目原本计划使用的是Jmeter来做性能测试,因为这是一个开源的工具,但是后来由于我们要测试的网站带有flash, Jmeter无法解析二进制文件,所以我们选择了QA Load。QA Load可以将flash的AMF数据解析成可读的树形格式,并且允许对其中的数据进行参数化和修改。具体参数化过程在后续文章中会介绍...
QA Load组成
- Script Development workbench
-
- 主要用于脚本的录制,编辑
- 脚本的编译
- Conductor
- 脚本运行的配置管理
- 配置被执行的脚本
- 配置VU的个数
- 配置运行脚本的机器
- 生成测试报告
- Player
- 模拟用户向server发送request的机器
- 机器能模拟的最大用户数由机器本身的性能决定,一般来说在测试脚本执行之前,需要测试下测试机能都承载的最大用户数。这个一般是根据加大用户数,然后查看测试机的性能。(如果测试机的CPU及Memory的使用率达到80%以上,则说明,测试机已经无法承受这么大的用户数了。这是有经验的前辈介绍的,如果不对,希望指正,谢谢)
- Analyze
- 是一个结果分析器
- 提供各种图形化的报表
QALoad工作流程图
- 协同工作
(参考网上资料,感觉这张图的解释不错)
- 脚本转换过程
1.当结束录制脚本的时候,我们会保存一个.cap文件,该文件记录了录制的所有request和response。
2.与此同时也会产生一个.vistree文件,该文件主要是把我们发送的request与response以树形结构表示出来,这样可以方便查看。
3.在生成vistree文件的同时,也会产生一个不可编辑的.cpp文件,当然我们可以手动的生成一个可编辑的cpp文件,来进行脚本的更改,然后编译产生可执行的dll文件。
2.与此同时也会产生一个.vistree文件,该文件主要是把我们发送的request与response以树形结构表示出来,这样可以方便查看。
3.在生成vistree文件的同时,也会产生一个不可编辑的.cpp文件,当然我们可以手动的生成一个可编辑的cpp文件,来进行脚本的更改,然后编译产生可执行的dll文件。