学习loadrunner需要具备什么基础

查看: 11882|回复: 15
新手QTP和loadrunner先学哪个呢,哪个入门快啊
该用户从未签到
该用户从未签到
我也想知道,求指教
该用户从未签到
我也想知道,求指教
该用户从未签到
我也想知道,求指教
该用户从未签到
学哪个都不快……尤其是自学……其中很多细节问题,没人指教是看资料很难弄懂了……为何新手都急着学自动化了……就算你学了还是新手工作的时候也不一定让你从事自动化……事情都还是有个顺序的,用人单位也不愿意用个没有实际项目经验的来走自动化测试,毕竟不能保证效率……还是先学好功能测试的方法与思维,再有机会朋友会自动化的高手请教(最好是在工作中的)
该用户从未签到
真要学就选择QTP,不是因为QTP容易,而是因为能够更快的运用到工作中去……比较新手目前都是做功能,QTP就是倾向于功能测试的
该用户从未签到
& & 重点是身边没高手,可是总要有个开始。。。
该用户从未签到
QTP和loadrunner其基本原理都不难理解,工具的掌握难度也不是很大,应用中QTP是功能测试工具,主要就是整理对象库,编写脚本,调试脚本,应用回归测试,整理测试结果报告。Loadrunner在我的应用中难点就在于你设计的用例是否能帮你找到软硬件瓶颈,测试的结果的分析也是个难点。如果硬要选择先后到话,还是QTP相对容易上手,loadrunner应用也不难,但是设计用例和结果分析是要经验的。
该用户从未签到
该用户从未签到
windything65515
& & 谢谢~~~
TA的每日心情郁闷 10:40签到天数: 1 天连续签到: 1 天[LV.1]测试小兵
受用~~谢谢
该用户从未签到
这不是先学哪个的问题,QTP主要是用来做功能自动化,需要懂VB语言,LR主要用来做性能测试,需要懂C语言。 自动化和性能先学哪个,我个人觉得取决于你对哪块更感兴趣,哪块地址好。&&不管是学性能还是学自动化,路都很长,要学的是原理,分析。QTP和LR无法就2个工具,当你原理什么都懂了,工具的应用so easy。
想再两个方向都发展,我觉得依你这问题看你的水平任重而道远。真想学自动化也不建议学习QTP,可以看看开源的selenium 2.0 (webdriver)。当然你自学能力很强,能力很强你可以考虑自动化性能都学,千万别接触了QTP就以为自己懂自动化了。
该用户从未签到
能在工作中用到哪个就先学哪个,学了用不到等于0
TA的每日心情开心 14:23签到天数: 2 天连续签到: 1 天[LV.1]测试小兵
我也想知道,求指教
TA的每日心情衰 14:18签到天数: 31 天连续签到: 1 天[LV.5]测试团长
两个是一样的,但QTP用的多一点(可以录个简单脚本进行资源创建),但还是不建议没学会走就想跑的思想
该用户从未签到
我也想知道,求指教
站长推荐 /4
小伙伴们踊跃闯关,赢取测试积点,换取豪礼,还等什么,赶快行动吧~
了解自己的心里圈,学习不同的内容,让自己由内而外强大起来!
负责PC输入法项目自动化测试以及安卓输入法评测工具开发 ,结合精准测试概念,开发代码覆盖率工具,现在已经应用了QQ输入法以及PC搜狗输入法两个项目中。
赏金公告:悬赏任务已,小伙伴们赶紧行动起来,赚取,去积点商城获取奖励吧!
Powered by博客访问: 1507907
博文数量: 478
博客积分: 3010
博客等级: 中校
技术积分: 7178
注册时间:
学习是一种信仰。
IT168企业级官微
微信号:IT168qiye
系统架构师大会
微信号:SACC2013
分类: 架构设计与优化
  Q1:什么是负载测试?什么是性能测试?
  A1:负载测试是通过逐步增加系统负载,测试系统性能的变化,并最终确定在满足性能指标的情况下,系统所能承受的最大负载量的测试,例如,访问一个页面的响应时间规定不超过1秒,负载测试就是测试在响应时间为1秒时,系统所能承受的最大并发访问用户的数量。
  性能测试:指在一定的约束条件下(指定的软件、硬件、网络环境等),确定系统所能承受的最大负载压力。
  Q2.性能测试包含了哪些测试(至少举出3种)
  A2:性能测试包含负载测试、压力测试、大数据量测试、疲劳强度测试等。
  Q3.简述性能测试的步骤
  Q4.简述使用Loadrunner的步骤
  A4:制定性能测试计划—>开发测试脚本—>设计测试场景—>执行测试场景—>监控测试场景—>分析测试结果
  Q5.什么时候可以开始执行性能测试?
  A5:功能测试通过;一般需要进行性能测试的系统,都是用户量比较大、业务使用比较频繁、比较重要的功能模块。
  Q6.LoadRunner由哪些部件组成?
  A6:主要有三部分组成:
  Q7.你使用LoadRunner的哪个部件来录制脚本?
  A7:使用Virtual User Generator录制测试脚本
  Q8.LoadRunner的哪个部件可以模拟多用户并发下回放脚本?
  A8:LoadRunner的Controller组件。
  Q9.什么是集合点?设置集合点有什么意义?Loadrunner中设置集合点的函数是哪个?
  A9:在性能测试过程中,需要模拟大量用户在同一时刻,访问系统并同时操作某一任务,可以通过配置集合点来实现,多个用户同时进行某操作;
  集合点可以在服务器上创建密集的用户负载,使LoadRunner能够测试服务器在负载状态下的性能。
  设置集合点函数:lr_rendezvous("Meeting"); // Meeting是集合点名称
  Q10.什么是场景?场景的重要性有哪些?如何设置场景?
  A10:场景用于模拟用户实际业务操作;
  LoadRunner中场景有手工场景和面向目标的场景。
  设置场景:选择场景类型、设置运行时设置、模拟用户数、加减压方式、持续时间,配置负载生成器。
  Q11.请解释一下如何录制web脚本?
  A11:利用Virtual User Generator录制测试脚本,录制步骤:
  1、选择合适的协议
  2、设置录制选项
  3、开始录制
  Q12.为什么要创建参数?如何创建参数?
  A12:LoadRunner在录制脚本的时候,只是忠实的记录了所有从客户端发送到服务器的数据,而在进行性能测试的时候,为了更接近真实的模拟现实应用,对于某些信息需要每次提交不同的数据,或者使用多个不同的值进行循环输入。这时,在LoadRunner中就可以进行参数化设置,以使用多个不同的值提交应用请求。
  【参数化】:使用指定数据源中的值来替换脚本录制生成的语句中的参数。
  【参数化好处】
  减少脚本的大小
  提供使用不同的值执行脚本的能力,更加真实的模拟现实应用。
  【参数化步骤】
  用参数替换Vuser脚本中的常量值
  为参数设置属性和数据源
  Q13.什么是关联?请解释一下自动关联和手动关联的不同。
  A13:【关联的定义】简单的说:就是把脚本中某些写死(固定)的数据,转变成动态的数据,或者说将前面语句的结果数据保存下来,然后在后面的语句提交请求时使用这些数据。
  【需要关联的前提条件】:
  客户端需要从服务器端返回数据中获取部分数据,并将这些部分数据处理后作为自己下一次请求的一部分发出。
  【自动关联与手工关联的不同】:自动关联是在脚本录制过程中,VuGen会根据已经制定好的规则,自动找出需要关联的值或脚本录制完成后,执行脚本一次,通过Correlation Studio自动找出需要关联的数据,并建立关联;而手动关联是需要录制两份相同业务流程的脚本,输入的数据要相同,利用WinDiff工具,找出两份脚本之间不同之处,也就是需要关联的数据,再通过web_reg_save_param函数手动建立关联,将脚本中用到关联的数据参数化。
  Q14.你如何找出哪里需要关联?请给一些你所在项目的实例。
  1、录制两份相同业务流程的脚本,输入的数据要相同
  2、利用WinDiff工具,找出两份脚本之间不同之处,也就是需要关联的数据
  3、通过web_reg_save_param函数手动建立关联,将脚本中用到关联的数据参数化。
  示例:
  通过录制两份脚本,进行对比,可知jsessionid、sap-ext-sid、sap-wd-cltwndid、sap-wd-tstamp需要进行关联。
  Q15.你在哪里设置自动关联选项?
  A15:录制选项中进行设置,如下图所示:
  Q16.哪个函数是用来截取虚拟用户脚本中的动态值?(手工关联)
  A16:Web_reg_save_param函数主要根据需要做关联的动态数据前面和后面的固定字符串来识别、提取动态数据,所以在做关联时,需要找出动态数据的左、右边界字符串。
  1.函数原型:
  int web_reg_save_param (const char *ParamName, , LAST);
  2.参数说明:
  ParamNam:存放动态数据的参数名称
  List of Attributes:其它属性,包含Notfound、LB、RB、RelFrameID、Search、ORD、SaveOffset、Convert、SaveLen。
  Notfound:指当找不到要找的动态数据时,怎么处理。
  Notfound=error,当找不到动态数据时,发出一个错误信息,为LoadRunner的默认值。
  Notfound=warning,当找不到动态数据时,不发出错误信息,只发出警告,脚本会继续执行下去不会中断。
  LB:动态数据的左边界字符串,该参数为必选参数,并区分大小写。
  RB:动态数据的右边界字符串,该参数为必选参数,并区分大小写。
  ORD:指提取第几次出现的左边界的数据,该参数为可选参数,默认值是1。假如值为All,则查找所有符合条件的数据并把这些数据存储在数组中。
  Search:搜寻的范围。可以是Headers(只搜寻Headers)、Body(只搜寻Body部分,不搜寻Headers)、Noresources(只搜寻Body部分,不搜寻Header与Resource)或是All(搜寻全部范围,此为默认值),该参数为可选参数。
  RelFrameID:相对于URL而言,欲搜寻的网页的Frame,此属性可以是All或是具体的数字,该参数为可选参数。
  SaveOffset:当找到符合的动态数据时,从第几个字符开始才存储到参数中,该参数为可选参数,此属性值不可为负数,其默认值是0.
  Convert:可能的值有两种:
  HTML_TO_URL:将HTML-encoded数据转成URL-encoded数据格式。
  HTML_TO_TEXT:将HTML-encoded数据转成纯文字数据格式。
  SaveLen:从Offset开始算起,到指定长度内的字符串,才储存到参数中,该参数为可选参数,默认值为-1,表示储存到结尾整个字符串。
  Q17.你在VUGen中何时选择关闭日志?何时选择标准和扩展日志?
  A17:在测试场景执行时,关闭日志,因为日志信息过多,也会影响性能测试结果;在调试测试脚本时,可以选择标准或扩展日志,用于输出调试信息。
  可以在运行时设置中,进行日志设置,如下图所示:
  Q18.你如何调试LoadRunner脚本?
  A18: 通常采用以下方法调试LoadRunner测试脚本
  【方法】在脚本的任意一行上按右键菜单或F9增加断点。
  单步跟踪
  【方法】通过菜单命令VUser—>Run Step by Step或F10,可以控制脚本以语句为单位执行。
  日志输出
  【方法】通过日志输出函数lr_message、lr_log_message、lr_output_message输出。
  对话框输出
  综上,在实际测试工作中,基本上使用前三种方法,对话框输出基本上没用过。
  Q19、你在LR中如何编写自定义函数?请给出一些你在以前进行的项目中编写的函数。
  A19:在编写用户自定义函数之前,需要首先为函数创建外部库(DLL)文件,将这些库文件放在bin目录下,一旦库文件已经被添加并且将用户自定义函数作为参数,函数应该为以下格式:__declspec (dllexport) char* (char*, char*)
  Q20.在运行设置下你能更改那些设置?
  A20:可以修改Run Logic、pacing、Log、Think Time等,见下图;可以测试实际需要,修改相关选项。
  Q21.你在不同的环境下如何设置迭代?
  A21:在“运行时设置”中设置,如下图所示:
  Q22.你如何在负载测试模式下执行功能测试?
  A22:在负载测试模式下,可以通过同时运行数个虚拟用户,通过增加虚拟用户数,确定服务器在多大的负载量下,仍然可以正常运行,我一般进行核心功能操作,验证核心功能运行是否正常。
  Q23.什么是逐步递增?你如何来设置?
  A23:虚拟用户数随着负载时间逐渐增加,可以帮助确定系统响应时间减慢的准确时间点。
  可以在“加压”选项卡中进行设置:如下图所示,将设置更改为:“每 30 秒启动 2 个 Vuser”
  Q24.以线程方式运行的虚拟用户有哪些优点?
  A24:以线程方式运行的虚拟用户,在默认情况下,Controller为每50个用户仅启动一个mmdrv进程,而每个用户都按线程方式来运行,这些线程用户将共享父进程的内存,这就节省了大量内存空间,从而可以在一个负载生成器上运行更多的用户。
