工具向导:制定表示性能测试工作量的性能测试进度
目的
本工具向导说明如何使用 Rational LoadTest 设计表示性能测试工作量的时间表。如果正确模拟了工作量,您将从测试中得到更为现实的结果。
相关的 Rational Unified Process 活动:
其他相关信息,另请参见后续内容:
概述
使用 LoadTest 进行性能测试时,您可以模拟实际的工作环境。测试性能时,准确反映站点工作量的工作量模型是至关重要的。因此,您必须确定在您的站点上发生的事务的类型。例如,您的用户是否经常查询数据库并偶尔、或频繁更新数据库?如果他们频繁更新数据库,更新是烦琐冗长的,还是比较简短?
设计工作量时需要考虑的一些因素如下: 工作量时长 - 代表工作量的时间长度。例如,工作量时长既可以是高峰时间的一小时,也可以是一个一般工作日或一个月末的付账周期。
测试变量 - 在性能测试中要改变的因子。例如,您也许会改变用户数,以了解反应时间在工作量增加时如何变化。
最好一次只改变一个变量。以便在性能变化时,您可以知道有关变化是由哪一变量引起的。测试变量是在制定时间表时设置的。
功能用户分类(用户组) - 根据用户执行的活动的类别将其分组。对于每个用户组,您需要确定其用户数或组用户数占总用户数的百分比。例如,您可能将 20% 的用户归于结算组,30% 的用户归入数据输入组,另外 50% 的用户归入销售组。
您应在时间表中建立用户组。但您必须预先制定脚本计划,以便在您记录脚本时,它们可以反映一组用户的动作。
用户工作配置 - 用户进行的活动集和他们进行这些活动的频率。用户动作应该尽可能精确地反映用户实际进行的各种任务。
例如,如果销售用户组访问数据库的次数比另两个组多 70%,您应该确保工作量可以反映这一差别。
用户特征 - 用户执行一项事务前的暂停时间、输入速率和连续执行事务的次数。准确建立用户特征的模型十分重要,因为这些值将直接影响系统的整体性能。例如,在执行事务前思考了 5 秒钟,输入速率为每分 30 字的用户要比思考 1 秒钟,输入速率为每分 60 字的用户给系统带来的工作量要小。您可以使用延时和思考时间来为用户特征建模。
要设计反映工作量的时间表,请执行以下步骤:
- 插入用户组。
- 插入脚本。
- 插入其他项。
- 设置时间表各项的运行次序。
用户组是所有时间表的基本构成部分。用户组是一组执行相同活动的用户。例如,一个时间表可以包括下列三个用户组:结算、数据输入和销售。每个用户组具有其各自的特征,对工作量的影响也各不相同。
有关插入用户组的过程,请参见文档 CD 的 Using Rational LoadTest 手册的第七章。
将用户组插入时间表之后,您应该添加用户组运行的脚本。例如,结算组运行两个脚本,数据输入组运行五个脚本,销售组运行三个脚本。脚本包含了一个特定用户组将要执行的活动。例如,结算组要运行查询票据支付状态的一个脚本。
有关插入脚本的步骤,请参见文档 CD 的 Using Rational LoadTest 手册的第七章。
时间表只要求用户组和脚本运行。但是,一个真实模拟实际用户活动的时间表很可能还包括其他项。
以下各项可以添加到时间表中:
场景 使用场景可将脚本分组,以便多组用户共享。如果您的时间表比较复杂,使用许多脚本,则在某个场景下将脚本分组的优点在于,提高时间表的易读性和易维护性。
通过插入场景,然后在其中插入有关项,您可以在时间表的场景部分定义场景。要使用户组执行该场景,您必须在用户组中插入该场景名。
可执行文件 可执行文件可以是在 Windows NT 上运行的一个程序,例如 Notepad 或 Excel。
您只可向 GUI 用户组插入可执行文件。运行时间表时,可执行文件也得以运行。
延时 延时确定 LoadTest 在运行时间表的下一项前暂停多长时间。您可以将延时插入到时间表或脚本中。将其插入到时间表中的优点是延时在时间表中是可见的,并且可以轻松地编辑延时,而无需编辑脚本。
在性能测试中,您可以使用延时来进行用户行为建模。例如,如果结算用户组计算时间和税金,然后暂停两分钟,您可以在包含计算税金的脚本后添加延时。
同步点 同步点可以使您协调大量用户的活动,即通过在某个特定点(同步点)暂停每个用户的执行操作,直到下列事件之一发生为止:
- 所有与该同步点关联关系的用户到达了该点。
- 所有用户到达该点之前已超时。
- 当您监测时间表时,手工释放了一些用户。
当某个用户执行到同步点,该用户将停止并等待其他用户到达。当到达同步点的用户数到达预设数目后,LoadTest 将释放这些用户并允许他们继续执行。
事务处理器 事务处理器确定 LoadTest 中每个用户在给定时间内运行的项数。例如,您可能会对一个每小时完成 10 个表单的订单输入组进行测试。或者您有可能测试一个 Web 服务器,并且您希望该服务器可以支持每分钟 100 次点击数。要对这一基于时间的行为建模,您可以使用事务处理器。
有关向时间表添加场景、可执行文件、延时同步点和事务处理器的步骤,请参见文档 CD 的 Using Rational LoadTest 手册的第七章。
选择器所提供的控制要比在时间表中运行一系列简单的连续项更加复杂。选择器确定每个用户在 LoadTest 将要执行的项,以及执行的次序。例如,您也许想使用选择器,反复从一组脚本中随机地选择一个脚本。
LoadTest 提供的选择器的类型如下:
Sequential - 以其在时间表中出现的顺序运行各脚本或场景。这是默认类型。
Next Available - 将其脚本或场景分配给可用用户。一般用于 GUI 用户组。这些项根据哪些用户可以运行其他脚本的情况来依次进行分配。
某个项一旦运行,就不可再次运行了。
Random with Replacement - 选择器以随机次序运行其中的项,选择某项之后,再次选中该项的几率是不变的。
Random without Replacement - 选择器以随机次序运行其中的项,但是选中某项之后,再次选中该项的几率就不同了。
Dynamic Load Balancing - 使用动态负载平衡,这些项不是随机选中的。这意味着下一个选中的脚本将根据您设置的权重来平衡负载。您既可平衡时间负载,也可平衡频率负载。
有关向时间表插入选择器的步骤,请参见文档 CD 的Using Rational LoadTest 手册的第七章。
© 1987 - 2001 Rational Software Corporation。版权所有。
|