收藏本站 收藏本站
积木网首页 - 软件测试 - 常用手册 - 站长工具 - 技术社区
软件测试 > Rational > 正文

首页 | 领域细分: 游戏测试 安全测试 手机测试 Web测试 | 技术研究: 单元测试 入门教程 用例设计 性能测试 功能测试 | 测试职场: 面试精选 职场发展 面试试题

测试管理: 配置及流程 - 需求管理 - 质量验收 - 缺陷管理 - 其它管理相关 | 开发语言: PHP技巧 - PHP基础 - PHP实例 - PHP错误代码

测试工具: LoadRunner JiRa QuickTestPro RoBot WinRunner TestDirector 其它测试工具 | 数据库: Mysql数据库 Oracle数据库 CSS/DIV基础 HTML基础

(一)使用 IBM Rational Performance Tester 进行 Web 应用程序的负载测试

来源:互联网 日期:2012-10-01 07:30

  紧张的进度加上有限的资源,看起来会在不同阶段困扰着开发工作。有一些团队选择在每一次迭代时进行负载测试。大多数情况下,负载测试仅仅在开发周期的末期即项目被首次展示之前被执行。这就不可避免的会威胁到应用程序的质量及其满足客户的 SLA (服务级别协定)的能力。IBM® Rational® Performance Tester Version 7 使您能够迅速的进行负载测试,从而确保软件的性能和质量。
目标读者群

  本文适用于以下任何一类人群:

决定采用何种工具的项目管理者
项目领导者
项目经理助理
功能性测试人员
手动功能性测试人员
自动功能性测试人员
性能测试人员,他们是了解和使用这一工具的关键角色
应用程序开发人员
质量担保人员或者承包商
  IBM® Rational® Performance Tester 是一款性能测试工具,它仿真各种各样的用户负载来模拟真实生活中的负载。通过适当的计划,这一工具利用当前的负载来估计未来的负载。例如,一个客户的应用程序可能最多只能够服务5000位用户。通过 Rational Performance Tester,您能够轻易的估计出用户负载分别为1000、2000、3000、4000、5000以及更多的情况,以便您能够设计正确的用户增长,并且能够更加精确的设计服务的规格,例如最佳的 CPU 和内存需求。您能够识别并且诊断出性能的瓶颈,无论这种问题是发生在网络、数据库、应用服务器、甚至是用户应用程序之中。这一基础导致分析能力进一步分析应用程序的等级,它可能包括诸如 Enterprise Java™Beans (EJBs)、servlets、Java™ Database Connector (JDBC) API、网络服务器等等页组件。这一功能性使您能够通过分析在线的或者解压的报告轻易地和有效地查明性能问题。

  Rational Performance Tester 也有助您在配置您的基于网络的应用程序之前创建、运行和分析性能测试,并且验证其可量测性和可靠性。默认支持的协议包括 HTTP 和 HTTPS,允许您在Web 应用程序上运行负载测试。若干扩展也被提供如下:

IBM® Rational® Performance Tester Extension for Citrix Presentation Server
IBM® Rational® Performance Tester Extension for SOA Quality
IBM® Rational® Performance Tester Extension for Siebel Test Automation
IBM® Rational® Performance Tester Extension for SAP Solutions
  Rational Performance Tester 同使用一个可携式摄像机录制录制一段视频剪辑拥有相似的工作方式。它允许您录制您想要运行负载测试的每一步操作,然后通过适当的用户负载重放这些操作。本系列文章的第 1 部分(即本文)介绍了 Version 7 中所包括的特性和功能。

  在一个典型的场景中,为了测试一个 Web 应用程序,您就要通过定义良好的测试计划来识别各种各样的场景。在一个负载测试期间,一位导致多个测试服务器负载崩溃的用户往往是我们所想要的。通过在多个机器之间适当的分摊用户负载,能够确保生成有意义的报告。这是一种在某些避免测试器负担过重的同时,另一些测试器却没有被充分利用的好方法。本系列文章的第 2 部分和第 3 部分将讨论在不影响您先前所录制的测试脚本的情况下,有效地降低用户负载所需要考虑的事项。它将探索一个视觉指导的、基于目录的(基于树形结构的)编辑器和步骤来创建、编辑、确定评价时间、并且获得分析报告。

  本系列文章的第 4 部分全部是关于报告的。我们将解释如何检查、诊断、分析和解释 Rational Performance Tester 所提供的各种各样的分析报告。例如,一个Web 应用程序可以被分解为不同的组件,诸如 EJBs、servlets、JDBC 以及用于分析的 Web 服务器。我们还将探索默认的报告,并且描述如何定制它们。

  本系列文章的目的是帮助您理解特性、拓扑事项、以及约束条件,以便您能够创建和测试 Web 应用程序,并且分析其性能报告。根据这一知识以及 Rational Performance Tester 的使用的便捷性,负载测试一个Web 应用程序不再是一项繁重的重担,您能够将其包含在软件的每一次迭代中。

