Rational Performance Tester 数据关联规则详解

发表于:2011-12-09来源:未知作者:娃娃点击数: 标签:
简介: 利用 Rational Performance Tester(RPT)进行性能测试的过程中,数据关联往往是测试脚本编辑和调试过程中最繁琐的工作,直接影响测试脚本调试的效率。基于使用中的最佳实践,RPT 提供了一套自动数据关联规则,能够满足大部分测试脚本的需求。在被测系统

  内容

  1. 概述

  2. 设置 RPT 的自动数据关联

  3. HTTP 协议的 RPT 自动数据关联

  4. 基于 Jazz 产品的数据关联算法

  5. 数据关联规则扩展

  总结

  参考资料

  简介: 利用 Rational Performance Tester(RPT)进行性能测试的过程中,数据关联往往是测试脚本编辑和调试过程中最繁琐的工作,直接影响测试脚本调试的效率。基于使用中的最佳实践,RPT 提供了一套自动数据关联规则,能够满足大部分测试脚本的需求。在被测系统非常复杂的情况下,RPT 还提供了扩展数据关联规则的功能,可以最大限度的满足用户需求。本文详细描述了 RPT8.1 提供的自动数据关联规则及扩展数据关联规则的方法,旨在帮助读者了解 RPT 所能提供的数据关联,并根据业务需求扩展规则,提高测试脚本开发的效率。

  1. 概述

免费下载:IBM® Rational® Performance Tester 试用版  |   IBM® Rational® 测试人员资源工具包
获取免费的 Rational 软件工具包系列,下载更多的 Rational 软件试用版。

  Rational Performance Tester(以下简称为 RPT)是由 IBM Rational 团队开发性能测试产品。其内在支持的 HTTP 协议使得其广泛应用于 Web 应用程序,用于验证系统的性能,识别和解决各种性能问题。RPT 的测试分为五个阶段:测试脚本生成、脚本编辑、负载设计、测试执行和结果分析。

  在 RPT 针对 web 应用录制生成的测试脚本中,某个 HTTP 请求中的数据常常依赖于前面请求的响应内容中的数据,如被测系统为每个新创建的资源(resource)分配一个 ID 并返回,以后对该资源的操作需要使用该唯一值来进行标识。为了保证测试在多用户和不同数据输入的情况下正常运行,该请求中的数据需要被替换为其所依赖的响应数据,我们称该响应数据为引用,这种脚本内部的链接称为数据关联。

  数据关联往往是测试脚本编辑和调试阶段最繁琐的工作,直接影响测试脚本调试的效率。鉴于数据关联的复杂性,RPT 根据内嵌的算法提供了一套自动数据关联规则,在测试脚本生成阶段,当自动数据关联算法检测到一个请求值需要被前面的响应数据替换,会自动将该响应数据设置为引用,并将随后的请求值自动与该引用关联起来。该自动关联规则基于使用中的最佳实践,能够满足大部分测试脚本的需求。在被测系统非常复杂的情况下,RPT 还提供了扩展数据关联规则的功能,可以最大限度的满足用户需求。

  本文详细描述了 RPT8.1 提供的根据算法生成的自动数据关联规则,并给出了 RPT 扩展数据关联规则的方法,旨在帮助读者了解 RPT 所能提供的数据关联,根据业务需求扩展规则,提高测试脚本开发的效率。

  2. 设置 RPT 的自动数据关联

  通过选择窗口→首选项→测试生成→HTTP 测试生成的数据关联和协议选项卡,可以修改或关闭 RPT 的自动数据关联功能,如图 1 为 HTTP 测试生成中数据关联的通用设置,图 2 为基于 HTTP 协议的具体应用的支持,其中包括对 IBM Rational 下一代协作软件交付平台—Jazz 的支持。本文中的自动数据关联规则基于如图的默认设置。

  图 1. HTTP 测试生成的数据关联配置 1

图 1. HTTP 测试生成的数据关联配置 1

  图 2. HTTP 测试生成的数据关联配置 2

图 2. HTTP 测试生成的数据关联配置 2

  3. HTTP 协议的 RPT 自动数据关联

  3.1 主机和端口

  基于 Web 的应用程序可能在一个测试,甚至在一个页面中会发起多个连接连接不同的服务器。如图 3,在“测试内容”中,每个连接由相关联的请求下面的一个图标表示。选择连接,就可以看到具体连接信息和测试中使用这个连接的所有请求。由于最初录制的性能测试以后有可能需要在不同的系统环境中执行,可能有不同的主机或不同的端口,所以 RPT 提供了主机和端口的自动关联,图中该连接的主机自动关联到变量 192.168.0.27_Host,端口自动关联到变量 192.168.0.27_Port。

  图 3. 主机和端口的自动数据关联

图 3. 主机和端口的自动数据关联

  3.2 Cookie

  Cookie 由服务器生成,通常用来存储一些动态数据,如会话 ID、认证 token,从而辨别用户身份,进行会话跟踪等。用 Cookie 的形式提交动态数据的好处是其值往往来自 Cookie 自身。如果服务器选择使用 Cookie,会使用 Set-Cookie 语句在 HTTP 响应头中指定这些数据和值。当客户应用程序发出后续请求时,会将这些 Cookie 包含在 HTTP 请求头中发出。RPT 能够自动实现 cookie 的数据关联,在脚本回放时自动将请求中的 cookie 值替换为服务器实际返回的值。

  3.3 URL

  URL 的一般语法格式为 :

http[s]://hostname[:port]/path/[;parameters][?query]#fragment

  query 字段通常是由 & 符号连接的若干个“name = value”组成,RPT 首先从中分析出所有的 name 字段,将其放入特定列表,当生成测试脚本时,会搜索最近出现的响应头或相应内容中的 name=value,将 value 作为引用,自动与该 URL 中的 value 关联,如图 4 示例。

  图 4. URL 自动数据关联

图 4. URL 自动数据关联

原文转自:http://www.ltesting.net