工具向导:记录性能测试会话
目的
本工具向导说明如何使用 Rational LoadTest 和 Rational Robot 记录性能测试。
相关的 Rational Unified Process 活动:
概述
您可以使用 LoadTest 来执行性能测试,它有助于您在工作量不断变化的情况下,确定多客户系统的工作情况是否在其用户定义的可接受标准之内。性能测试涉及到向服务器上加载大量的虚拟用户。例如,可在一个虚拟用户上设置一个计时器,以得到当 1000 个其他虚拟用户同时向同一服务器发送请求时,一次查询所用的时间。
性能测试包括下列测试类型: 负载测试 - 设计用于测试客户机或服务器在工作量不断变化的情况下的响应时间。也用于帮助测试员计算服务器在给定时间内可以处理的最大事务数。
强度测试 - 在极端条件下运行客户机应用程序,查看该应用程序或服务器是否“崩溃”。例如长时间连续运行一个客户机应用程序;执行大量事务;让数百个用户同时进行相同的操作。
争用测试 - 在一台或多台计算机上同时运行 GUI 和虚拟用户,模拟实际的用户环境。这一测试类型可以确定锁定、死锁条件和并行控制等问题。
配置测试 - 测试产品是否能在多种不同的平台上继续运行。通过在不同的计算机上运行相同的测试,您可以测试有关兼容性方面的问题,确定运行该应用程序所需最低和最优的软、硬件配置,并了解应用程序的每个部分在不同配置下的运行情况。
记录上述测试的虚拟用户脚本时,实际上是在记录一个会话。这一会话包括记录起止之间的所有客户机请求和服务器响应。它是使用 Rational Robot 记录的。记录完毕之后,Robot 将更据会话生成一个或多个脚本。
要记录性能测试会话,请执行以下步骤:
- 设置记录选项。
- 记录会话。
- 将会话分成多个脚本。
- 向脚本添加特性。
其他相关信息,另请参见下列工具向导:
在记录虚拟用户脚本之前,请确保记录选项是按预期记录会话方式来设置的。可以采用下列任一方式,复审和设置虚拟用户记录选项:
- 在记录之前,单击 Robot 中的 Tools -> Virtual User Record Options。
- 当开始记录时,单击 Record Virtual User 对话框中的 Options。
- 当记录完毕后,单击 Stop Recording 对话框中的 Options。此时只能设置影响脚本生成的选项。(在前两种情况下,可以在任意选项卡中设置所有选项。)
要获取有关这些选项的信息,请单击对话框中 Help 按钮。
Robot 为用于性能测试的虚拟用户脚本在记录操作上提供了很大的灵活性。您可以记录:
- 多个事务。例如,可在同一记录会话中,先后记录一个数据输入事务和一个查询事务。
- 对于同一或不同服务器执行的事务。例如,您可以记录对于一台 Web 服务器执行的一个事务,然后再记录对于另一台 Web 服务器执行的另一个事务。
- 同一会话中不同类型的请求。例如,您可以在一个会话中记录 Oracle、Microsoft SQL Server、HTTP 和 TUXEDO 请求。
有关记录虚拟用户脚本的过程,请参见文档 CD 的 Using Rational LoadTest 手册中的第四章。
一般来说,在一个会话中记录的每个脚本都包含一个由单一用户执行的动作构成的逻辑集合。例如,如果会话记录了一个对某台 Web 服务器执行的查询事务,并记录了一个对数据库服务器执行的订单输入事务,您可以将此会话拆分为两个不同的脚本,即每个事务使用一个脚本。
模拟工作量时,将一个会话拆分为多个脚本也是区别对待部分会话记录的捷径。
例如,假设登录到一个数据库服务器中,然后执行三个不同的事务。如果将会话拆分为登录和记录每一事务的单独脚本,即可设置工作量时间表来执行这些事务的多次迭代,但是只需运行一次登录脚本。
有关将会话拆分为多个脚本的过程,请参见文档 CD 的 Using Rational LoadTest 手册的第四章。
下列特性可以添加到虚拟用户脚本中:
注释 注释是在脚本中以特殊字符起止的一行文本,它们不会作为脚本的一部分执行。在脚本的编译期和回放期中将忽略注释。使用注释记录脚本,如果在以后需要编辑脚本,注释将有助于您找到进行编辑的途径。在记录和编辑过程中都可以添加注释。
块 块是多行连续代码的集合,块有助于您将其与脚本的其他部分区分开来。通常脚本内的一个事务可用一个块来确定。一个脚本最多可以有 50 个块。块可以嵌套,但是不能重叠。
之所以要使用块的可能原因如下:
- 将块和计时器名与执行事务的模拟命令相关联。
- 在 LoadTest 报告中包括块名,即可使用块名过滤报告。
- 使脚本更加简明易懂,并通过命令 ID 为块中的行提供其紧邻的上下文。
同步点 同步点可以使您协调大量用户的活动,它在某个特定点(同步点)暂停每个用户的执行活动,直到下列事件之一发生:
- 所有与该同步点关联关系的用户到达了该点。
- 所有用户到达该点之前已超时。超时时间是由您来指定的。
- 您在 LoadTest 中监测时间表的运行时,手工释放了一些用户。
当以上事件之一发生时,LoadTest 将释放用户,以便它们继续执行事务。
计时器 自动对单个模拟命令计时。默认情况下,LoadTest 报告输出中将包括它们。但是,如果要衡量虚拟用户执行一项活动所用的时间,您可以在脚本中插入计时器。计时器的工作原理和秒表一样。计时器在您衡量序列重叠的事件时非常实用。它们还可用于衡量特定脚本组成部分的运行时间。
有关向脚本添加注释、块、同步点和计时器的过程,以及有关使用 Insert 菜单的信息,请参见文档 CD 的 Using Rational LoadTest 手册的第五章。
© 1987 - 2001 Rational Software Corporation。版权所有。
|