Q25.当你需要在出错时停止执行脚本,你怎么做?
  A25:取消运行设置中的“Continue on error”复选框。
  或者使用lr_abort函数。
  Q26.响应时间和吞吐量之间的关系是什么?
  A26:当系统吞吐量未达到系统处理极限时,系统性能不会衰减,交易平均响应时间一般也不会递增,当系统达到吞吐量极限时,客户端交易会在请求队列中排队等待,等待的时间会记录在响应时间中,故交易平均响应时间一般会递增。
  Q27.说明一下如何在LR中配置系统计数器?
  A27:以windows资源监控为例,可右键点“添加度量”,输入系统IP、选择平台类型,确定即可,详细参加LR自带操作手册^_^。
  对于监控不同类型的操作系统,需要做一些准备工作,可参见监控操作系统资源部分。
  Q28.你如何识别性能瓶颈?
  A28:性能瓶颈分为:硬件瓶颈和软件瓶颈
  性能瓶颈可以通过监控器来分析发现,这些监控器包括应用服务器监控、web服务器监控、数据库服务器监控器和网络监控器;它们可以帮助分析导致响应时间增加的原因;性能度量一般包括响应时间、吞吐量、每秒点击率、网络延迟等等。
  Q29.如果web服务器、数据库以及网络都正常,问题会出在哪里?
  A29:问题可能出在系统本身或应用服务器、或为应用编写的代码编写中。
  Q30.如何发现web服务器的相关问题?
  A30:可以利用web资源监控器发现web服务器相关问题,在场景执行过程中,可以利用监控器分析web服务器吞吐量、每秒点击率、每秒HTTP响应数、每秒页面下载数,以及web服务器硬件资源使用情况等。
  Q31.如何发现数据库的相关问题?
  A31:可以通过数据库监控器和数据资源图发现数据库相关的问题,例如在运行Controller之前,可以指定需要度量的资源,之后可以根据监控的数据,分析数据库相关的问题。
  Q32.解释所有web录制配置?
  A32:选择录制协议、设置录制选项、选择浏览器、选择存放路径、开始录制。
  Q33.解释一下覆盖图和关联图的区别?
  A33:覆盖图:合并两个图的内容,使用同一个X轴,合并图左Y轴显示当前图的值,合并图右Y轴显示被合并图的值。
  关联图:当前活动图的Y轴变为合并图的X轴,被合并图的Y轴变成合并图的Y轴。
  Q34.你如何设计负载?标准是什么?
  A34:负载测试计划多少用户数量、使用什么类型的机器、以及在什么环境下进行。主要基于两个重要的文档,任务分布图和事务信息,任务分布图告诉我们在负载时间段内,某一个事务使用的用户数,高峰使用率及低峰使用率均来自该文档;
  事务信息告诉我们事务名及优先级,在设计场景时可以参考。
  Q35.Vuser_init中包括什么内容?
  A35:Vuser_init中包含在脚本执行过程中只需执行一次的脚本。一般来说,所有需要初始化的都可以放在vuser_init里面,比如登录。
  Q36. Vuser_end中包括什么内容?
  A36:vuser_end中一般包含退出的过程,比如退出系统,主要在脚本执行完成或停止时运行,在设置了迭代次数时,vuser_end和vuser_int均只执行一次。
  Q37.什么是think time?think_time有什么用?
  A37:思考时间:用户在各步骤之间停下来进行思考的时间,由于用户基于其经验水平和目标而与应用程序进行交互操作,因此技术水平更高的用户工作起来可能会比新用户要快。
  通过启用思考时间,可以使 Vuser在负载测试期间更准确地模拟其对应的真实世界用户。
  Q38.标准日志和扩展日志的区别是什么?
  A38:标准日志:脚本执行过程中,将函数集及信息发送到日志文件中
  扩展日志:可以将详细的脚本执行信息输出到日志文件中,可以选择以下三种扩展日志信息:
  参数替换:脚本运行过程中,可以将参数及当前参数值输出到日志文件中
  服务器返回的数据:将服务器返回给客户端的数据输出到日志文件中
  高级跟踪:所有的虚拟用户信息和函数调用输出到日志文件中
  Q39.解释以下函数及他们的不同之处。
  A39:lr_debug_message:发送调试信息到输出窗口或业务监控日志文件中
  lr_output_message:发送日志信息到输出窗口或业务监控日志文件中
  lr_error_message:发送错误信息到输出窗口或业务监控日志文件中
  lrd_stmt:赋予一个SQL语句用于处理
  lrd_fetch:获取结果集中的下一行数据
  Q40.什么是吞吐量?
  A40:客户端每秒从服务器接收到的数据,或系统服务器每秒能处理通过的交易数。一般随着虚拟用户数的增加,吞吐量也增加,说明网络带宽比较充足,反之,吐过随着虚拟用户数的增加,吞吐量比较平稳,呈直线状态,则说明网络带宽成为瓶颈,限制了数据传输。
  Q41.场景设置有哪几种方法?
  A41:面向目标的场景设置和手动场景
