测试工具的选择——性能测试学习笔记之 LoadRunner实战(2)

发表于:2018-1-23 10:14

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:杨婷 编著    来源:51Testing软件测试网原创

  第3章 测试工具的选择
  3.3  性能测试VS自动化测试
  LoadRunner 12可以通过录制脚本的方式创建用户场景,模拟用户行为,Lucy联想到了自动化测试,感觉有很多相似之处,通过进一步的学习,发现两者之间存在一些差异。
  从广义上讲自动化测试包括白盒自动化测试、GUI自动化测试、性能自动化测试。
  白盒自动化测试的原理:按照程序内部的结构测试程序,对程序所有逻辑路径进行测试,通过在不同点检查程序的状态,确定实际的状态是否与预期的状态一致。
  GUI自动化测试的原理:通过模拟用户实际的鼠标或键盘操作,获取各类测试对象,实现自动化执行和操作的过程,并判断实际结果和预期结果的差异。
  性能测试自动化的原理:通过模拟客户端向服务器发起多个并发请求,验证服务器、网络设备、源代码等资源的性能是否符合要求。
  从狭义上讲,自动化测试和性能测试又相对独立,自动化测试主要技术是对象识别,常见的自动化测试工具包括Selenium、TestCafe、 HP Unified Functional Testing(UTF,又称为 QuickTest Professional(QTP))。
  而所有的性能测试工具不依赖控件和对象本身,而是采用协议的方式模拟用户行为并向服务器发起请求,可以毫不夸张地说,性能测试是基于协议的测试。
  举例:在51testing论坛模拟50个用户同时向服务器发起评论请求,性能测试只需要确定发送的请求内容,利用负载机制在1台设备上就可以完成50个用户的并发操作,而功能测试则需要50台客户端向服务器同时发起请求。 
  学习笔记
  自动化测试和性能测试本质上讲是包含关系(前者包含后者),但在日常工作中我们经常提到的自动化测试通常指的是GUI自动化测试,而性能测试会单独提出来讲。
  3.4  LR12新特性简介
  相比LoadRunner 11,LoadRunner 12增加了不少新特性,这里总结部分重要的新增功能,新增功能细则请参考HP官方用户指南《LoadRunner 12.0 User Guide》。
  ●增加了对云平台的支持,例如支持云上的 Load Generator,使用者可直接从 Controller 配置云 Load Generator。
  ●改进了代理服务器录制,可通过代理服务器从 Controller 连接 Load Generator、MI Listener 和 Monitor over Firewall。
  ●更好地支持 SSL?安全性,并增强了其可用性,可将 Load Generator 配置为使用 SSL 身份验证只接受来自信任的 Controller 的通信。
  ●移动应用程序测试增强,更好地支持了SAP Mobile Platform应用的脚本回放,增强了proxy录制模式。
  ●增强了对协议的支持。例如,支持HTML5 WebSocket;Silverlight支持最新版本和 IP 欺骗;支持最新的 Apache SDK;基于?Linux?的 Load Generator 上支持以下协议:FTP、IMAP、LDAP、POP3、SMTP 和Windows?套接字。
  ●新增支持的技术和平台。包括Windows Server 2012 支持;支持 Internet Explorer 11、Chrome 版本30和 Firefox 版本 23 的录制和回放。
  ●常规增强功能。简化了产品安装,安装时间更短;LoadRunner社区许可证包永久提供50个Vuser,它包括除 GUI (UFT)、COM/DCOM 和模板包中相关协议以外的所有协议。
  ●文档改进部分。在用户指南中添加了测试和脚本创建流程的工作流图;使用增加的任务和过程改进了 Flex、Web HTTP/HTML 和 TruClient 协议文档。
  第4章 LoadRunner基础介绍
  眼看离考核的时间只剩下2周半了,Lucy倍感压力,但她非常清楚前面的功课绝对不是白做的,多年的测试经验告诉她思想是工具应用的根本,如果在思想上没有理解透彻,后续的测试活动很难到达目标。下面就让我们跟随Lucy开启LoadRunner(以下HP LoadRunner简称LoadRunner)的学习之旅吧。
  本章主要包括以下内容:
  ●LoadRunner简介;
  ●LoadRunner工作原理;
  ●LoadRunner快速安装;
  ●本章小结。
  4.1  LoadRunner简介
  LoadRunner是前Mercury公司著名的性能测试产品,2006年被HP收购后成为HP的主要测试类产品之一。LoadRunner在国内有广泛的群众基础,是各大公司性能测试工具的首选,主要包括如下特点。
  (1)支持广泛的应用标准。如WEB、RTE、Tuxedo、SAP、Oracle、Sybase、Email、Winsock等,拥有近50种虚拟用户类型。
  (2)创建真实的系统负载。LoadRunner可以真正模拟用户行为,同时借助参数化功能实现并发用户的不同行为,所以LoadRunner向服务器发起的压力请求是完全真实的。
  (3)支持多种平台开发的脚本。LoadRunner几乎支持所有主流的开发平台,尤其是Java和.NET开发的程序,更支持基础的C语言程序,这一切的设计都为快速开发虚拟用户脚本提供了方便。
  (4)精确分析测试结果。自动产生压力测试结果,尤其是Web页面细分功能,可以详细了解每个元素的下载情况,进而找出问题,最后以HTML形式生成文档报告,保障了结果的真实性。
  (5)界面友好,易于使用。LoadRunner主要有三大图形界面,通过图形化的操作方式使用户在最短的时间内掌握LoadRunner。
  (6)无代理方式性能监控器。无需改动生产服务器,即可监控网络、操作系统数据库、应用服务器等性能指标。
  Lucy查阅了许多资料,对LoadRunner有了更全面的认知,从工作界面来讲LoadRunner主要包括三大组件。
  (1)VuGen脚本生成器
  用于创建 Vuser脚本,可以使用 VuGen通过录制用户执行的典型业务流程来开发 Vuser脚本。使用此脚本可以模拟实际情况。
  (2)Controller + Load Generator压力调度和监控器
  可以从单一控制点轻松、有效地控制所有 Vuser,发起并发压力,并在测试执行期间监控场景性能。
  (3)Analysis结果分析器
  在Controller内运行负载测试场景后可以使用Analysis。Analysis 图可以帮助您确定系统性能并提供有关事务及 Vuser 的信息。通过合并多个负载测试场景的结果或将多个图合并为一个图,可以比较多个图。
  LoadRunner在性能测试中的使用顺序大致如图4-1所示。
  图4-1  性能测试预览
  【特别说明】:VuGen只能虚拟一个用户,要想实现多用户并发行为,需要将Vuser脚本放入Controller中执行。
  学习笔记
  笔记一:LoadRunner最大的特点就是支持的协议众多,且界面易于理解和使用,但LoadRunner 12和11的界面偏差较大,如果用惯了11的朋友可能会不太习惯,需要适应全新界面展示效果。
  笔记二:LoadRunner 12相对于LR11,界面更加人性化,对Windows7及以上版本的支持更好,特别是在移动终端的支持上表现可圈可点,如果你是LR11的老手,公司有大量移动端的测试项目,不妨用12试试。
  4.2  LoadRunner工作原理
  LoadRunner通过模拟大量用户,向整个应用程序施压,从而找出并确定潜在的客户端、网络和服务器瓶颈。
  LoadRunner体系架构如图4-2所示,从图中我们可以窥探性能测试的内部运行情况。
  图4-2  LoadRunner体系架构
  1.分析交易和业务场景
  该步骤和工具没有直接关系,主要是测试过程分析的内容,详见2.6.1“性能测试规划”章节。
  2.编写和录制脚本模拟业务交易
  使用VuGen进行脚本录制,得到Vuser虚拟用户脚本,并对脚本进行修改和调整以达到后期的使用目的。脚本优化的主要技术手段包括参数化、事务、思考时间等,在后续章节会做详细介绍。
  3.调度测试并管理监控器
  将VuGen中的Vuser脚本放入Controller控制中心进行场景设置,场景可以依据需要设置成若干种形式,详见2.6.2“测试场景设计”章节。
  4.模拟多个虚拟用户
  设计好场景后Controller将调用配置好的Load Generator向服务器发起真正意义上的负载。Controller可同时控制多台Load Generator设备,这样可以避免设备硬件瓶颈而导致大量并发无法实现的情况。
  【特别说明】:Load Generator向服务器发起负载不依赖于用户界面,而是通过模拟协议向系统发起请求来实现的。
  5.监控器实时捕获的系统状态
  在发起负载前,Controller需要对被监控的设备进行设置,Load Generator向服务器发起压力时收集系统相关数据。例如,资源利用率、响应时间、吞吐量等。数据的监控与收集几乎针对系统中的所有设备,测试前必须充分了解被测对象软硬件架构。
  6.测试结果收集及存储、分析
  当Load Generator负载执行完毕,Analysis将从Controller中获取收集到的数据分类汇总展示成各类图表,后续的分析工作就是从这里开始的。
  【特别说明】:工具只负责告知测试数据的结果,分析工作是人的行为,千万不要妄想LoadRunner或任何一款性能测试工作结果告诉你系统瓶颈在哪里,应该如何调优。
  学习笔记
  学习工具要尽量尝试理解其工作的基本原理,这样才能事半功倍,工具的学习不是为了炫耀技能,而是辅助你完成测试任务的一种手段。

本书读者交流QQ群:425860640,欢迎加入~~
本文选自《性能测试学习笔记之 LoadRunner实战》第三章,本站经人民邮电出版社和作者的授权。
版权声明:51Testing软件测试网获人民邮电出版社和作者授权连载本书部分章节。
任何个人或单位未获得明确的书面许可,不得对本文内容复制、转载或进行镜像,否则将追究法律责任。

相关文章
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号