本文概述

  IBM Rational Performance Tester 为您提供了特性丰富的功能,它能够有效并且容易的加载测试。您不再需要在维护复杂的测试脚本上面浪费时间,而是能够在大多数情况下使用半自动的测试工具来帮助您完成相应的操作。您也不再需要编写测试脚本,因为管理员任务是基于一个 Eclipse 3.2 框架结构中的交互式的图形用户接口(GUI)的。换句话说,您能够通过使用 GUI 完全掌控测试周期,您还可以使用定制代码进行高级的测试。这种 GUI 的方法主要包括以下种类:

交互式的绘图测试
测试的创建、精炼、重放和时序安排
数据池和相互关系
工作量的分解和分配
实时系统监测控制
实时系统报告分析
版本控制
定制代码和扩展测试
缩放比例和维护
本文将对以上每一个种类进行探索:

交互式的绘图测试

首要的问题是,IBM Rational Performance Tester 是建立在一个可扩展的开发平台之上的,使用的是 Eclipse 框架结构 Version 3.2。从开发的角度来看,Eclipse 框架结构的优势十分明显,但是从实践者的角度来看,IBM Rational Performance Tester 提供了全面而广泛的、上下文相关的 GUI 透视图来创建、管理和规划测试脚本。从测试的创建、用户负载的分发、到数据的收集,您都能够得到相应的视图。图1中显示了默认的测试透视图。


图 1. 基于 Eclipse 的 GUI 测试



依据您所使用的透视图,相应的视图可能会有所变化。例如,默认的测试透视图提供一个四个面板的控制台及其相应的视图,包括:位于左下方面板的 General > Outline, General > Properties, Test > Performance Test Runs 和位于底部面板的 General > Tasks, Test > Recorder Control, Test > Protocol Data。然而,您不仅局限于这些默认的视图。在任何时间,您都能够将与特定任务相关的视图包括进来,例如 Database Explorer 或者 Error Log 视图。向您的工作空间中添加一个特定的视图是非常直截了当的。例如,使用 Database Explorer 探索数据库的连通性,只需遵照如下步骤:

选择 Windows > Show View > Other。更加通用的视图,例如 Error Log、Outline 和 Tasks 被列在下拉列表中,如图2中所示。默认的测试透视图设定了一组预先配置好的视图。您能够通过定制操作添加或者删减这些视图。
图 2.显示视图



使用 Type-Forward Filtering 特性(如图3中所示)搜索您想要的视图,您无须完整匹配整个字符串。在这种情况下,后缀为 data 的 Database Explorer 视图。
图 3. 类型前导过滤器



透视图具有针对不同任务所提供的相应的视图,范围包括 General、Analysis、Connectivity、CBS、Debug、Profiling、Logging 和 SQL Development。我们需要做的是在正确的时刻选择正确的透视图。您能够拖动视图到面板中的任意位置,重新排列它们,或者当您需要返回原始布局时将它们归还到默认的透视图中。然而,透视图的重新安排是配置到当前打开的透视图的。例如,当其被选中时,数据库探索视图将如图4中所示:


图 4. 数据库探索视图



其他值得注意的方面包括:

您能够使用下拉菜单搜索视图。从菜单中选择 Windows > Navigate > Next View。 您能够通过按下“up”和“down”箭头在工作空间中当前处于打开状态的任意视图中进行定位。同样的操作也适用于定位透视图。 同样,您也能够使用快捷键来定位视图,例如 CTRL-F7 (向后定位)或者 CTRL-SHIFT-F7 (向前定位)。您能够从 Menu > Windows > Preferences > Keys 中定制快捷键。General > Keys 下面的设置将被应用到所有的透视图中。
图 5. 导航透视图



透视图能够根据您的需要被定制和保存,如图6中所示。三种定制方式分别为:可用的命令组、菜单中的详细内容、工具条中的详细内容。 图 6. 定制透视图



还将提供一个Web 服务浏览器。
图 7. Web 服务浏览器



实时的捕获、精炼、重放和时序安排

捕获、精炼、重放和时序安排一个测试的操作十分简单,这是因为 Rational Performance Tester 就是为了初学者能够方便使用而设计的。根本机制,诸如自动捕获和重放,对于用户来说都是不可见的。这使得测试的创建和维护变得十分简单。要录制一个测试,需要执行以下步骤:

首先,创建一个测试项目。从菜单中选择 File > New > Performance Test Project。根据提示输入项目的名称。
图 8. 创建一个测试项目



选择一个录制。对于 Web 应用程序,选择 HTTP recording。点击 Next。 在下一个页面,为您所选择的测试项目命名。
图 9. 选择协议



您能够为测试下的应用程序捕获任何一个 Web URL,如图10中所示。如果您对录制满意的话,点击 Exit Recorder。现在,您就能够精炼您的测试脚本(通过点击)并且以任何方式重放它了。
图 10. 录制