阅读(760) | 评论(0) | 转发(0) |
相关热门文章
给主人留下些什么吧!~~
请登录后评论。LoadRunner入门课程板书
来源:& 作者:
怎么下载文档呀
& (小白变大牛
看了前面教的居然不会???
& (zzq564335
怎么安装loadrunner11,我不会啊
有没有教一下我loadrunner11,怎么安装,为
老师用的word在哪里有下载呀
& (hemazhu
尊重网上道德,遵守中华人民共和国的各项有关法律法规
承担一切因您的行为而直接或间接导致的民事或刑事法律责任
本站管理人员有权保留或删除其管辖留言中的任意内容
本站有权在网站内转载或引用您的评论
参与本评论即表明您已经阅读并接受上述条款
赞助商链接
本周热门内容【图文】LoadRunner基础知识入门_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
评价文档:
LoadRunner基础知识入门
上传于||文档简介
&&L​o​a​d​R​u​n​n​e​r​基​础​知​识​入​门
大小:2.86MB
登录百度文库,专享文档复制特权,财富值每天免费拿!
你可能喜欢LoadRunner的基本功能的使用
LoadRunner的基本功能的使用
  目前已掌握的基本功能的使用
  1.LR的常用组件
  Virtual User Generator、Controller、Analysis三大组件。
  2.使用LR进行压力测试的思路
  ◆先制定测试方案,测试系统的哪一部分性能◆着手脚本的录制和参数化(用Loadrunner VU)◆压测场景的建立(用Loadrunner controller)◆结果的分析3.录制脚本:
  已掌握:
  一般软件的协议选择,针对CS架构的软件根据的开发标准选择协议语言。比如用标准数据库的软件一般采用MS SQL Server协议进行脚本的录制。对于BS架构的软件一般选择WEB(HTTP/HTML)协议。基本的脚本参数化。
 需要加强:
  和了解更多的通讯协议,掌握计算机基础知识,掌握软件架构设计,学习LR的一些常用函数以达可以编剧脚本和编写脚本的目的。
  3.压测场景的建立:
  已掌握:
  可以进行常用的压测场景测试;
  需加强:
  压测场景组件中的一些设置。
  已掌握:
  可以看懂LR监测的一些图表,可以进行简单的响应时间等的分析;
  需加强:和服务器方面的基础知识、硬件基础知识、能看懂LR自带的各种监测数据的图表。
  5. LR常见错误
  使用LR进性的过程中,经常遇到的错误:
  (1)Error -26612: HTTP Status-Code=500 (Internal Server Error) forhttp://192.168.1.31:81/skill/
  如果所有网页都出现这个错误,很可能是LR运行设置的问题。如果只是偶尔出现,则应根据服务器进行服务器配置或者代码方面的排错。
  (2)试用版LR到期问题。
  试用版LR已到期,目前还未找到可以长期使用的license key
该文章对我有帮助
144°|1448 人阅读|0
后发表评论
马梦福 的其他博文 更多
& 测试窝,促进软件测试领域知识的传播。
联系我们 QQ:
测试窝常年法律顾问: 王雄金律师 | 执业证号:80720

我要回帖

 

随机推荐