本主题介绍如何使用 Load Test Continuum,您可以使用它(连同命令行接口)来设置自动化的连续性能测试流程,并轻松监控其结果。章节目录:

前言

Load Test Continuum 是一个 Web 应用程序,它允许用户从多个负载测试运行中组织数据,并通过浏览器界面访问数据。

Load Test Continuum Web 应用程序与 Load Test 命令行脚本接口一起工作;这允许 Load Test 报告在负载测试完成后自动发送到 Load Test Continuum。

Load Test Continuum Web 应用程序,以及相关的 Load Test 命令行接口,使软件开发和测试团队能够设置自动化的连续性能测试流程,并轻松监控其结果。

将性能测试纳入 SDLC,并作为每日/每夜测试流程的一部分持续运行性能测试,可带来以下好处:

  • 通过早期和持续自动执行负载测试,消除 SDLC 的不确定性。
  • 在 SDLC 中跟踪服务/应用程序的性能,从而在问题造成影响之前发现并解决问题。
  • 为性能建立 QoS(服务质量)基线,然后立即发现偏离基线的情况。

在 Tomcat 8 & 9 和 Java 8 & 11 上测试了 Load Test Continuum

Load Test Continuum 设计用于许多现代服务器,但是服务器平台和 Java 版本的不同组合可能会影响 LTC 的性能或可用性。

部署 Load Test Continuum Web 应用程序

Load Test Continuum Web 应用程序打包在 ltc.war 压缩包中,其可以在 SOAtest/LoadTest 根安装目录中找到。

若要在 Tomcat Web 服务器上部署 Load Test Continuum,请将 ltc.war 压缩包放置在 <TOMCAT_HOME>/webapps 目录中。如果您使用的是另一个支持 Java Web 应用程序的 Web 服务器,请将 ltc.war 放在服务器的相应 Web 应用程序部署目录中。

如果您在美国境外运行 Load Test Continuum,请根据您的设置执行以下操作之一:

  • 将以下系统属性传递给 web 服务器 JVM:

    -Duser.country=US -Duser.language=en
  • 如果使用 Tomcat 并通过 catalina.shcatalina.bat 脚本启动,请在脚本中添加以下系统属性:

    set "JAVA_OPTS=%JAVA_OPTS% -Duser.country=US -Duser.language=en"
  • 如果使用作为 Windows 服务安装的 Tomcat,请从 Tomcat 安装程序的 bin 目录启动 Tomcat9w.exe。在主窗口中,选择 Java 选项卡,在 Java 选项文本区域添加以下行,然后重启 Tomcat 服务:

    -Duser.country=US
    -Duser.language=en

配置 Load Test Continuum 数据根

Load Test Continuum Web 应用程序在安装它的机器上的特定文件路径中查找 Load Test 报告数据。默认情况下,该数据根路径被设置为 C:\\CONTINUOUS_LOAD_TEST

部署 Load Test Continuum Web 应用程序后,即可更改数据根路径。用文本编辑器打开 ${TOMCAT_HOME}\webapps\ltc\WEB-INF\ 目录中的 web.xml 文件,将 data_source_location 参数的 param-value 设置为 Load Test Continuum 查找负载测试数据的路径。如果想在多个 Load Test Continuum 安装中重复使用此配置,也可以解压 ltc.war 文件,更改 web.xml 中的 data_source_location,然后将 Web 应用程序打包。

将报告发送到 Load Test Continuum

通过从命令行运行负载测试,可以将 Load Test 报告发送到 Load Test Continuum(如 Load Test 命令行界面 - cli 中所述)。

下面来自 Load Test 脚本的示例命令将报告发送到 Load Test Continuum。请务必遵循以下脚本所示的报告路径顺序:

${ltc-data-root}/${project-name}/%d/${category-name}/${test-name}

${ltc-data-root} 变量应指向 Load Test Continuum 数据根(请参阅Configuring the Load Test Continuum Data Root)。

${project-name} 变量的值设置为项目的名称。该名称将出现在下面Exploring Load Test Continuum 中所描述的项目选择视图中。

%D 是当前日期的通配符,它可以替换为 YYYY-MM-DD 格式的自定义日期(例如 2023-03-25)。

您可以将 ${ltc-data-root}${project-name} 组合到单个变量:

var ltc-data-root = C:\CONTINUOUS_LOAD_TEST
var project-name = YOUR_PROJECT_NAME
var project-home = ${ltc-data-root}/${project-name}

var project-home = C:\CONTINUOUS_LOAD_TEST\YOUR_PROJECT_NAME