在您录制测试脚本之后,通常还需要精炼测试调度。例如,您能够按照以下方式定制您的脚本:

添加每一个虚拟用户之间的延迟时间(单位是微秒)、用户“思考时间”和统计级别的设置。 定义您自己的数据池(下一主题中将会对此进行讨论)。 使数据相互关联(确保有意义的数据在页面到页面之间平稳的流动)。 添加验证点(检查测试下每一个页面的通过率)。 添加特定协议元素、事务、循环、注释、条件处理和定制代码。

IBM Rational Performance Tester 使您能够为运行测试脚本创建任意数量的测试项目、录制和时序安排。进一步的解释将在本系列本章的第 2 部分中加以介绍,您将使用 IBM Rational Performance Tester 实现一个完整的负载测试周期。

数据池

IBM Rational Performance Tester 能够为动态加载测试数据提供变量数据,或者直接从 CSV 文件中提供,或者从定制代码中提供。数据池是一种仿真实际生活场景的方式。例如,想象一下您希望测试 ACME Online 应用程序,即一个在线购物系统。在登录之后,用户将使用特定的关键字进行搜索、浏览目录、选购商品、输入细节、添加评论、或者在以一种指定的付费方式结算之前评价他们以前的购物经验。传统上说,测试数据要求富有技巧的人员提供定制代码。拥有数据池的话,您就能够使用您定制的测试数据评价每一个要求输入的页面。在这个 ACME Online 场景中,数据池能够被创建用于用户登录、搜索关键字、等等。这一特性使您能够建造精力充沛和灵活的测试实例。

图11显示了在数据池编辑器中一个被导入的数据池的例子。


图 11. 数据池



您能够在被导入的数据池中执行以下操作:

添加一个录制 删除一个录制 添加一个变量 编辑一个变量 删除一个变量

一个典型的测试实例由多个页面组成,根据页面的自然属性,需要不同的变量。这一用户输入被封装在 HTML 格式中。您能够通过命名创建同每一个页面相对应的数据池。例如,为了有效的测试一个端对端的Web 应用程序,数据池可能包括诸如 UserLogin、SearchString、ItemName、PaymentMethod 等等的池。创建数据池并且将其同一个页面相关联只需进行如下操作:

右键单击 Datapools 文件夹(将所有 Datapools 放到一个文件夹中是一个很好的习惯)或者 Test Navigator 中的任何位置,如图12中所示。
图 12. 添加一个数据池,步骤一



接下来,指定新数据库所在的文件夹。在这个例子中,是在 Yahoo Entertainment > Datapools 文件夹下。在点击 Next 赋予其一个名称,如图13中所示。
图 13. 添加一个数据池,步骤二



您能够创建任意行和列的数据池。提供一个描述是可选项,如图14中所示。
图 14. 添加一个数据池,步骤三


浏览想要得到的 CSV 文件(您需要事前创建它)。点击 Finish 完成添加数据池的操作。
图 15 添加一个数据池,步骤四



将页面同数据池关联起来

将页面同数据池相关联是一项简单明了的操作。从性能测试录制的测试数据小节中,选中替代为数据池的那一行,然后点击 Data Variable,如图16中所示。

提示:
包含查询字符串的 URLs 将被自动检测到,并且用深绿色被显示出来。


图 16. 将数据池同页面相关联,步骤一



点击 Add Datapool,在您想要添加的数据池上点击,然后点击 Select,如图17中所示。
图 17. 将数据池同页面相关联,步骤二



完成关联数据池和页面的操作,请您定位到该列并且点击 Use Column 按钮,如图18中所示。
图 18. 将数据池同页面相关联,步骤三



IBM Rational Performance Tester 的数据池特性使您能够替换不同的数据,基于不同的页面定位,从而避免了例如定制代码等更多的复杂性。您能够构造基于页面定位的不同联合的测试实例,并且将每一个要求用户输入的页面同一个或者多个数据池相关联。然而,对于使用大量测试数据构造起来的真正可升级的测试实例来说,替换数据池也许并不是最佳的解决方案。在那些情况下,您能够使用定制代码功能。例如,一个 Java? 开发人员能够将定制代码插入。

在运行中替换数据池的能力与关联不同数据的能力结合起来通过测试一个多用户的环境进行评价。相互关系(也被称为使用动态数据)是确保当前页面上的请求是基于前一个页面的引用(值)的一种方法。通常,当前页面上的数据请求是基于前一个页面中的响应数据的。Rational Performance Tester 认可并且自动将这些引用相关联,从而清楚地评价每一个用户的活动。这样的话,通过从所有测试页面中被请求的截然不同的数据,就能够将不同用户彼此区分开来。

本周排行

别人正在浏览

强悍的草根IT技术社区,这里应该有您想要的!
Copyright © 2010 Gimoo.Net. All Rights Rreserved  京ICP备05050695号