个人专长: 胡扯,瞎掰,软件测试稍微靠谱 (空间无原创东西,全部来源网络,如有侵权请联系本人)

IBM Rational Performance Tester V7.0 入门介绍

上一篇 / 下一篇  2008-05-15 09:59:06 / 个人分类:性能测试

这篇文章介绍了IBM Rational Performance Tester V7 的一些新特性。为了展示新特性,我们将会记录并执行一个简单的测试来展示这些特性。

测试 Web 应用程序

如果您对 IBM® Rational® Performance Tester 非常了解,那么您可以跳过此部分,如果您对它不了解,那么下面是一些介绍。Rational Performance Tester 是一个为测试 Web 应用程序设计的软件,它的功能是在部署之前捕获并更正性能问题。Rational Performance Tester 通过模拟并发用户的数量,产生一系列报告,这些报告被清晰的标志出来显示 Web 页面的性能、URL 和事务等信息,来帮助您在部署之前查明系统的瓶颈。

高级的特性包括在每一个用户组的行为和使用方式层面的详细测试调度安排。Rational Performance Tester 同时还提供了一种自动化的"数据池"特性,它可以改变每一个模拟用户使用的测试数据设置。使用一个集成了测试编辑器的浏览器窗口,您可以回顾在测试记录期间访问过的 Web 页面。除此之外,高级测试人员可以选择将自定义的 Java 代码插入到性能测试中,用来执行类似于高级数据分析和请求解析的操作。

这篇文章将会介绍一些 Rational Performance Tester V7.0 的特性。为了展示新特性,我们将会记录并执行一个简单的测试。

编者的注释:
这篇文章是建立在 Microsoft® Windows® XP Pro SP2 操作系统下使用 IBM Rational Performance Tester V7.0.0,以及 BookPool.com Web 站点 2006年11月11日的信息为基础。请注意在您阅读这篇文章时,BookPool.com Web 站点的信息可能会有所不同,因为这个站点随时会更新。除此之外,这是一个为测试数据只能从系统读出的 Web 应用程序,建立的一个适用于没有变更的脚本的一项基础排查工作。测试包含数据输入所需要的额外步骤,例如数据池,这篇文章并没有讨论它。

核心特性

下面是 IBM Rational Performance Tester V7.0 中一些可用的特性概括介绍。它拥有很多的特性,我们将会详细的讨论其中的一些,剩余的将会概括性的介绍。这些特性在 Rational Performance Tester Help 中有概括性介绍。

Citrix 和 SAP 协议测试

Citrix Presentation Server 扩展允许您装载运行在 Citrix Metaframe Presentation Servers 上的测试窗口应用程序。您可以使用带有可选图形识别技术的窗口创建和改变事件来完成这个工作,从而同步用户输入数据和服务器输出数据。当您使用 Citrix 应用程序记录一个会话前,这个应用程序的行为必须是完全可复制的。应用程序必须经常在相同目录下以相同的顺序建立窗口和 GUI 元素。鼠标或者键盘事件必须显示相同的输出结果。

由于 Citrix 性能测试和 Citrix Presentation Server 客户端在一个非常低的层级(鼠标移动和点击)上进行交互,所以在记录后(例如移动测试元素,添加循环或者条件,或者插入新的序列)您对测试做的任何更改,都可以改变用户行为仿真的环境以及引起同步超时。当您编辑测试时,需要特别注意用户行为的环境。

除了 Citrix 之外,还有一些对 SAP 测试的支持。您可以在一个测试中使用类似于循环,条件和事务等的测试元素。您还可以在一个测试套件的选择点中插入一项记录。SAP 的确认点被增强为可以捕获任何 SAP GUI 的属性,并可以随意的针对一个预期数值做检查。此外,您还可以从一个 Web 接口(通过生成 SAP Web 构建)记录和回放 SAP 应用程序。

问题分析工具

问题分析工具做以下三件事情。他们是:

  • 收集响应时间分解数据
  • 收集资源监控器数据
  • 为分析收集的数据提供视图和工具,以便找出引起性能问题的原因。

您可以通过使用数据收集代理完成这个工作,这些代理存在于来自产品或者开发环境的用于捕获跟踪、监视或者日志数据的数据收集框架中。您还可以使用基于 Eclipse 的工具进行检视和代码及运行数据的分析,以及关联数据。

