目前我工作在 一个专门给银行做核心系统的公司,主要负责自动化测试性能方向工作,也负责员工培训和测试团队的一些技术提高工作,CS架构的应用程序比较多 ,大部分系统构建在AIX 和linux系统上,今天主要和大家探讨loadrunner工具在性能测试方面的一些应用。
说来惭愧 性能测试也走过很多弯路,以为弄明白 lr 就天下无敌了,其实对很多性能测试基本问题大部分都想当然,所以我对新手的建议还是从基础开始。从性能测试的基本概念到各种指标的了解对网络、硬件、工具、方法论从实践的角度 不断提高自己
才能有机会走入性能测试这道门,换个角度考虑性能测试需要的素养和知识储备也是全方位的。就拿lr来说,装lr 这么简单的事我就装了不下几十遍失败的多 成功的少。从不看系统给的提示和安装指南,新手很容易畏难或者不知所以,lr支持的协议众多,更多的人倒在了协议选择上。
lr的脚本需要有一定的编程基础,你至少应该会c 或者 Java 或者其他lr支持的脚本语言一种或者几种,而且你会发现 lr里支持的脚本和纯c 、纯java ,但又不太一样,当然,刚开始时,如果你能简单修改脚本就不错了。我记得我刚开始接触lr的时候没有人可以问,只有死扣lr的文档,文档都是英文的中文的很少。有人也许会问:弄lr 非要汉化版 否则不会用 我这里还是奉劝大家 尽量使用英文版。
原因有二
1.lr的汉化一般都不彻底 而且汉化后引起的概念歧义 会让你使用起来更加困难;
2.lr的新版出来 汉化版 不会那么快, 时间上来说 接触英文版 要比 汉化版 要快, 这样了解 lr的速率也比 等着 汉化版 出来 再使用要快,当然还好 lr已经提供了 比较丰富的 帮助文档,甚至还有视频教程, 这点 很多 学习lr的人 都应该清楚。
F1 可以查看 lr中的函数, 但是你知道 这些函数的文档 都在哪里?
我觉得 lr的学习, 应该从以下几个方面进行
1.lr的安装 lr各个组件之间的关系
1.1 controller
1.2Vugen Generator
1.3Analysis
当然新版里还有Launcher
2.lr的协议的详解
这个文档我已经共享在群共享里了,
至于协议的选择需要结合具体的应用程序数据库来选择了。
3.lr的工作流程
这张图 已经很说明问题了
3.1 制定测试方案
兵马未动粮草先行,性能测试不同于功能测试, 这里的测试方案和性能测试计划有所不同,方案侧重策略的选择,计划侧重时间人员分配、 阶段划分 等一些具体的内容制定的做法,当然方案的前提是对系统的了解。
3.2 Vugen
众所周知,lr可以通过录制的方式来单用户的脚本事务是脚本的基础
一方面 事务区分了我们关注的性能测试点
另一方面,事务是性能指标 ,分析的基础事务还和以后的集合点策略紧密关联大家可能把关注点更多放在脚本的录制上面
录制时候的各项设定也是让大家头疼的一个东西,不过lr仅仅是一个压力负载的工具。大局上我们要明确你性能测试的目标是什么?
否则你都不知道 为啥要加参数化 何处加集合点如何确认事务失败?事务划分的粒度默认lr认为一个action就是一个事务换个角度 考虑 你划分的事务是有意义的脚本编写是一个内功
你需要从熟悉各个函数开始
lr的API还是很丰富的 既有函数声明解释还有实例
建议大家可以通过一些简单的脚本来熟悉lr的脚本编写
3.设计场景
需要注意的是lr的每一个工作流程的前提都是前一个步骤执行成功
3.1 场景选择
3.2 场景设置
4.就是运行该场景了
这里也要在明确测试目标的前提下设计一个或多个不同的场景来执行,运行过程中可能会出现的各种问题,要析和解决。如果要做到无人值守,那对脚本、场景要求都会比较高 ,脚本的容错性、场景的设置 都需要考虑当然 系统的监控 也是必不可少的重要指标
5.最后就是对lr生成的测试报告进行分析以上,只是lr基本的工作流程任何一个拿出来都可以讲个专题以后有时间给大家继续分享。
最新内容请见作者的GitHub页:http://qaseven.github.io/