本主题介绍如何使用 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.sh 或 catalina.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 指标图的相同方式浏览这些图表。