51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 1871|回复: 0
打印 上一主题 下一主题

[新知识] Loadrunner超全使用攻略(上)

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2018-6-28 11:28:07 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
本帖最后由 博为峰网校 于 2018-6-28 11:34 编辑

引言:为什么要进行性能测试呢?有些问题只有在大并发或者压力测试下才会暴露出来,在平常的公司内部测试中,感觉一切都是正常的,但是把服务放到生产线上,例如某个时刻突然有很多的用户要向我们的服务发送请求,这时候就考验到我们的服务是否会死锁,内存泄漏,能否在一个可接受的范围内响应,会不会crash,能否处理所有的请求。为了不给用户糟糕的体验,所以我们需要在服务上生产线之前就要做好性能测试。


要做一个完整的性能测试要有哪些步骤?

1. 虚拟用户脚本编写(模拟用户实际操作)

2. 场景设计&运行(例如要5000个用户同时登录到会议室)

3. 分析结果报告


如何选择性能测试工具?

1.只选对的,不选贵的。根据自己所测的服务器对外提供了什么协议类型的API来进行相应的选择,比如我所处的平台新服务器对外提供了HTTP协议的API和基于SessionManager的TCP协议的API。关于HTTP协议的压测工具倒是有很多的,大家自己百度下,但是关于能测TCP协议的压测工具,我知道的并且会使用的并不多,只知道可以用能支持socket协议的压测工具来实现

2.选的测试工具能按自己希望的步骤来编写虚拟用户脚本(而不是根据测试工具提供的录制步骤来完成虚拟用户脚本)

3.有良好的场景设计功能

4.有易于查看的输出报告

5.有中文文档以及google或者百度等上能搜索到较多的疑问解答

     综上所述,我选择了Loadruner作为我平台服务器初期的性能测试工具,而且loadrunner提供类C语言的脚本编写。但是由于loadrunner不易于扩展,是商用工具,要想免费使用只能用loadrunner11版本的破解版,loadrunner11是很早之前的版本,对于一些新功能是无法支持的。工具只是帮助我们完成任务的,要想更好的完成任务,我们就需要不断的探索更多的解决办法。


Loadrunner的使用     

–下图显示的是LR的3个主要组件,其中Virtual User Generrator是用来编写虚拟用户脚本的

–Controller是用来设计场景的

–Analysis是用来分析运行数据,生成结果报告的

–结合实际工作中的项目来演示如何使用这3个组件的


Virtual User Generator

    由于我们要自己设计脚本执行的流程顺序,暂时使用不到loadrunner提供的录制功能,所以打开Virtual User Generator,点击New Script然后选择一个通用的协议,例如Web(HTTP/HTML)后点击Create按钮,经过这些步骤后,就为我们提供了一个初步的编写脚本用的模版了

  虚拟用户脚本的设计是要考虑到典型场景的,例如一个会议室登录多个用户、多个会议室登录多个用户等等,接下来的demo将是针对一个会议室登录多个用户的场景的。先上图再逐一分解

与最初创建的模版相比,发现上图左边的工程区里面多了cJSON.h和JsonDemo.dll2个文件,由于LR支持加载纯C编译的DLL,所以就可以像使用python那样import XX包进来,然后直接使用其中的方法来帮助我们编写脚本,关于cJSON.h和JsonDemo.dll2个文件这2个文件的作用,将在接下来的脚本分析中说明吧


先上2张实际写的项目脚本,为下面的解析提供依据:

Login_CreateGroup脚本:


如何找到纯C的源程序,然后编译成dll,最后导入到loadrunner中为我们所用?就拿刚刚的JsonDemo.dll来说

1.登录到Json的官网(www.json.org),找到C的源码然后下载

2.打开Visual Stutio,New一个空的project,选择Visual C++下的Win32 Console Application,然后把Application Type选择为DLL

3.右键点击Header Files,Add一个Existing Item…把刚刚下载的C的源码里面的cJSON.h添加进来,同样右键点击Source Files, Add一个Existing Item…把刚刚下载的C的源码里面的cJSON.cpp添加进来

4.Build Solution生成DLL(编译过程中如果有安全提示的话,可以在command line中输入/D “_CRT_SECURE_NO_WARNINGS” 来解决)

platfrom_room脚本:


上半场讲到这里就结束了,重点来了,作为测试人员,特别是性能测试,不会一门编程语言,会让你在当今测试行业显的毫无竞争力,有很多性能测试,也仅仅只会用一些性能工具,比如Loadrunner,但是你真的用会它了吗,Loadrunner一样能实现各种复杂需求场景的编码。不信你看看这门课,你能否写出性能测试脚本吗?

测试开发很难吗?Loadrunner一样能完成


上文内容不用于商业目的,如涉及知识产权问题,请权利人联系博为峰小编(021-64471599-8052),我们将立即处理。



了解更多课程内容及课程安排,可咨询QQ 2852509883 或致电客服 400-821-0951(工作日9:00-17:30)
【看这里】技术交流、拓展人脉、领取福利欢迎加入博为峰网校大课堂>>>


分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏1
回复

使用道具 举报

本版积分规则

关闭

站长推荐上一条 /1 下一条

小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

GMT+8, 2024-11-25 10:23 , Processed in 0.062183 second(s), 24 queries .

Powered by Discuz! X3.2

© 2001-2024 Comsenz Inc.

快速回复 返回顶部 返回列表