本主题描述 Load Test 执行负载测试后生成的报告,同时阐明了如何访问、定制、保存、重新打开这些报告。在本章节中:
如果希望 Load Test 创建一份详细报告,则必须在测试执行前对其进行配置。默认情况下,Load Test 不会收集该报告的信息(为了简化测试过程)。
预选 Detailed Report 选项提示 Load Test 除了创建常规负载测试报告外,还创建详细的方案报告。详细的方案报告将绘制方案运行所导致的每次“点击”。这是 Load Test 为虚拟用户测试生成的最详细的报告。因为该报告绘制了每次点击,所以您会知道大多数命中发生在何处,以及有多少点击不在正态分布之外。
若要预选将应用于项目所有场景的 Detailed Report 选项:
请选择 Load Test 选项卡中的 Scenarios 节点。 Report Settings 将显示在右侧 GUI 面板。
如果 Load Test 选项卡未激活,请右键单击 Projects 选项卡的任何位置并从快捷菜单中选择 Create Load Tests 。 |
负载测试完成之后,可在右侧 GUI 面板中获得其测试结果。稍后若要打开此窗口:
负载测试结果将在右侧 GUI 面板中显示,该面板具有以下菜单选项:
在测试树选择面板中,您可以选择 All Tests, All Test Suites, All Test Requests (如果报告需要) All,或 None 测试树节点,通过选择测试树选择面板下 Select 按钮下拉菜单中的适当项:
测试树选择面板中的每个树节点都有相同的下拉菜单:
可扩展的 Options 面板显示测试树选择面板的其他控件。Single Selection on Path 选项(默认选中)确保在每个树路径上选择的树节点不超过一个。这可以防止在测试树选择面板控制的视图中不希望的父节点和子节点数据的报告累积。
Propagate Selection 选项(默认为选中)允许将您选择应用于整个子树。例如,如果您选择/未选择拥有子节点的树节点,所有子节点都将被选中/不被选中。
本节描述以下报告类型:
测试信息报告以文本格式列出了基本测试参数和结果。还将为已配置的度量显示服务质量报告摘要。
统计信息报告列出了负载测试的详细数据,例如运行时间和故障计数。
该报告显示了单个测试的数据,以及它们所属的测试套件(如果存在这样的数据)。测试和测试套件都是在每个单独的测试或测试套件完成后的负载测试期间生成的。稍后这些单个报告将用来计算统计信息视图中显示的汇总值。
统计信息报告可以在分层结构或平面布局中查看。
这是分层结构布局:
这是平面布局:
查看统计信息报告时,可以使用 Output Types 菜单。Output Types 菜单确定显示的哪个报告输出类型。该菜单提供两种类型的报告,每种报告显示不同的信息列。报告类型不同点在于:
如果一某些机器被配置为在 High Throughout Mode 下运行,可用报告类型将为:
您可以删除面板中显示的用于通用和网络客户端报告的选定列,以及/或为每种报告类型添加附加列。
若要自定义可用的报告列:
若要访问有关特定测试故障的详情,请双击相关报告行。您可以通过定位表示该测试的行,然后检查该行中的“故障计数”列中的的数字来确定给定的测试是否失败。Load Test 将显示测试的最后一个错误的详情。您可以在如 Viewing Detailed Report Table Content中所述的详细报告部分查看特定测试的所有错误。
详细报告保存负载测试期间收集的所有数据样本,以及发生的所有错误的详细信息。这是 Load Test 为负载测试生成的最详细的报告。因为该报告绘制了每次点击,所以您会知道大多数命中发生在何处,以及有多少点击不在正态分布之外。所有服务器机器的结果在同一个图表中显示;并彩色编码不同的服务器结果。
详细报告包含以下选项:
此外,还可以通过右侧 GUI 面板顶部的下拉菜单筛选详细报告每个选项中的结果。显示的负载测试详情可通过 Machines, Profiles,和 Tests来过滤。
请注意,测试树过滤允许您拥有包括测试套件、测试和用于浏览器测试、浏览器请求报告的图表。当评估被测系统的负载时,请留意这一点,并选择适用于您的测试场景报告的合适子集。例如,如果运行一个基于 SOAtest SOAP 客户端的负载测试,您可能希望只选择 Test 节点(参见下面的截图),以查看对被测系统的 SOAP 客户端请求的图表。只有当您想要查看包含多个测试的事务图时,才会选择 Test Suite 节点。
以下选项显示在详细报告 Graph 选项卡图例中:
ox
” 键入 Host字段, "SNMP TCP Established
" 键入 Graph Title字段,在负载测试过程中,您将在 Graph 选项卡中看见一个多选框,它标记为 "ox SNMP TCP Established
"。有关监视器参数的更多详情,请查阅 使用监视器。有多种方法可以自定义 Detailed Reports Graph 选项卡的报告内容。若要过滤显示的图表数据:
若要自定义 Graph 选项卡中的报告参数:
若要将报告的 Y 轴从默认线性比例尺更改为对数比例尺(反之亦然):
若要使用指定颜色填充图表区,请选择 Fill graph areas 多选框。
若要在负载测试期间将单个点击作为当个点显示:
选择 Show Individual Hits 多选框。在负载测试期间发生的所有单个点击都显示在图表选项卡中。
将鼠标悬停于点击上,将显示一个包含点击统计信息的工具提示。
只有预选了 Record individual hits 选项时,才能在详细报告中显示单个点击,该选项来自场景配置面板的 Report Settings 选项卡。有关更多详情,请查阅 Preselecting Detailed Report Options。 |
为了减少图表点的数量,在长时间运行负载测试(12 小时或更长时间)有大量报告的情况下,请单击箭头按钮展开 Reduce Graph Points 框。可使用以下选项:
若要放大图表的特定区域:
若要放大或缩小图表:
若要移动图表:
若要返回到原始图表尺寸和/或位置:
若要以 CSV 格式导出并保存单个点击:
选择 Show Individual Hits 多选框。负载测试期间发生的所有单个点击都显示在图表选项卡中。
只有预选了 Record individual hits 选项时,才能在详细报告中显示单个点击,该选项来自场景配置面板的 Report Settings 选项卡。有关更多详情,请查阅 Preselecting Detailed Report Options。 |
若要以 CSV 格式导出并保存图表点:
在打开的对话框中,选择要保存 CSV 文件的位置。
只有预选了 Record individual hits 选项时,Export Graph Points 才可用,该选项来自场景配置面板的 Report Settings 选项卡。有关更多详情,请查阅 Preselecting Detailed Report Options。 |
若要自定义详细报告图表颜色:
柱状图表示所选定变量(执行时间、请求大小、响应大小)获得的值的分布。
若要控制柱状图所关注的内容:
在查看详细报告Table 选项卡中的任何错误或单个点击之前,必须先从“图表”选项卡中选择一个时间间隔,完成以下操作之一:
若要查看Table 选项卡中的错误,请完成“图表”选项卡中的以下操作:
若要查看 Table 选项卡中的单个点击,请完成“图表”选项卡中的以下操作:
您可以通过右键单击“Individual Hits”表格中的行查看虚拟用户的所有点击率,然后从快捷菜单中选择 Show All Hits of This VU 。
这将打开一个包含所选虚拟用户的所有点击率的表格表。
若要返回到“Individual Hits”表格,请单击 Show Previous Table << 按钮。
若要自定义Table 选项卡视图中的可视行
服务质量(QoS)报告显示您在 Load Test 中配置的度量,并显示一个 Summary 选项卡和一个 Details 选项卡。
Summary 选项卡显示 Metric、Description、Status 列。QoS 报告中的每一行对应一个 QoS 度量。
Details 选项卡显示为所选定场景配置的可用度量的结果。Details 选项卡还显示从 Metric 列表中选择的度量的名称、参数和注意事项。
您可以通过从 Metric 列表中配置任意度量的参数并单击 Apply to Report 按钮,以进一步自定义报告中的度量。您还可以从 Metrics 列表(CTRL-click)中选择多个度量,然后单击 Apply to Report 按钮。这将更新 Qos 报告和测试信息视图中所见的 QoS 结果,但不会反映在场景视图的 QoS 节点中。
有关使用和配置服务质量度量的更多详情,请查阅 Customizing QoS Metrics for Scenarios。
您还可以右键单击 Load Test 选项卡的任何位置,并选择 View Structure Report> HTML/XML。在浏览器中显示负载测试配置报告。该面板包含以下信息:
负载测试执行期间,使用浏览器测试工具的 web 功能测试会发送多个请求(可在 SOAtest 负载测试透视图下的测试编辑器中看到该请求)。您可以将这些请求的报告视为负载测试报告中统计信息、详细报告和 QoS 报告部分中浏览器测试报告的子节点。
对于每个浏览器测试和相关请求, Load Test 都将记录与网络相关的数据。这些数据将在负载测试报告中 Statistics 部分的网络客户端报告表格中获得。(有关更多详情,请查阅 Statistics )。
负载测试报告的 Statistics 部分显示如下所示的浏览请求:
负载测试报告的 Detailed Report 部分显示如下所示的浏览请求:
负载测试报告的 QoS 部分显示如下所示的浏览请求:
您可以以二进制、HTML、XML、GIF 和 CSV 的格式对单个负载测试进行保存。并非所有报告都可以以所有格式保存。仅二进制格式的报告才可在 Load Test 中重新打开。
您还可以保存包含测试信息、柱状图和表格的综合性负载测试报告。这个选项在命令行中也可用。
以下表格描述哪个格式应用到哪个报告,和如何以可用格式保存报告。
报告类型 | 应用于 | 包含 | 说明 |
---|---|---|---|
二进制(.rpt) | 所有报告视图 | 所有报告 |
|
HTML (.htm, .html) | 所有报告视图 | 所有报告 |
|
XML (.xml) | 统计信息报告视图 | 所选报告 |
|
Image/GIF (.gif) | 详细报告图表和柱状图 | 所选报告 |
|
Comma Separated Values (.csv) | 统计信息报告视图或详细报告错误 | 所选报告 |
|
若要打开二进制格式的报告,选择 File> Open,然后使用文件选择器来指定要打开的 .rpt 文件。
若要保存负载测试报告的一部分:
间隔报告的统计数据和 QoS 度量将根据选择而重新计算。
在保存负载测试报告的一部分时,请记住,报告数据大约每隔 3 秒收集和保存一次。当保存报告的一部分时,将保存包含在选择项中的所有间隔。当选择表示该间隔的图表节点时,将选择一个间隔。 例如,下图所示的 8.5 秒到 14 秒选择包括 9.1 秒和 12.1 秒的图形节点,它们代表了以下数据收集间隔:
这两种间隔将保存在报告中。保存的报告间隔将包含两个图表点。同时属于两种间隔的单个点击将保存在报告中。 |
除了以 HTML 格式保存并查看负载测试报告外,还可以根据选择的不同参数自定义包含在这些 HTML 报告中的图表视图。
若要配置 HTML 报告中显示的图表视图:
Log Scale: 如果您想使用对数比例尺,请选择 Log Scale 多选框。对数比例尺允许您在同一图形上看到多个条的形状(即使显示的值彼此相距很远)。
Save in Project: 点击该选项将报告保存到当前项目。默认该项目生成的下一个负载测试报告具有保存的 HTML 报告选项。然而,如果报告是单独的报告(从磁盘而非当前项目的一部分加载), Save in Project 按钮将不可用。
将负载测试以二进制报告保存之后,您可以将这些报告加载到 Load Test 中,并比较和对比各种详细的报告参数。例如,运行并保存负载测试之后,您会发现特定操作的执行时间特别慢。为了提高执行时间,进行必要更改之后,您可以为新的和增强版的服务或应用程序运行负载测试,然后将以前保存的报告和现在的详细报告进行对比,进而查看操作更改是否造成了新的错误。
在 Load Tests 选项卡中有一个 Reports 节点,您可以在该节点上添加报告组合.报告组合包含对已保存的负载测试报告的引用。来自这些不同报告的详细报告参数可以在覆盖图中查看,从而可以比较可能发生的任何差异。
查看比较多个报告之前,您必须先将报告加载到 Load Test 中。若要加载组合报告,完成以下步骤:
点击右侧 GUI 面板底部的 New 按钮,浏览到显示对话框中已保存的报告文件(.rpt)并将其打开。对应所打开文件的节点以斜体字的形式显示在负载测试树中的 Report Composite 节点下。
以斜体字形式显示报告组合条目,强调其是对报告的引用。默认情况下,报告组合没有加载,显示为灰色。报告组合加载后,显示为黑色。 |
右键单击 Report Composite 节点并从快捷菜单中选择 Load All 。 Load Test 将加载您添加的每个报告组合。
您还可以通过选择 Report Composite 节点下合适的节点并单击右侧 GUI 面板中的 Load 按钮加载单个报告组合。 |
加载多个负载测试报告之后,您可以选择负载测试树中“报告”节点下的 Report Composite 节点,以配置和比较组合报告。在报告组合控件中以下选项可用
活动报告允许您访问测试执行期间运行负载测试场景所收集到的所有数据,而不必停止负载测试。
活动报告包含到打开活动报告时为止收集的负载测试数据;它包括标准负载测试报告的所有数据、统计数据、单个点击数据、流量以及错误详情(如果这些都被配置为记录下来)。可以在负载测试场景运行的任何时候刷新活动报告。
活动报告应该只在您需要在负载测试进程视图中查看不可用的负载测试详情时使用。例如,如果您想在负载测试运行时查看错误详情。
若要访问活动报告:
您可以使用与标准负载测试报告相同的方式操作并保存活动报告。
若要刷新活动报告数据为最新状态:
活动报告可用于定期评估在命令行模式下运行的负载测试进程。这对于从配置为长时间运行运行的负载测试获得反馈尤其有价值。
以命令行模式运行测试时,您可以使用与以 GUI 模式运行测试的相同方式访问活动报告。
在系统崩溃或应用程序关闭之后,通常可以使用负载测试报告恢复功能来恢复负载测试数据。若要查看可恢复的报告:
恢复负载测试报告后,您可以将其保存为您选择的格式。
以下是在负载测试报告中使用的一些术语定义:
下面的图解说明了这些度量如何与实际的测试操作对应。
前两个图解显示的是请求发送时间:
现在,消息正在从服务器传输到服务器,包括应用程序“考虑时间”。
接下来两个图解显示的是响应接收时间:
最后一个图解显示了上述操作的总执行时间是多少:
审查 Parasoft Load Test 结果时,您可能偶尔会看到“连接重置”错误。
基本上,“连接重置”错误通常由超负荷的服务器生成,在这种情况下,它是由 OS TCP 堆栈引起的,并作为 Java 网络异常传播到应用程序层。
更详细地说,“连接重置”不是 Parasoft Load Test 独有的错误信息;它由 Java 生成,并对应指定的低级事件。当 Java 使用 RST(reset 的缩写)消息终止连接时,它将报告“连接重置”(在本例中,JVM 运行 Load Test )。如果 JVM 在服务器端遇到任何过早关闭的连接,就会发生这种情况。过早关闭的连接意味着在负载测试还在接收响应时,服务器关闭了连接。进而导致负载测试 JVM 强制发出“重置”,从而终止连接。这不是 Load Test 的功能;相反地,它是 JVM 为了遵循 TCP 协议规范而采取的一种行为。
很明显, Load Test 明显生成了连接设置,因为重置意味着某一端的连接已经关闭(在本例中是服务器端)。如果服务器应用程序发出 RST, Load Test 将不会接收到任何信息,因为连接已经终止。
我们可能很难理解连接重置。最简单的方法是将它视为已经发生的问题的一种症状。换句话说,重置连接并不是问题所在 — 问题在于服务器上过早关闭的连接导致了 Load Test 中的连接重置。
来自 java.net.Socket JavaDoc:
“在异常条件下,远程主机或网络软件(例如,TCP 连接情况下的连接重置)可能破坏潜在的连接。”
若要了解关于连接重置错误的更多详情,请查阅 http://download.oracle.com/javase/6/docs/technotes/guides/net/articles/connection_release.html 。