Load Test 提供了许多自定义负载测试的方法。本主题介绍如何自定义负载测试和可用的自定义项。章节目录:
自定义测试套件场景
通过自定义要使用的场景自定义如何运行特定的测试。可以使用场景自定义以下参数:
- 测试持续时间
- 虚拟用户随时间和机器的分布
- 点击率随时间和机器的分布
- 用户配置文件随时间的分布
若要自定义现有场景或创建新场景:
- 通过从负载测试选项卡中执行其中一个以下步骤,打开或创建要自定义的场景:
- 若要打开现有场景:点击场景分支中的合适节点。如果配置文件不可见,则双击场景已展开该分支。
- 若要创建新场景:右键点击场景节点并选择新建 Scenarios。
- 使用右侧 GUI 面板中的控件自定义场景。以下部分说明了可用的自定义控件。
场景名称
在名称字段输入新的名称来更改场景名。
场景类型
场景类型确定了如何配置场景的几个方面。可以为每个测试套件配置文件指定虚拟用户的确切数或每秒点击率。还可以将测试套件配置文件分布表示为一般比率,并允许 Load Test 根据指定的比率随机分配测试套件配置文件。
从场景类型菜单中选择:
- 权重配置文件:允许将测试套件配置文件分布指定为权重比。虚拟用户以随机加权的方式(实现任意的总负载图表以及配置文件分布的“统计”跟踪)分布在配置文件中。
- 直接的配置文件:允许直接为每个测试套件配置文件指定(虚拟用户数或每秒点击数)实际负载。可以为所有机器或为单个机器指定负载。VU/HPS 的总数不能直接指定,而是一个机器所有配置文件的总和。
测试持续时间
在持续字段中输入新值。适用的持续时间限制如下:
- 天:30
- 小时:23
- 分钟:59
- 秒:59
受控参数
受控参数设置确定测试是针对虚拟用户的数量进行控制,还是针对每秒点击数(点击率)进行控制。
从受控参数菜单选择以下选项之一:
- 用户数量:Load Test 将尝试实现指定的虚拟用户数量,并尝试改变进程中的每秒点击数。
- 每秒点击、每分钟点击、每小时点击或每天点击:Load Test 将根据需要改变虚拟用户数量,尝试达到指定的点击率。
不规则分布
不规则分布设置确定受控参数的随机选择。
如果将受控参数设置为用户数,则 Load Test 将根据下列分布随机化虚拟用户的思考时间:
- 统一的:如果配置文件配置中定义的虚拟用户思考时间为 Tprof.,则实际虚拟用户思考时间将是一个随机值,均匀分布在 0 到 2*Tprof. 之间,平均值为 Tprof.。
- Poisson:如果配置文件配置中定义的虚拟用户思考时间为 Tprof.,那么实际虚拟用户思考时间将是一个随机值,呈钟形分布,平均值为 Tprof.。
- 无:没有应用不规则分布。
如果将受控参数设置为每秒点击,则 Load Test 会根据下面的分布随机分配两次调用的间隔时间:
- 统一的:如果负载测试场景中指定的每秒点击率是 Nhps.,则 Load Test 将生成请求序列,该序列具有随机内部调用时间(介于子序列请求之间的时间),均匀分布在 0 和 2*1/Nhps. 秒区间,取 1/Nhps 秒的平均值。
- Poisson:如果负载测试场景中指定的每秒点击率是 Nhps,则 Load Test 将生成请求序列,该序列具有随机内部调用时间(介于子序列请求之间的时间),其具有钟形分布和 1/Nhps 秒 的均值。
垂直刻度
从垂直刻度菜单选择一个值,进而设置测试运行期间要模拟的最大用户数或点击数。可以在场景中设置的最大值取决于您的许可证。若要查看许可证详情,请前往帮助> 关于。
如果将受控参数设置为用户数量,则所应用的负载则是所选场景中所有机器上的用户数量和点击数。
如果将受控参数设置为点击配置数量,则为给定测试实现的每秒点击数和运行测试的机器数量确定所应用的负载。配置文件延迟选项将不可用,并且将忽略任何预先存在的延迟设置。若要确定许可允许执行的每秒点击数,则授权您的虚拟用户数量除以 10。例如,如果您被授权使用 100 个虚拟用户,则能够以每秒 10 次点击的速度执行测试。
- 右键点击面板右上角的行,并选择比例选项。可以在场景类型设置为直接的配置文件时,为每个配置文件设置刻度。如果您在权重配置文件模式下设置刻度,则根据每台机器设置刻度。
- 提示时指定缩放因子。
更改图表
图表直观地显示了对负载测试进行配置后所应用的随时间变化的用户数量或点击数。配置图表的界面根据您是直接配置配置文件还是配置权重配置文件而异。
指定机器
启用单独的机器选项,将相同的设置应用于所有测试机器(默认)。只有当有多台机器可用时,此选项才可用。图表将显示标记为“所有机器”的一根线。该选项允许同时更改所有机器的线的位置和形状。禁用该选项,将不同的设置应用于不同的测试机器。也可以单独启用机器。
显示配置文件
如果直接配置配置文件(将场景类型设置为直接的配置文件),并且很多测试套件配置文件都可用,则您可以启用所有选项以显示所有配置文件,或是启用单个配置文件。
更改垂直刻度
有关更改图表刻度的详情,请参阅Vertical Scale。
更改形状
可以修改图表上的点来更改其形状。
- 右键点击面板右上角的行,并选择编辑图表。
- 提示时指定 Y 字段中的值。
- 点击下一个来编辑图表上的下一个点,或点击上一个来编辑上一个点。您可以使用键盘快捷键 ALT-左箭头 和 ALT-右箭头。
- 指定 X 字段的值并点击申请。
- 如果需要,重复步骤 2 和 3 来配置其他的点,并在完成时点击 OK。
也可以点击图表中的拖拽点。
若要让虚拟用户数量或点击率保持平稳,则请确保这条线是平的,然后拖住这条线向上或向下移动,直到它对应于整个测试持续时间所需的用户数量或每秒点击数。
也可以右键点击图表中的行,并选择添加点来创建其他的节点。
可以点击和拖动点,或右键点击并选择编辑点来指定虚拟用户的确切数量或每秒点击数。负载测试将通过绘制各点之间的斜率,自动确定没有特定点的每个时间间隔的虚拟用户数或每秒点击数。
也可以点击更多点来自动将创建的点数加倍。
新的点将在已有的点之间以规律的间隔添加。若要删除一个点,则右键点击特定点并选择删除点。点击较少点来删除那些不是拐点的点。
使用预设置的形状
可以将图表设置为预设形状。
- 右键点击面板右上角中的线,并选择设置图表形状。
- 选择图表形状并设置峰值。
- 点击 OK 将形状应用于所选定图表。
设置配置文件权重
可以指定 Load Test 在测试持续时间内任一时间点选择特定配置文件的概率。分配给配置文件的比率越高,它就越可能被选中。只有在测试套件配置文件可用时,才可使用权重配置文件。
- 从垂直刻度中选择值来更改配置文件的最大比率。确定 Load Test 如何随时间分布用户配置文件时,值越高,可以使用的比值区间就越多。用户配置文件的比率决定了 Load Test 在测试持续时间内任一时间点选择特定配置文件的概率。
- 右键点击面板右上角中的线并选择比例图来缩放线条的形状,以表示配置文件比率的不同范围。
- 提示时输入缩放因子。
- 如果您想保持稳定的用户配置文件比率,请确保该线是平的,并向上或向下拖动每个配置文件的水平条,直到在所有时间间隔内都与您想要的配置文件权重相对应。
- 若要改变用户配置文件的比率,则为每个时间间隔创建一个“点”,以便指定配置文件权重(请参阅Changing the Shape),然后该点拖至所需位置。负载测试会自动确定每一个没有特定点的时间间隔的配置文件权重,具体方法是绘制每个点之间的斜率。
- 可以通过点击更多点自动加倍所创建的点的数量。新的点将在已有的点之间以规律的间隔添加。可以通过右键点击并选择删除点来删除点。若要删除不是拐点的点,则点击较少点。
提示
自定义场景的服务质量指标
负载测试服务质量(QoS)分析功能允许用户通过将 QoS 指标应用于 Load Test 结果对服务/应用程序的性能进行评估。根据这些指标,Load Test 会评估性能,以确定负载测试是成功还是失败。当服务/应用程序必须满足特定的性能需求之后才能考虑部署时,QoS 分析尤其重要。
对 Qos 指标的介绍
QoS 指标允许为负载测试定义一组回归测试。在随后的负载测试上,所有指标都将成功通过。任何失败的指标都是服务/应用程序性能回归的迹象。
QoS 功能可以从负载测试树中访问。每个场景节点(Bell、缓冲区测试、线性增加、稳定负载)下都对应一个 QoS 节点。选择 QoS 节点之后,概要和明细选项卡将显示在右侧 GUI 面板中。
概要选项卡显示 QoS 指标的全局视图,其在明细选项卡中配置。概要选项卡包括指标及其说明列表。在概要选项卡度量指标列表中有五种默认的指标:
- 低执行时间:验证其平均执行时间是否低于特定的临界值。
- 低服务器时间:验证其平均服务时间是否低于特定的临界值。
- 无失效问题:负载测试期间发生的失败总数必须为 0。
- 快速的点击率:负载测试期间实现的吞吐量必须高于定义的水平。
- 100% 成功:测得的后续请求消息百分比必须正好是 100%。
上述每个指标都将根据类型分组(如,统计、计数、吞吐量、损耗)。配置的任何其他指标也将出现在概要选项卡中。
描述列表包含根据该指标指定的参数自动生成的每个指标正在验证的内容的说明。
明细选项卡显示为所选定场景配置的可用指标。明细选项卡还显示从指标度量列表中选择的指标的名称、参数和注意事项。
新建 Qos 指标
新建 Qos 指标步骤:
- 点击度量指标列表下新建。将打开添加指标向导。
从添加指标向导选择所需的 QoS 指标,并点击完成。
QoS 指标将添加到明细选项卡的左侧面板中,其参数将显示在右侧面板中。
每个指标对完整的负载测试结果执行不同的验证集。负载测试运行后,QoS 报告概要将显示在测试消息报告中,同时还将提供一个单独的、更详细的 QoS 报告。
过滤器选择对 QoS 指标计算的影响
在 QoS 指标机器、配置文件和测试过滤器面板中的测试树选择面板(如测试树选择面板导航和选项中所述)中做的选择会影响用于计算指标值的数据集。随后,这将影响指标的成功或失败结果。可以在 Load Test 报告的相关部分中预览下面列出的指标类型计算中使用的数据。
- 统计值指标:请参阅报告的统计部分。注意统计值指标的平均参数是根据为该指标所选定的每个测试运行次数来计算的。可以在 Load Test 报告的统计部分的运行次数列查看。
- 统计指标、损耗指标:请参阅报告的统计部分。
- 吞吐量:请参阅详情报告部分的图表选项卡。
- 百分位指标、延迟指标:请选择详情报告视图图表选项卡中的显示个体点击。
- 误差率指标:请选择详情报告视图图表选项卡中的显示录制细节。请参阅出现的表格视图中的明细列。
同时,有关基于当前指标值对指标进一步的阐述,请参阅 QoS 指标视图参数面板中显示的工具提示。
配置 QoS 指标参数
若要更改任意 QoS 指标,请从明细选项卡的左窗格中的列表中选择一个指标,并在明细选项卡右窗格中相应地配置其参数。选项将随所选定指标变化而变化。但是,如果您将光标放在右侧窗格的参数上,则工具提示将显示关于参数配置的消息。
也可以从列表选择一个或多个(CTRL-点击)指标,然后右键点击选择项,并根据需求从快捷菜单中剪切、复制、粘贴或删除。在从列表中右键点击一个或多个(CTRL-点击)指标时,可以选择指标另存为来将所选定指标保存为 QoS 指标集(.ms 文件),同时也可选择 Load 度量指标来加载之前已保存的指标集。也可以通过将所需的指标拖拽到所需的序列中更改列表排序。
自定义包含大量配置文件的场景
关于包含大量配置文件和/或大量图表点的场景,对用户和配置文件选项卡的每个图表中的各种选项进行配置和跟踪可能变得很困难。在这种情况下,对于每个场景来说,使用概况表和细节表可能会更方便。
要查看概况表和细节表,请选择所需的场景节点,右侧 GUI 面板中将显示概况表和细节表选项卡。
在概况表和细节表视图中,可以编辑绿色的字段(类似于每个机器的用户数量和每个配置文件的配置文件权重)。在这些绿色字段中所做的更改将反映到相应的用户和配置文件选项卡中,反之亦然。例如,如果要将默认用户的配置文件权重从 1 更改为 5,则该更改将反映到配置文件选项卡中。类似地,在配置文件选项卡中相同的更改将反应到概况表选项卡或细节表选项卡中。
概况表
根据权重配置文件或直接的配置文件场景类型,概况表视图提供了提供不同的信息。
- 概况表视图为权重配置文件提供了两张独立的表:一张表用于机器,一张表用于配置文件。
- 概况表视图为直接的配置文件提供了一张表,您可以在该表中为每个机器更改用户数量:
细节表
根据权重配置文件或直接的配置文件场景类型,细节表视图提供了提供不同的信息。
- 细节表视图为权重配置文件提供了两个独立的表:一张表用于机器,一张表用于配置文件。
- 细节表视图为直接的配置文件提供了一张表,您可以在该表中为每个机器更改时间/值:
对环境进行配置
环境是可以在负载测试配置中引用的变量集合。 运行测试时,Load Test 将使用活动环境中变量的值替换项目配置中变量的名称。通过更改活动环境,您可以快速轻松地更改 Load Test 使用的值。
通过环境选项卡完成环境的创建和切换。若要访问该选项卡:
- 请选择 Load Test 配置树中的配置文件节点。
- 打开环境选项卡。
将环境选项卡分成两个部分,环境列表面板(左侧)和环境详情面板(右侧)。
对环境列表进行配置
环境列表面板包含以下管理环境的按钮:
添加:点击该选项,将一个新的环境添加到项目中。点击按钮右侧的向下箭头,查看以下选项:
- 导入...:点击该选项,将
*.env
文件中现有的环境加载到项目中。对*.env
文件的后续更改将不会反映到您的项目中。 - 引用...:点击该选项,将
*.env
文件中现有的环境引用到您的项目中。对*.env
文件的后续更改将会反映到您的项目中。
- 导入...:点击该选项,将
- 移除:点击该选项,从您的项目中删除所选定环境。
- 设置:点击该选项,让所选定的环境成为活跃环境。
对环境详情面板进行配置
创建和/或选择环境后,环境详情面板将显示一张表和用于管理环境变量的按钮。
- 添加:点击该选项,添加一个新的环境变量。
- 移除:点击该选项,删除所选定环境。
若要编辑现有的环境变量,可以双击某个值或点击该值并突出显示后键入新值。
配置异步测试
如果正在用于负载测试的 SOAtest 项目包含具有回放工具和异步测试功能(或消息桩工具)的测试,则将需要启动 Load Test 中的 SOAtest 服务器,以便处理与 SOAtest 项目相关联的异步消息传递。
可以通过以下两种方式启动 SOAtest 服务器:
- 手动:前往视图> 显示服务器。服务器选项卡将出现在 Load Test GUI 的左侧面板中。然后,右键点击服务器节点并选择启动服务器。
- 自动:在 Load Test 首选项中,选择启动部分并启用在 Parasoft Load Test 启动时启动服务器选项。 保存首选项之后,将需要重启 Load Test,然后该设置才会生效。
如果正在以命令行模式或 Load Test 服务器模式运行带有 SOAtest 异步工具的负载测试,则将需要在这些机器上启用自动 SOAtest 服务器启动(因为在命令行模式中,SOAtest 服务器只能自动启动)。
对数据源使用进行配置
如果 SOAtest .tst 文件引用数据源,则可以配置是否在负载测试期间使用这些数据源。
若要配置数据源选项:
- 请选择 Load Test 配置树中的配置文件节点。
- 打开数据源选项选项卡。可用的数据源将列出在左侧面板中。
- 若要配置数据源选项,将其应用到整个测试套件中,请选择要配置的测试套件,然后根据需求在右侧面板中自定义以下选项:
- 所有行都被使用后停止负载测试:如果数据源行在其使用完后变得无效,请启用该选项,然后指定希望在何时停止负载测试 — 在第一台机器耗尽行时,还是所有机器耗尽行时。这有助于对您的负载测试持续时间进行管理。
- 报告建议的分区大小:确定 Parasoft Load Test 是否(基于负载测试结果)生成报告,该报告包含为每台机器上每个数据源的推荐分区大小。
- 若要配置用于特定数据源的选项,则选择要配置选项的数据源,然后在右侧面板根据需求自定义以下项:
- 每次使用一行 (例如 使用后数据变为无效):确定数据源行中的值在测试期间是否可多次使用。如果启用该选项,SOAtest 随后将遍历数据源值;不允许对数据源值进行随机遍历。对于某些数据只能输入一次的 Web 应用程序(如社会保险号、唯一 ID 号等),该选项尤其有用。
- 不同的虚拟用户可以同时使用相同的行:确定该数据源中的值是否一次只被一个虚拟用户使用。如果希望 SOAtest 从该数据源分配登录用户名/密码对,而您的站点禁止每个用户同时多次登录,则禁用该选项特别有用。如果禁用该选项,SOAtest 将报告测试期间尝试使用数据源的虚拟用户数量是否超过可用行数。如果这样,那么应该确保数据源中的行数超过了将使用数据源的虚拟用户数量,然后重新运行测试。该选项仅在未选中“每一行仅使用一次(如,数据源使用后无效)”选项时可用。
- 虚拟用户遍历数据:确定 SOAtest 对数据进行的是随机遍历还是有序遍历。该选项仅在未选中“每一行仅使用一次(如,数据源使用后无效)”选项时可用。
- 在有序模式下,SOAtest 在整个测试数据中重复遍历数据。它使用所有数据源值,以数据源第一行中的值启动,并按顺序遍历数据源行直到最后一行。一旦 SOAtest 使用数据源最后一行的值,则将它从第一行的值重新开始。
- 在随机模式下,SOAtest 在每次需要数据源的时候随机选择数据源行。
- 在有序模式下,SOAtest 在整个测试数据中重复遍历数据。它使用所有数据源值,以数据源第一行中的值启动,并按顺序遍历数据源行直到最后一行。一旦 SOAtest 使用数据源最后一行的值,则将它从第一行的值重新开始。
- 虚拟用户为每个测试用例遍历所有行:确定虚拟用户是否在运行下一个测试之前遍历该数据源的所有行。如果未选中此选项,则虚拟用户将一次只执行一行,然后运行下一个测试,以此类推。该选项仅在未选中“每次使用一行 (例如 使用后数据变为无效)”选项时可用。
- 分区:允许自定义数据源的分区方式,以便分布加载测试服务器机器。
- 在启用每次使用一行选项或禁用不同的虚拟用户可以同时使用相同的行选项时,将对数据源进行分区。
- 若要自定义数据源的分区方式,以便分布加载测试服务器机器,请启用使用自定义的数据源分区,然后输入在表中指定所需的分布。
- 要指定特定机器(localhost 除外)不接收数据源行,则在第一行和最后一行单元格中都输入 0。在该模式下,localhost 机器无法从负载测试中排除。localhost 机器数据行间隔总是从第 1 行开始(该字段在分区配置表中为只读字段)。所有数据源行必须分布到一台负载测试服务器机器上。
配置 Setup/Teardown 测试执行
如果 SOAtest .tst 文件使用 setup 或 teardown 测试,则可以配置如何在负载测试期间使用这些数据源。
若要配置 setup/teardown 选项:
- 请选择 Load Test 配置树中的配置文件节点。
- 打开 Setup/Teardown 选项选项卡。
- 选择所需选项。可用选项包括:
- 每个虚拟用户运行一次:每个虚拟用户将运行一次 setup 和 teardown 测试。
- 每个机器运行一次:每个负载测试运行一次 setup 和 teardown 测试。
- 每个负载测试运行一次:每个负载测试将运行一次 setup 和 teardown 测试。
自定义配置文件
每次创建虚拟用户,都是基于一份可用的配置文件。虚拟用户在负载测试开始时创建,每次虚拟用户完成测试运行并且指定的负载测试持续时间尚未超过时,就会创建虚拟用户。
可配置任意数量的配置文件或机器,但是虚拟用户的数量或每秒使用的点击率受到许可证的限制。例如,如果您只被授权运行 100 个虚拟用户,则您可以配置任意数量的配置文件,但只有基于这些配置文件的 100 个虚拟用户才可以在任何给定时间处于活跃状态。如果有 20 个配置文件,但都只被授权运行一个虚拟用户,则所有 20 个配置文件最终都将在测试期间使用(前提是测试有足够的持续时间),而只有一个配置文件在任何给定时间处于活跃状态。
若要自定义默认的配置文件或创建新配置文件:
- 执行以下步骤之一,打开、禁用、启用或创建要自定义的配置文件:
- 若要打开现有配置文件:点击配置文件分支中的合适节点。如果配置文件不可见,则双击配置文件以展开该分支。
- 若要禁用或启用现有配置文件:右键点击配置文件分支中相应节点,然后选择禁用/启用。禁用配置文件后,直到再次启用,配置文件都不会和负载测试一起运行。
- 若要创建新配置文件:右键点击测试套件配置文件节点,选择新建配置文件。
- 使用右侧 GUI 面板中的控件自定义配置文件选项。可用选项包括:
- 名称:确定配置文件名称。
- 配置文件可执行:确定执行的是什么测试或自定义操作。启用代表着要使用测试的选项。至少选择一个测试。如果希望子测试假定父测试的设置(启用还是禁用),则启用传播选择。如果添加多个测试套件,它们将按照在此面板中列出的顺序执行。
- 延迟:指示您希望在此配置文件的测试迭代之间模拟延迟的长度和类型。如果在控制每秒点击数(而不是虚拟用户数量)测试的场景中使用该配置文件,则将忽略所有延迟选项。延迟选项包括:
- 结束到开始:提示 Load Test 测试从上次虚拟用户调用结束到后续虚拟用户调用开始的延迟。
- 开始到开始:提示 Load Test 测试从上次虚拟用户调用开始到后续虚拟用户调用开始的延迟。
- 分钟:确定延迟时间,以分为单位。在文本字段输入分钟数,或相应地移动滑块。
- 秒:确定延迟时间,以秒为单位。在文本字段输入分钟数,或相应地移动滑块。
- 毫秒:确定延迟时间,以毫秒为单位。在文本字段输入分钟数,或相应地移动滑块。
提示
如果希望不同的测试使用不同的延迟,则可以在 SOAtest(在测试套件配置面板中的执行选项> 测试流程逻辑选项卡中)的测试级别上配置延迟。测试级别上配置的任何延迟都将覆盖 Load Test 配置文件中指定的延迟。对于个别延迟的测试,将不会应用 Load Test 的开始到开始/结束到开始选项。
在虚拟用户模式中限制每秒点击数
在将虚拟用户选择作为受控参数的负载测试场景中,有时需要限制每秒点击率。在虚拟用户模式中限制每秒点击数有以下两种方法:
- 在虚拟用户配置文件中设置合适的延迟:这是首选的方法。每秒点击率与虚拟用户测试调用之间的时间成反比。该时间由测试执行时间和虚拟用户延迟时间组成。例如,将虚拟用户配置文件开始到开始延迟设置为 1 秒,将导致 4 个虚拟用户负载测试场景的每秒点击次数保持在或低于每秒 4 次。有关虚拟用户配置文件延迟的更多信息,请参阅文档的自定义配置文件部分。
- 在场景概况表视图中配置每秒点击次数限制:在将虚拟用户选作受控参数的负载测试场景的权重配置文件模式下,可以直接为负载测试配置中的每台机器设置每秒点击数限制。负载测试场景视图(见下面的截图)的概况表包括:允许在测试配置中为任何机器启用每秒点击节流;允许为该机器设置每秒点击限制。使用此模式时,请注意负载测试的 HPS 节流控制器对强制虚拟用户延迟的应用程序部分具有优先级。因此,为了限制每秒点击数,虚拟用户配置文件延迟时间很有可能被忽略掉。
下面的图片显示了在场景概况表视图中配置每秒点击节流的示例:
自定义数据记录参数
场景控制面板的报告设置选项卡允许您配置负载测试期间记录什么数据。
可用选项包括:
- 记录图标:记录 Load Test 报告详情报告部分的负载测试图表数据。
- 记录个体点击:记录 Load Test 报告详情报告部分以“散点”形式显示的独立点击。
- 记录个体点击细节:记录独立点击执行的错误和/或成功详情。错误和成功详情取决于 Load Test 组件类型。对于 SOAtest 组件,将以下内容记录为错误/成功详情:
- 错误细节:包含所有测试的错误描述字符串,以及下列 SOAtest 工具测试的测试通讯报文:SOAP 客户端、浏览器测试、REST 客户端、消息传送客户端。
- 成功细节:包含下列 SOAtest 工具的通讯报文:SOAP 客户端、浏览器测试、REST 客户端、消息传送客户端。
- 记录限定:限制 Load Test 报告中记录的错误和/或成功数据的数量。该限制可以设置为收集的测试执行详情的最大数量,也可以设置为详情数据的大小。
若要通过设置录制详情最大数限制报告大小,请选择记录限制面板中的详情:
若要通过最大允许记录的数据大小限制报告大小,则选择记录限制面板中的 Kbytes(kilobytes)。
注意记录个体点击细节选项可以在禁用记录个体点击选项时使用。在这种情况下,将不会记录单独点击数据(报告的分散视图部分),然而测试执行详情仍可通过 Load Test 报告图表视图的右键点击菜单选项显示记录详情获得。
有关在 Load Test 报告中查看成功和错误详情的更多信息,请参阅详细报告。
自定义 Load Test 停止程序
自定义 Load Test 停止队列
场景控制面板的停止设置> 停止队列区域允许在生成 Load Test 停止事件和负载测试活动的实际停止之后,配置负载测试行为。(我们将使用术语“负载测试停止时间”来表示生成负载测试停止事件和所有负载测试活动实际停止之间的时间。)
执行以下操作时将生成负载测试停止事件:
- 通过点击工具栏中的停止,Load Test 用户可手动停止负载测试。
- 负载测试持续时间达到其计划的时间长度。
- 负载测试停止操作执行(请参阅以下Customizing Load Test Stop Actions部分)。
生成负载测试停止事件后,Load Test 会停止创建虚拟用户,并等待现有虚拟用户退出程序。快速停止和正常停止选项控制虚拟用户是在当前测试完成后退出,还是在完成所有预定的测试之后退出:
- 快速停止(默认选项):如果选择该选项,每个虚拟用户将在当前测试完成后立即退出。选择该选项将造成负载测试快速停止;然而,发出 Stop 命令时处于活动状态的虚拟用户可能并未完成配置文件中所预定的所有的测试或数据源迭代。
- 正常停止:如果选择该选项,虚拟用户将执行他们在虚拟用户配置文件中安排的所有测试和数据源迭代。选择此选项可能会导致负载测试停止时间增加(相对于快速停止序列而言)。如果虚拟用户测试列表或数据源迭代列表很长,则此处的增长可能十分显著。
提示
如果停止程序需要花费很长时间,则使用负载测试停止进程对话框中的强制终止按钮。(更多详情请参阅提示:停止测试)。
自定义负载测试停止操作
可以使用功能 Java、JavaScript 或 Jython 脚本自定义如何停止负载测试。对于可能造成意外结果的特别情况,此功能在自动停止负载测试时特别有用。例如,在负载测试夜间运行期间,如果达到一定数量的错误或 CPU 使用率达到特定临界值时,您可能希望停止负载测试。
您定义的脚本通过 com.parasoft.api.loadtester
API 与负载测试人员通信,并接收 LoadTestScriptArgs
和 Context
作为参数,还可以返回 LoadTestScriptAction
。返回的 LoadTestScriptAction.Action_Stop
与在负载测试期间点击负载测试 GUI 中的停止具有相同的效果。
[Load_Test/SOAtest_installation_dir]\[version number]\examples\loadtest\LoadTesterScripting。
若要使用脚本自定义 Load Test 停止操作:
- 在负载测试选项卡中选择场景节点,并在右侧配置面板中选择停止设置选项卡。
- 从语言菜单中选择 Java、JavaScript 或 Jython,指示您的脚本当前或将要使用的语言。
- 在实现框中定义要实现的脚本。
- 针对 Java 方法,在类字段中指定合适的类。注意,选定类必须在 classpath 上。
- 针对 JavaScript 和 Jython 脚本,可以使用现有文件作为方法的源代码,也可以在 Load Test 中创建方法。
- 若要使用现有文件,请启用文件并点击浏览。找到该文件并选中,然后点击 OK 完成选择。
- 若要在 Load Test 中从头开始创建方法,请启用文本并将代码键入、剪切或粘贴到相应文本框中。
- 若要选择合法且可运行的特定脚本,请右键点击文件或文本字段(点击要用来指定脚本的一个),然后选择评估。Load Test 将报告找到的任何问题。
- 从方法菜单中选择合适的参数。这个列表将由脚本中包含的任何定义组成。由于脚本中可以包含多个参数,所以可以选择要在此方法中使用的一个参数。
- 运行负载测试。
您定义的脚本在负载测试期间每三秒被调用一次(负载测试输出频率采集)。如果满足脚本中指定的任何标准,负载测试将停止。如果脚本导致负载测试停止,则用户定义的负载测试停止操作的说明将反映到 Load Test 报告中。任何脚本错误都将在负载测试进程视图的日志选项卡中进行报告。
自定义机器选项
使用高吞吐量模式
在高吞吐量模式下,可将更高级别的负载应用于正在测试的系统,同时最小化生成此类负载所需的硬件。
每个加入负载测试的 Load Test 机器都可以配置为在高吞吐量模式下进行。在这种模式下,将禁用测试响应验证以及不重要的附加工具。因此,运行负载测试要求更少的系统资源,如 CPU 周期。这一点允许高吞吐量模式中的机器以每秒更高的测试执行速度运行。
若要启用此模式,在 Load Test 配置树中的机器节点上选择合适的机器,然后启用高流通量模式。
通常情况下,用户选择一些机器以常规验证模式运行,而另一些机器则以未经验证的高流通量模式运行。以验证模式运行的机器同时充当负载生成器和测试结果收集器,而未经验证的机器只充当负载生成器。负载测试完成后,以验证模式收集到的结果将被用来估计未经验证模式下机器的错误计数区间,以及整个负载测试的总错误计数估计区间。
下面是一些典型的问答,可以帮助更好地理解如何应用高吞吐量模式功能:
应该什么时候使用高吞吐量模式?
如果没有足够的硬件来生成所需的负载,则应该使用高吞吐量模式。例如,如果您的负载生成机器正在以或高于 75-80% 的 CPU 利用率运行。
可以希望什么类型的吞吐量增加?
吞吐量增长将随着功能测试结构变化而变化。在功能测试配置中,附加到测试的工具越多,在高吞吐量模式下的性能增益就越大。
误差估计是如何计算的?
误差估计的计算是使用 Wilson 的方法计算“二项分布比例的置信区间”的基础上进行的。关于本主题更多信息,可通过下面的链接获取:
- 美国国家标准与技术研究院:http://www.itl.nist.gov/div898/handbook/prc/section2/prc241.htm
- Wikipedia:http://en.wikipedia.org/wiki/Binomial_proportion_confidence_interval
在已验证模式和未验证模式下运行测试比例应该是多少?
一般而言,在已验证模式下运行的测试越多,得到的误差估计区间就越小。根据经验,在已验证模式下,每个测试的运行次数应该至少在中间十位,比如 40-60。
从多个 IP 地址生成网络通讯报文
Parasoft Load Test 可以配置为,为其虚拟用户使用多个 IP 地址。配置此虚拟 ip 涉及两个步骤:
- 在负载测试机上设置 IP 别名,如下面的合适部分所述:
- 将虚拟用户配置为使用多个 IP 地址,如 Configuring Load Test Machines to use Multiple IP Addresses
支持 Parasoft SOAtest 组件
下面的 SOAtest 工具和传输支持多个 IP 地址功能:
- SOAP 客户端- HTTP & HTTPS
- 消息传送客户端 - HTTP & HTTPS
- REST 客户端- HTTP & HTTPS
- 浏览器工具 - HTTP & HTTPS
- FTP 客户端 - 仅 FTP,无 FTPS
- 传输工具
Windows 配置
若要在 Windows 机器上设置 IP 别名:
- 使用
ipconfig
命令,查看可用网络接口的列表、及其 IP 地址和掩码。 - 在 DOS 提示窗口(DOS shell)或批处理脚本中使用
netsh
命令添加或删除 IP 地址。若要添加 IP 地址,请运行与下面示例类似的
netsh
命令(替换您自己的网络接口名称、IP 地址和掩码)。netsh -c Interface ip add address name="Local Area Connection" addr=10.10.29.9 mask=255.0.0.0
若要删除 IP 地址,请运行与下面的示例类似的
netsh
命令(替换您自己的网络接口名称、IP 地址和掩码)。netsh -c Interface ip delete address name="Local Area Connection" addr=10.10.29.9
Linux 配置
若要在 Linux 机器上设置 IP 别名:
- 使用
ip
命令向网络接口添加或删除 IP 别名。
下面的例子向 eth0 接口添加了一个 IP 别名:
# ip address add 10.10.29.9 dev eth0
下面的示例删除了一个 IP 别名。
# ip address del 10.10.29.9 dev eth0
配置负载测试机器以使用多个 IP 地址
配置虚拟用户使用多个 IP 地址:
- 请从 Load Test 配置的机器节点中选择相应的机器。
- 在机器配置视图的机器 IP 配置面板中,选择自定义并选择要使用的网络接口。您可以选择使用所选接口的所有 IP,也可以选择特定的 IP 地址。
机器网络接口和 IP 配置视图如下图所示:
在负载测试执行期间,机器上的每个虚拟用户将从该机器的 IP 地址列表中分配一个 IP 地址。
虚拟用户(VU)将以循环方式分配 IP 地址。例如,如果将机器“localhost”配置为使用两个 IP 地址,如下图所示,那么 VU 将按照以下顺序分配 IP 地址:
- VU 1 – 10.10.201.237
- VU 2 – 10.10.201.238
- VU 3 – 10.10.201.237
- VU 4 – 10.10.201.238
一旦一个 IP 地址被分配给一个虚拟用户,它将在该虚拟用户必须执行的所有测试中使用。
同步远程机器
在 Load Test 中使用的 SOAtest 项目可以具有外部依赖关系,其形式是由负载测试的虚拟用户在执行 SOAtest 测试时使用的文件。SOAtest 项目测试的正确运行取决于负载测试控制器机器和运行负载生成器的远程机器上这些外部资源的可用性。Load Test 自动化了将外部依赖项转移到远程机器的过程。
有关如何确保项目所需的所有外部资源在远程计算机上可用的详细信息,请参阅将项目外部依赖项转移到远程计算机。