关联数据有以下两种方法:
- 自动的:(自动的数据关联),测试生成器自动检测到当前请求中要替换的前一个值。正如前面所提到的,引用(从前一个中响应的值)将被用于关联后续请求的值。您也可以使用自己定制的代码扩展这一相互关系。
- 手工的:通过阻断现已存在的相互关系,并且将前一个的响应作为值链接到当前的请求。尽管这是默认的行为,但是您能够关闭自动的数据关联。然而,当您将其关闭之后,您将依靠您自己,直到用于测试页面的数据流程关系被关注为止。关闭操作十分简单,如图19中所示:
- 进入 Menu, Windows > Preferences > Performance Test Generation。
- 选择 Data Correlation 标签。
图 19. 关闭数据关联
为了在应用程序负载测试期间仿真实际生活的场景,Rational Performance Tester 为您提供了灵活的选项,使得测试如同实际情况一样。您能够动态地创建任意多个测试脚本和调度,以及任意虚拟用户负载的结合。通常,您还想知道您是否拥有以下这些选项:
- 我是否能够指定1000个虚拟测试人员,以相等的用户负载运行于三台远程机器中?
- 我是否能够首先运行虚拟测试人员总数的10%,然后运行再运行另外10%?
- 我是否能够让一组虚拟测试人员运行测试下的应用程序内部的某一部分?
- 我是否能够指定用户思考时间?
- 我是否能够是测试序列随机化?
- 我是否能够通过每一位虚拟用户使用不同的 IP 远程运行负载测试?
- 我是否能够以一定的比率运行测试?
由于 Rational Performance Tester 允许您完成这些选项的任何变换,所以我们将首先探索它是如何允许不同的活动通过附加到它们上面的测试元素被指派到不同组的,以及这些元素是如何影响一个负载测试的行为的。图20中显示了您能够轻易的分解工作量,并且指派到不同的用户组,使得每一个组负责不同的虚拟用户。例如,添加一个新的组:
- 只需右键单击测试调度中的组(在 Schedule Contents 下方)。
- 选择 Add > user group 选项。
当您创建一个组后,您就能够通过将测试脚本(录制)附加到这些组上,分解所有组间的分配。
请注意:
用户组和测试脚本之间的关系是 1:N。换句话说,一个用户组能够运行不止一个的测试脚本。至于工作量的分配是按照用户的绝对值还是相对比例,完全取决于您。
图 20. 负载分布
然而,要仿真一个实际生活的场景,仅仅将工作量在不同的组间分配对于反映一个好的测试场景来说并不是必须的。为了克服这一点,Rational Performance Tester 提供了不同的元素,您能够将它们同一个测试调度关联起来。无论调度中是否包括这些取决于您正在测试的场景。这些元素被直接关联到一个调度中。图21中描述了能够被包括在一个调度中的某些元素。
图 21. 拥有其他元素的调度
您能够将这些元素添加到一个测试调度中:
- 测试脚本(录制):在它被录制之后,您能够将测试脚本指派到调度中。一个调度能够拥有不止一个通过不同的用户组被直接指派的测试脚本,这是因为每一个用户组都能够拥有不止一个的测试脚本。
- 组和百分点指派:它用于分解工作量的用户组。它包括设置开始运行的用户数量的能力。例如:50位用户在 T1 时间点开始运行。
- 用户思考时间:要仿真典型的思考时间,需要设置如下四个选项:
- 被录制的思考时间;
- 固定的思考时间(默认是2秒钟);
- 动态增加或者减少思考时间的百分点;
- 随机设定思考时间的百分点。
- 延迟时间:您能够包括两个用户运行之间的延迟时间(单位是毫秒)。任何一种实际生活的场景都很难达到一个高的、真正的并发(例如,20位用户在 T1 时间点精确地同时运行)。通常来讲,50-100毫秒的延迟时间都属于正常的范围。如果您将延迟时间设置为100毫秒,那么这意味着一个用户(虚拟用户)在 12:00:00:00 开始运行,第二个用户在 12:00:00:01 开始运行。
- 循环:它用于以一个规定的比率运行测试。从 Schedule Element Details 面板中,您能够设置迭代的数量,并且控制迭代的比率(例如,每两秒中一次)。您还能够随机化迭代之间的延迟。
- 随机选择器:在现实生活中,应用程序页面击中通常是随机的。这个元素用来通过添加随机选择器,为一个测试运行序列提供随机选择,而不是按照测试顺序地运行。在随机选择器的设置期间,要求输入权重。在后面的操作中,您将把权重同一个测试脚本相关联。
- IP 别名:它使您能够对每个拥有一个专用 IP 地址的虚拟用户进行仿真。
本系列文章的第二部分将更加详细地解释这些元素。
文章来源于领测软件测试网 https://www.ltesting.net/