性能和问题分析工具可以帮助您找到并修复代码问题,这些问题可能引起分布式性能问题。它包含一些您熟悉的类似于 IBM® Performance Optimization Toolkit 等的工具,它们被封装在 Rational Performance Tester 中。下面描述的一些特性(例如,资源监控和响应时间分解)在这些工具中有详细的介绍。

资源监控

资源监控数据由一序列在特定间隔期间的观察组成。您可以实时收集数据,或者您可以从 IBM® Tivoli Enterprise™ Monitoring Server 找回这些数据。除了响应时间分解数据之外,资源监控数据为您提供了一种更加完善的系统视图,它可以帮助您确定问题。下面是一些数据范例,您可以收集并分析它们:

  • CPU 使用状况(总体,对于单个处理器,甚至是单个进程)
  • 可用内存
  • 硬盘使用状况
  • TCP/IP 以及网络吞吐量

这个特性提供了一种更加完善的系统视图,它可以帮助您隔离问题。您可以在测试(或者代理)时使用 IBM® Tivoli® Monitoring、Windows Performance Monitor 或者 UNIX® rstatd 监视器监控系统。您既可以使用 Eclipse Test & Performance Tools Platform (TPTP)阅读器,又可以使用 Rational Performance Tester performance 报告来观察资源监控器数据。

响应时间分解

响应时间分解为您显示了系统的每一个部分在测试期间的时间所占用系统运行总时间的比重。响应时间分解视图和一个测试或者时间表的页面元素(URL)相关。这样您可以在任意 HTTP 页面元素的响应时间统计表中,察看在测试下系统每一个部分所花费的时间。您可以使用响应时间分解来做下列事情:

  • 识别代码问题
  • 察看哪一个服务器上的哪一个应用程序是整个系统的瓶颈
  • 进一步决定哪一个包、类或者方法引起了这个问题

为了捕获响应时间分解数据,您必须在一个测试或者调度中启动它,然后配置将要捕获的数据的信息。数据收集框架(当您安装 Rational Performance Tester 工具时您应该会看到)收集响应时间分解数据。应用程序运行时的每一个您想要收集数据的主机,必须拥有数据收集框架并且将其运行)。除此之外,您还必须配置(或者工具)每一个应用程序服务器以便使用数据收集框架。

注释:启动响应时间分解收集功能,让整个性能日指标可以请求所需的内存数量,因此我们可以设定在何时何地启动它。





回页首


期待已久的特性

下面介绍的两个特性是我从 Rational Performance Tester 发布以来一直期待的特性。缺少 IP 混淆和对客户端数字证书的支持,限制了我使 用Rational Performance Tester 为一些类型应用程序类型进行性能测试。现在这两个特性已经包含在其中了。

IP 混淆

Rational Performance Tester 现在拥有了 IP 混淆,一项我急需的特性。默认情况下,当您运行一个调度时,每一个虚拟用户都会拥有相同的 IP 地址。但是这在真实的生活中是不存在的。对于特定类型的应用程序来说,它可以影响负载如何分布,甚至影响应用程序的详细功能。拥有了这个特性后,您可以让每一个虚拟用户感受到好像只有他一人在使用主机。

要实现这个功能,您需要在主机上配置 IP 混淆,然后在调度中启动 IP 混淆功能。当您运行调度时,多个主机的网络流量会被显示。IP 混淆使您可以配置一个代理,在 HTTP 测试运行期间就好像负载是来自不同的 IP 地址。

数字证书

数字证书是一个文件,它绑定了一个带识别码的公用密钥(一个用户或者一个组织)。可信的证书权威机构发布数字证书,它们被用来鉴别用户和组织访问 Web 站点,e-mail 服务器和其他安全系统的权限。一个证书存储是一个存档文件,它包含绝大部分数字证书,或者是由不同证书权威机构发布的证书。

使用Rational Performance Tester V7.0,您可以做:

  • 建立数字证书
  • 通过数据池访问它们
  • 将这些数据池与测试相关联

它可以通过使用代理KeyTool命令行程序来建立数字证书存储及实现。数字证书让您针对服务器使用基于 SSL 的 HTTP 记录和运行测试,对于应用程序来说,它需要客户端的数字证书来验证用户身份。





回页首


其它特性

最后,在 V7.0 中还有一些其它新特性:

  • 当您使用 Firefox 或者 Mozilla 浏览器记录 HTTP 应用程序时,您不再需要配置它们。
  • 目录认证点支持预期和未预期的结果。
  • 在 Help 文档中包含了如何在测试中替换主机名称。
  • 测试执行服务文档包含更多的范例。
  • Performance Testing SDK(软件开发工具包)在安装过程中可以作为可选安装项目。




