loadrunner工作原理
性能测试只关注底层数据,不关注业务,不关注客户端动作。所以,脚本运行正确不一定业务就正确(业务是否正确,如果是查询,我们可以通过检查点来判断;如果是增删改操作,可以看通过事务数和查询数据库数据数据增删改的数量做比对来判断),脚本运行正确只能说明服务器做了正确的响应,比如请求的文件不存在,则服务器返回了404,loadrunner认为这是正确的处理,但是业务上是不正确的。loadrunner只监控客户端和服务器端之间发送了什么数据(前提是要知道通信协议,能解码通信内容),不关注行为(即发送方式,如何发送)。loadrunner有协议探测功能,最后一个图标就是【协议探测】。
另外,不能解析出东西和解析出乱码是不同的,前者说明协议不对,后者说明协议正确,可能是字符集问题,对应到loadrunner中,前者就是无脚本内容;后者是有脚本内容,但是是乱码。
举例:比如下载图片,用loadrunner登录到页面,在图片上右键→另存为…,loadrunner不能完成下载图片这个动作,因为loadrunner只关注数据传递,而不关注动作(“右键—另存为”等动作)。
loadrunner和qtp对比
qtp是hp系列中做功能自动化的工具,它关注的是业务,loadrunner关注请求和响应(即底层数据通信);
响应和业务没有关系,做出了正确响应,但是业务不一定正确,如错误的登录信息,服务器给出正确的响应。
loadrunner使用流程
1.录制脚本
划分action,且改action名字
备注:本人只在以前学习的时候用过录制,录制受环境影响,有时录制不到脚本或者录制过程中卡死,所以,在实际工作中,都是直接写脚本,不用loadrunner的录制功能,直接写loadrunner脚本也不是大家想象中的那么难,还是有些偷懒的小技巧的,具体方式参考:录毛线脚本,直接抓包手写最简洁的LoadRunner性能测试脚本,但是,为了帮助想学录制的朋友,后续我们还是会介绍如何录制脚本。
2.脚本优化
a.为每个action插入注释,这样增加脚本的可读性以及易维护性;
b.添加登录操作集合点;
c.添加事务点;
d.修改思考时间;
e.保存脚本,回放,设置关联函数的置换;
f.根据实际情况进行参数化,如对登录用户名参数;
3.场景执行
4.结果收集
5.结果分析