通过向调度中添加循环,您可以按迭代次数重复测试并设置运行测试的速率。如果循环包含同步点,那么该同步点在循环的第一个迭代后会被释放,并且针对所有进一步迭代保持已释放状态。
关于此任务
仅包含用户组和测试的调度将按顺序运行用户组中的每个测试。循环提供比运行连续测试的简单序列更复杂的控制。
可在调度或测试内设置循环。下表列出两种方法的优点:
循环位置 |
结果 |
调度 |
调度中的循环易于查找和修改。 调度中的循环在每次迭代结束时关闭服务器连接,并在下次迭代开始时重新打开该服务器连接。
该操作对关闭和重新打开浏览器的用户的行为进行建模。
使用此方法可按设置的速率运行测试。有关更多信息,请参阅以设定速率运行测试。
|
测试 |
测试中的循环可以更详细,从而提供更高级别的控制。 测试中的循环在每次循环迭代期间复用服务器连接。
将该方法用于具有高迭代计数的循环可对服务器进行压力测试。
|
过程
要向调度中添加循环,请执行以下操作:
- 在“测试导航器”中,浏览以找到调度并双击该调度。 此时将打开该调度。
- 单击您希望成为循环的父代的项,然后单击。
- 在“调度元素详细信息”区域中,输入循环要重复的迭代次数。
选项 |
描述 |
基于计数 |
运行所选的迭代次数。 |
基于时间 |
至少运行所指定的时间。循环始终完成迭代。例如,如果您选择了 1 秒时间,而循环需要运行 10 秒,那么循环完成一次迭代后,然后检查时间。
|
无限 |
运行至调度持续时间结束为止。使用此选项可收集一段时间内的性能数据:设置无限循环,然后将调度设置为在特定时间后停止。 |
- 要针对作为此循环的子代的所有调度项维持设定事务速率,请执行以下操作:
- 选择控制迭代速率。
- 在迭代速率字段中,输入一个数字并选择时间单位。 此操作设置实际的速率。
- 选中或取消选中随机改变迭代之间的延迟复选框。选中该复选框将致使延迟稍微改变。此选项可更准确地对用户建模,因为各迭代在一段时间内随机分布。
注: 从统计角度而言,随机改变迭代之间的延迟选项以相同均值作为固定延迟值,根据负指数分布来随机设置延迟量。负指数分布有很长的“尾巴”,这意味着很少量的延迟将具有非常大的值。因此,确保您要测试的应用程序不会受到长时间不活动状态(例如将用户断开连接的超时)的负面影响。
- 选中或取消选中在循环的第一次迭代之前延迟复选框。选中此复选框会错开每个迭代中的第一个延迟,以便您在第一个迭代时获得现实组合。
示例
以下调度包含两个循环。请注意,循环所控制的 Browse 和 Bid 测试均必须是该循环的子代。