回页首


建立一个性能测试脚本

让我们察看一个性能测试的简单的范例。您将会针对 BookPool.com 运行一个小型的负载程序(这个负载非常的小)。随着对范例的学习,您将会对新特性的细节有所了解。其余的特性将会一带而过。

按照下列步骤建立这个测试脚本。

  1. 打开 Create New Test From Recording 向导。

  2. 选择HTTP Recording,如图1所示,点击Next按钮。

    图1:Create New Test From Recording 向导
  3. 为脚本输入一个名称,如图2所示。这个测试执行了一个简单的查询操作,并在购物车中添加一本书籍,在这个范例中(bookpool)反映了它的基本流程。

    图2:为测试输入一个名称
  4. 点击Finish按钮。

    打开 Recorder,如图3所示。这个过程可能要花费几分钟时间。

    图3:打开 Recorder

  5. 如果您转回到 Rational Performance Tester,如图4所示,您可以看到 Recorder Control 正将您在记录期间执行的行为记录入日志。

    图4:Rational Performance Tester Recorder Control

  6. Recorder 运行之后,Rational Performance Tester 会打开浏览器到 ReadMe 页面,如图5所示。这个页面概要了一些性能测试的公共实践。(注释:这取决于您的浏览器默认主页的设置。)

    图5:Firefox 中的 Rational Performance Tester ReadMe 页面

  7. 这是您的测试的正式运行面板。在 Address 栏,输入 URL www.BookPool.com 然后开始记录测试。

  8. 在搜索对话框中,输入Software Testing然后点击Search按钮,如图6所示。

    图6:搜索对话框
  9. 当结果页面被装载后,点击Add to Basket按钮来还第一本书。当我建立这个测试时,第一本书的书名为How to Break Software: Functional and Security Testing of Web Applications and Web Services(顺便说一下,这是一本极好的书!)。如图7所示:

    图7:还第一本书的范例
  10. 在 Shopping Cart 页面加载之后,请关闭浏览器。关闭浏览器意味着 Rational Performance Tester 将停止记录。Rational Performance Tester 将会产生您的脚本,然后再测试编辑器中打开它,如图8所示:

    图8:Performance Test:测试编辑器
  11. 测试编辑器列出了测试的 HTTP 页面的标题。当您展开它们时,您会在每一个页面中看到请求和响应数据。您可以使用编辑器来检查或者定制一个测试,这个测试会根据一个已记录的会话自动的产生,当然如果您愿意也可以先为其编制一段测试代码。

    注意在 V7.0 中的Common OptionsHTTP Options都被标志在了 Test Element Details 区域,但是它们经常在同一场景下使用。您同时还会在视图的顶部看到Enable response time breakdown的检查框。

  12. 如果您点击Common Options标签,如图9所示,您会看到在哪里为您的测试指定数字证书。

    图9:Common Options 标签上的 Digital Certificates
  13. 在这篇文章中不涉及任何数字证书的设置,但是您可以察看响应时间分解。

  14. 为了查看它们之间的不同,请不要选择AddToCart元素上的Enable response time breakdown选项。您需要在 Shopping Basket 页面启动这个选项,如图10所示。

    图10:为 Shopping Basket 选择 Enable response time breakdown 选项
    现在您已经为建立一个调度做好了准备,下面您可以运行您的测试程序了。
  15. ----------------------------------------

    建立一个调度

    调度允许您在远程聚合测试,排序测试和运行测试。一个调度可以简单到就像一个用户在运行一个测试,或者复杂到不同组的成百个用户,每一个人在不同的时间运行一个不同的测试。根据您所了解的内容,我们可以定制一个调度:

    • 聚合测试来模拟不同用户的行为
    • 设置测试运行的顺序:顺序地、随机地或者加权顺序
    • 每次测试运行时设置时间
    • 以确定的速率运行测试
    • 在远程终端运行一个测试,或者一组测试

    在您建立了一个描述系统行为的调度后,您既可以使用正在测试的应用程序的连续构建,或者使用一个不断增加数量的虚拟用户来运行这个调度。


     


TAG: 性能测试

 

评分:0

我来说两句

日历

« 2024-04-17  
 123456
78910111213
14151617181920
21222324252627
282930    

数据统计

  • 访问量: 52111
  • 日志数: 84
  • 文件数: 3
  • 建立时间: 2008-04-02
  • 更新时间: 2009-03-23

RSS订阅

Open Toolbar