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:面向目标的场景设置和手动场景
|