zoukankan      html  css  js  c++  java
  • LoaRunner性能测试系统学习教程:场景设计实践之功能测试脚本(4)

    上期我们讲到LoaRunner性能测试场景设计实践之负载均衡技术,这期我们讲LoaRunner性能测试场景设计实践之功能测试脚本。

    在LoadRunner中使用功能测试脚本

    LoadRunner能够将GUIVuser脚本形式的功能测试脚本集成到负载测试场景中。这样就可以使用LoadRunner来测试和监控负载对应用程序功能的影响。LoadRunner可以将GUIVuser脚本形式的这些功能测试脚本集成到负载测试场景中,在QuickTest或WinRunner中设计并调试过的这些脚本可用作负载测试的基础。  

    在LoadRunner中运行功能测试脚本主要有以下几个优点:  

    1.可检查高负载对应用程序的功能带来的影响。  

    2.可以度量应用程序在负载下运行时,典型用户在客户端等待的响应时间(端到端的响应时间)。  

    3.通过GUIVuser可以度量并监控客户端/服务器系统在负载下端到端的用户响应时间。端到端的响应时间表示用户在提交请求后等待响应的总时间。端到端的响应时间包括GUI响应时间、网络和服务器响应时间,如图所示。


     

    QuickTest创建GUI Vuser脚本

    在QuickTest中创建用于LoadRunner测试场景中的GUI Vuser脚本时,需要遵循特定的准则以确保能够平衡集成脚本。QuickTest具有多项与LoadRunner集成设计的功能。但部分QuickTest功能可能在与LoadRunner集成时不可用。QuickTest与LoadRunner集成要注意以下几个方面。

    1.事务

    在一些时候为了知道服务器对某一个业务的处理能力,需要定义事务。在Vuser脚本中可以通过嵌入适当的开始和结束事务语句脚本段来定义事务。但要注意的是LoadRunner仅提供事务中数据性能信息。因此,QuickTest测试必须包括LoadRunner要使用的事务。通常在QuickTest中也使用插入开始事务和插入结束事务来插入事务。这样可以确保事务被正确地集成到LoadRunner中。

    2.将集成数据与测试一起保存

    QuickTest为了能与LoadRunner虚拟用户技术集成,必须生成特殊的集成文件。在默认情况下,生成这些数据的选项都是处于开启状态,但有时为了保留磁盘空间而禁用该选项。这样在录制时就要确保该选项处于开启状态。

    在QuickTest中,选择Tools→Options对话框,打开Run选项卡,如图所示。在这里一定要保证Allow other Mercury products to run tests and components选项处于选中的状态,如果没有选中,则将其选中并保存设置。


     

    3.添加语句  

    可以使用Services对象及其相关方法来插入与性能测试相关的语句,主要包括:

    AbortGetEnvironmentAttributeLogMessageSetTransactionStatus,ThinkTime,UserDataPointStartTransaction

    及EndTransaction。  

    4.为LoadRunner设计测试  

    在设计要用于LoadRunner的测试时,需要考虑以下设计准则:  

    LoadRunner中使用的QuickTest测试应该简单,并专门针对特定的操作。  

    LoadRunner无法运行嵌入式操作迭代。  

    请勿引用外部操作或其他外部资源,如外部数据表文件、环境变量文件和共享对象库等。 

     WinRunner创建GUI Vuser脚本

    WinRunner是一个基于Windows平台,用于创建、编辑和调试GUIVuser脚本的完整开发环境。通过WinRunner可记录真实用户在应用程序中的操作。  

    WinRunner的GUIVuser脚本是使用TSL(MercuryInteractive的测试脚本语言)编写的。TSL是一种与C类似的高级编程语言。它结合了传统编程语言的功能和灵活性以及专为测试设计的功能。但是WinRunner中创建的Vuser脚本是不能在UNIX计算机上运行的。  

    同样,使用WinRunner创建GUIVuser脚本时,要注意以下几个方面:  

    1.插入事务和集合点  

    插入事务和QuickTest一样,直接使用事务函数插入开始事务与结束事务,集合点方面将Rendezvous语句插入到Vuser脚本中即可。 

    2.向Controller发送消息  

    运行场景时,Controller的“输出”窗口显示有关脚本执行情况的重要信息。除了WinRunner自动发送的消息外,还可以在每个脚本中插入向Controller发送错误消息和通知消息的语句。  

    error_message函数用于向Controller的“输出”窗口或Console发送错误消息。此函数的语法为:  

    error_message(message);  

    其中message为文本字符串。  

    output_message函数用于发送不是错误消息的特殊通知。此函数的语法为:  

    output_message(message);  

    其中message为文本字符串。  

    在执行场景或会话步骤间,可以识别以下对象:  

    某特定时刻在场景中执行任务的Vuser。  

    执行脚本的负载发生器。  

    运行Controller的计算机。  

    而有关Vuser和负载发生器的信息可以通过以下函数来获取:  

    lr_whoami:返回Vuser名称及其所属的Vuser组。  

    get_host_name:返回执行脚本的计算机名称。  

    get_master_host_name:返回运行Controller或Console的计算机名称。  

    场景中使用GUIVuser脚本  

    在QuickTest或WinRunner中创建GUIVuser脚本后,便可以将该脚本集成到LoadRunner场景中。在将GUIVuser脚本添加到LoadRunner场景前,要注意以下几个问题:  

    1.每台计算机上每次只能运行一个GUIVuser。  

    2.请确保在运行场景前关闭QuickTest或WinRunner。  

    3.在Run-timeSettingsforscript设置对话框中,只有General类中的RunLogic和ThinkTime与QuickTest和WinRunner测试有关,如图所示。  

    接下来就是要将GUIVuser添加到LoadRunner场景中,在控制器界面,选择File→Open,在弹出的对话框中选择要添加的GUIVuser脚本。也可以选择File→New,在弹出的NewScenario对话框中点击按钮,弹出OpenTest对话框,选择要添加的GUIVuser脚本。这里有一个“文件类型”框,如图所示。对于WinRunner来说,选择“GUIScripts”文件类型。对于QuickTest来说,选择“AstraTests”文件类型。确定文件类型后,选择合适的脚本并进行添加即可。


     

     

    总结

    介绍场景设计的相关内容,介绍了集合点的使用和集合点与事务的关系;IP欺骗技术在实际测试过程中的使用,特别是跨局域网的IP欺骗技术;负载均衡技术,确保测试机不出现瓶颈的情况;RTS设置技术主要需要注意每个场景都必须设置其相应的RTS设置项,不能使用缺省设置;最后介绍了路径转换技术和功能测试脚本在性能测试中的使用。

    如果您看了本篇博客,觉得对您有所收获,请点击右下角的[推荐]. 如果您想转载本博客,请注明出处, 如果您对本文有意见或者建议,欢迎留言. 感谢您的阅读,请关注我的后续博客!
  • 相关阅读:
    科技小论文
    一线架构—细化架构
    python20.04.10
    软件架构总结
    信息领域热词分析
    架构即未来阅读笔记二
    构架即未来阅读笔记一
    科技小论文之软件质量
    Pre-architecture的需求
    软件质量
  • 原文地址:https://www.cnblogs.com/chuansinfo/p/13839055.html
Copyright © 2011-2022 走看看