下面的例子展示了完整的脚本:

#
# Set variable values according to your configuration
#
var ltc-data-root = C:\CONTINUOUS_LOAD_TEST
var project-name = YOUR_PROJECT_NAME
var project-home = ${ltc-data-root}/${project-name}

var scenario = "Steady Load"
var base = tests/loadtester/accuracytest/tests
var category = BackComp.SOAtest.Accuracy
var minutes = 1

var test-name = 1-Profile-HPS
open ${base}/${test-name}.lt
loadtest -minutes ${minutes} -allReports ${project-home}/%d/${category}/${test-name}
${scenario}

Load Test Continuum 将测试报告类别、报告和报告指标整理为树状结构。报告类别可按所需层级整理为子类别。类别路径中的 "."(点)字符被解释为类别/子类别分隔符。 

例如,字符串 BackComp.SOAtest.Accuracy 将被解释为一个路径,其中 "BackComp" 为顶级类别,"SOAtest" 为一级类别和"Accuracy" 为二级类别。它将在 Load Test Continuum 项目视图中显示为一个三层树结构(请参见下面Project View部分的屏幕截图)。

您可以为不同的项目创建不同的设置文件,然后使用 loadtest 命令的 -settings 选项,指示应将哪个文件用于当前命令行测试。更多详情,请参阅设置文件

探索 Load Test Continuum

在浏览器中打开 Load Test Continuum(例如,http://<yourserver>:<yourport>/ltc),开始探索界面。

项目选择视图

在项目选择视图中,点击要查看其结果的项目的链接。将打开适当的 Load Test Continuum 项目页面。

项目视图

Load Test Continuum 项目视图的顶部包含项目历史视图,其中包括:

  • 报告日历
  • 测试历史图
  • 指标历史图

报告日历

主页左上角的日历视图显示一个月度概要视图。

要切换不同月份,请点击箭头:

若要重新载入报告内容,请点击 Reload project data

红色和绿色高亮显示用于指示某一天的测试是失败还是成功。您可以点击突出显示的日期来查看当天的类别/测试/指标树视图。

每日报告概要和树视图显示在 Project History 视图下。您可以点击每个节点上的三角形来展开和收缩报告树。

默认情况下,Load Test 报告指标是隐藏的。点击 Show Metrics 和 Hide Metrics 以打开和关闭指标数据。 

在 Load Test 报告视图中,有用于测试报告和 QoS 指标图的各种链接。

测试报告

若要查看个别测试报告的详情,请点击合适的链接:

  • History:特定测试的历史记录及其 QoS 指标。
  • HTML:Load Test 负载测试 HTML 报告。
  • Binary:Load Test 负载测试二进制报告。

单个 QoS 指标图

如果 QoS 指标状态详细信息字符串包含一个数字,则该指标被视为“数值”指标。每个数值 QoS 指标都有一个数值历史图。

若要查看单个测试的数值指标历史记录,请点击要查看的指标旁边的 Metric history graph 图标:

显示数值历史图:

数值 QoS 指标图页面显示页面中心的指标值图和值图下方的导航图。导航图显示所有可用的数据,并突出显示一个滑动窗口,该窗口定义了数据图的时间边界。若要浏览这些图表,您可以:

  • 通过点击值图上方面板中 Last 7|15|30 days Last 12|26|52 weeks 链接中的一个来更改滑块窗口宽度。
  • 拖动页面底部导航图突出显示的滑动窗口;鼠标释放后,值图将重新加载。如果滑动窗口突出显示整个导航图,则选择较小的时间窗口间隔。

多个 QoS 指标图

如果将具有特定名称的 QoS 指标应用于多个测试,则可以看到该指标用于所有测试的历史图表……都在同一页面上。

若要查看多个测试的历史图表,请点击要查看的指标旁边的 All graphs of this metric 图标:

多个同名 QoS 指标图显示:

当您想查看某个指标应用于所有测试的效果时,这类视图就非常有用。例如,“平均执行时间”指标或“失败次数”指标。您可以点击每个概要图进一步查看详细信息和导航选项。

若要查看某个测试的所有指标图,请点击 All graphs of this test 图标:

显示同一测试的多个 QoS 指标图:

您可以点击每个概要图进一步查看详细信息和导航选项。

测试历史和指标历史图表

这些图表位于 Load Test Continuum 主页顶部的报表日历图旁边。这些图表提供了所有测试和 QoS 指标如何随时间执行的高级视图。

您可以点击这些图表,并以浏览单个和多个 QoS 指标图的相同方式浏览这些图表。


  • No labels