测试结果是在运行过程中动态产生的。你也可以为了查看和分析的需要在运行后重新产生结果。IBM Rational
Performance Tester 提供了非常丰富的测试报告功能,你可以灵活的选择适合你的测试目标的测试报告。本文将全面的介绍
IBM Rational Performance Tester 中提供报告特性,包括报告的类型、报告的查看、两个报告的比较、定制报告、查看执行历史等特性。
IBM Rational Performance Tester 中包含了非常全面的报告类型,完全能够满足绝大多数测试项目的需求。在完成了测试创建、扩展、调度创建和运行后,你需要对测试报告进行分析,以找出当前
被测系统在哪些方面还存在性能问题。针对具体的需求,并不是所有的报告都是有意义的。你在规划测试时,你不仅仅建立了负载模型,同时你也应该确定测试的评测标准。换句话说就是,你要在测试执行之前对具体的测试指标和期望结果进行规划。举个简单的例子,假设我们正在测试一个网上购物的站点,我们期望系统在1000个用户同时访问时响应的时间在1秒中之内。对于这个需求,我们可以确定出具体的性能指标:在性能报告中(接下来的章节会详细介绍)页面的平均响应时间在1秒中之内。当你运行测试后,你就应该找到性能报告中的页面性能标签,查看平均响应时间是多少(如下图)。如果响应时间在1秒钟之内,证明被测系统的此项指标达到了期望值。

接下来的部分,会详细的介绍 IBM Rational Performance Tester 包含的报告类型,你可以根据具体的测试需求来选择报告中的具体指标进行评测。在分析测试结果时,你可能希望更好的将你关心的指标组织在一起,以便结果的查看和分析,或者你希望对多次的测试执行报告进行比较,对测试执行过程中的信息进行查看,本本的后面几个小节将详细的介绍这些功能。
IBM Rational Performance Tester中包括了以下的报告类型:
1. 性能报告
2. 页面元素报告
3. 百分点报告
4. 事务报告
5. 验证点报告
接下来,将对这些类型的报告进行详细的说明。
1.1 性能报告
这一报告概括了运行的正确性,总结了对运行最重要的数据,指出测试中最慢的十个页面的响应趋势,并作出每一页面的响应趋势的时间变化图。
总体标签
总体标签提供了下列信息:
- 一个指出运行状态的进度标识。
- 一个表明运行大致成功的柱状图。图形指出:
- 整个运行中页面元素状态码成功的百分比。
页面元素成功百分比是指根据请求通过的响应代码检验点。如果一个请求没有检验点,成功是指服务器收到了请求并返回一个带有属于200或300范畴的状态码的响应,或者返回一个期望的带有属于400或500范畴的状态码的响应。
- 整个运行中页面状态码成功的百分比。
页面状态码成功百分比是指根据主请求通过的响应代码检验点。如果一个主要请求没有检验点,成功是指服务器收到了请求并返回一个带有属于200或300范畴的状态码的响应,或者返回一个期望的带有属于400或500范畴的状态码的响应。
- 如果运行包含了页面标题检验点,柱状图指出了通过的检验点的百分比。
- 如果运行包含了响应代码或响应长度检验点,柱状图指出了通过的检验点的百分比。
图1
概要标签
概要标签概括了对测试运行最重要的数据并使你能够迅速分析一个测试的最终或中间结果。
概要标签提供了下列运行摘要信息:
- 活动的和全部的用户数量。这一数字在运行过程中被更新。
- 消耗的时间。这是运行过程的时间,按小时,分钟,秒来显示。
- 显示计算机的结果。你可以通过在性能测试运行视图中点击计算机名称查看单个计算机的概要结果。
- 运行状态,是指运行的状态。它可以是初始化计算机,添加用户,运行,执行运行历史数据转移,停止,或完成。
概要标签提供了下列页面摘要信息:
- 所有页面的平均响应时间。响应时间是所有页面元素响应时间之和(包括连接时间和内部请求延迟)。
- 所有页面的最长响应时间。
- 所有页面的最短响应时间。
- 页面尝试的总数和命中页面的总数。页面尝试指的是一个主请求被发出;它不包括页面内的请求。命中指的是服务器收到请求并返回响应。
- 如果你设置了页面检验点,概要标签会显示页面检验点的结果摘要。
概要标签提供了下列页面元素摘要信息:
- 所有页面元素的平均响应时间。响应时间是从发送第一个请求字符到收到最后一个响应字符的时间。
- 页面元素尝试的总数和命中页面元素的总数。页面元素尝试指的是一个请求被发出。命中指的是服务器收到请求并返回响应。
- 通过的检验点的百分比。
- 如果你设置了页面元素检验点,概要标签会显示检验点的结果摘要。
如果你在测试中设置了交易事务,概要标签提供下列事务信息:
- 所有事务的最小,最大,以及平均响应时间。响应时间是事务容器内实际消耗的时间。
- 启动的事务总数和完成的事务总数。
图2
页面性能标签
页面性能标签显示了测试过程中最慢的十个页面的平均响应。它使你能够评估测试期间系统的响应,以及测试后系统的响应情况。
柱状图表示了最慢的十个页面的平均响应时间。每根柱代表了在记录过程中你所访问的一个页面。当你运行测试时,柱状图随之改变,因为在运行过程中最慢的十个页面在动态地更新。比如说,在运行初期"登陆"页面可能是十个最慢的页面之一,但是,随着测试的进行,"购物车"页面可能取代"登陆"页面成为最慢的十个页面之一。运行结束后,标签显示整个运行中最慢的十个页面。
柱状图下的表格提供了下列附加信息:
- 运行中每个页面的响应时间最小值。响应时间是从发送第一个请求字符到收到最后一个响应字符的时间。
- 运行中每个页面的响应时间平均值;即,与图中相同的信息。
- 运行中每个页面的响应时间最大值。
- 尝试访问每个页面的速度。一次尝试是指一个主要请求被发送出去;它不包括页面内的请求。
- 访问页面的尝试计数。
图3
响应与时间概要标签
响应与时间概要标签使你从时间变化图中看到平均响应的趋势。它包含了两条带有相应摘要表格的曲线图:
- 左边的曲线图表示运行过程中所有页面的平均响应。图上的每一点代表了该时间间隔内的平均值。图下面的表格指出了一个数字:运行中所有页面的总平均响应时间。
- 右边的曲线图表示运行过程中所有页面元素的平均响应时间。图上的每一点表示了该时间间隔内的平均值。图下面的表格指出了一个数字:运行中所有页面元素的总平均响应时间。你在调度中设置统计样例间隔作为一个调度属性。
图4
响应与时间细节标签
响应与时间细节标签使你能够通过时间图看到响应趋势。每个页面由一条单独的曲线表示。
曲线图显示了每个页面随时间的平均响应。图下面的表格包含了下列补充信息:
- 运行的页面响应时间最小值。响应时间是从发送主请求的第一个请求字符到收到最后一个响应字符的时间;它不包括页面内的请求。
- 运行的页面响应时间平均值(这与图形相似,但是表格中的信息涵盖了整个运行)。
- 运行的页面响应时间最大值。
- 最近样例间隔的每个间隔内的页面尝试速率。页面尝试是指主请求被发送;它不包括页面内的请求。你在调度中设置统计样例间隔作为一个调度属性。
- 每个间隔内的页面尝试计数。
图5
页面吞吐量标签
页面吞吐量标签为你提供了每个时间间隔内传输请求的频率的总体情况。
- 左边的曲线图显示了每个间隔内所有页面的页面尝试速率和页面命中速率。页面尝试是指主请求被发送;它不包括页面内的请求。命中是指服务器收到请求并返回响应。图下面的摘要表格指出了运行中每个页面总的命中率和计数。
- 右边的曲线图显示了在运行过程中活动的和完成的用户数。图下面的摘要表格指出了最近的样例间隔。你在调度中设置统计样例间隔作为一个调度属性。
图6
服务器运行状况概要标签
服务器运行状况概要标签为你提供了服务器对负荷的响应情况的整体指示。
- 左边的柱状图指出了运行中页面尝试的总数,页面命中的总数,以及状态码成功的总数。图下面的表格显示了相同的信息。
页面尝试是指一个主要请求被发送出去;它不包括页面内的请求。
命中是指服务器收到了请求并返回响应。
成功是指通过请求的响应码检验点。如果请求没有检验点,则成功指服务器收到请求并返回一个带有属于200或300范畴的状态码的响应,或返回一个带有属于400或500范畴的状态码的期待响应。
- 右边的柱状图表示了运行中页面元素尝试的总数,页面命中的总数,以及状态码成功的总数。图下面的表格显示了相同的信息。
服务器运行状况详细信息标签
服务器运行状况详细信息标签提供了最不成功的十个页面的具体细节。
- 柱状图显示了最不成功的十个页面。
- 图下面的概要表格显示了运行中所有页面的尝试次数,命中次数,以及成功次数,还有运行时每秒的尝试次数。尝试是指一个主要请求被发送;它不包括页面内的请求。
命中是指服务器收到请求并返回响应。
成功是指通过请求的响应码检验点。如果请求没有检验点,则成功指服务器收到请求并返回一个带有属于200或300范畴的状态码的响应,或返回一个带有属于400或500范畴的状态码的期待响应。
图8
1.2页面元素报告
该报告概括了对测试运行最重要的页面元素数据。
这份报告中的图表指出了时间间隔,尝试,命中,以及成功。
- 间隔取决于你如何在调度中设置统计样例间隔。
- 尝试是指一个请求被发送出去。
- 命中是指服务器收到请求并返回响应。
- 成功是指通过请求的响应码检验点。如果请求没有检验点,则成功指服务器收到请求并返回一个带有属于200或300范畴的状态码的响应,或返回一个带有属于400或500范畴的状态码的期待响应。
- 响应时间是从发送第一个请求字符到收到最后一个响应字符的时间。
总体标签
总体曲线图指出了随时间变化的所有页面元素的平均响应时间。图下面的表格提供了下列信息:
- 运行中所有页面元素的平均响应时间。
- 运行中页面元素尝试的速率。
- 运行中页面元素尝试的总数。
图9
响应与时间摘要标签
响应与时间摘要曲线图显示了运行中最慢的十个页面元素的响应时间。图下面的表格列出了母页面和页面元素,并提供了下列信息:
- 运行中页面元素的响应时间平均值。
- 最近的样例间隔的每秒尝试速率。
- 最近的样例间隔的尝试计数。
图10
响应与时间详细信息标签
响应与时间详细信息表格指出了运行中每个页面元素的响应时间。该表格列出了母页面和页面元素,并为整个运行过程中每个页面元素提供了下列信息:
图11 
页面元素吞吐量标签
页面元素吞吐量标签通过时间图使你能够看到平均响应的趋势。它包含了两条带有相应概要表格的曲线:
- 左边的曲线表示了最后记录的间隔内所有页面尝试比率和命中比率的组合。图下面的表格指出了一个数字:运行中所有页面的平均命中比率。
- 右边的曲线图表示了活动的和完整的用户的对比。图下面的表格指出了整个运行中活动的,完成的,以及全部的用户数。
图12
服务器运行状况详细标签
服务器运行状况详细柱状图显示了运行中最慢的十个页面元素的成功度。图下面的表格列出了母页面和页面元素,并提供了如下的整体运行信息:
- 尝试次数。
- 命中次数。
- 成功次数。
- 成功百分比(与柱状图中绘出的信息相同)。
- 每秒尝试次数。
图13
1.3 百分点报告
该报告产生于一次运行完成以后,指出了运行中最慢的十个页面的85%,90%,和95%的响应时间比。
该报告的摘要标签包括了三张柱状图。它们表示了运行中所有用户所有页面85%,90%,95%的情况。比如说,对85%的柱状图来说,85%的用户看到了这个响应时间,或比这更短的响应时间。对90%的柱状图来说,90%的用户看到了这个响应时间,或比这更短的响应时间。而对95%的柱状图来说,所有用户的95%看到了这个或比这个更好的响应。
图14
85%,90%,和95%标签表示了运行中最慢的十个页面的运行时间百分比。比如说,如果你点击85%标签,查出的页面是110(总数标在每个柱下),那么你知道85%的响应时间是小于等于110毫秒的。
这张图对了解每个页面的整体响应时间情况是非常有用的。例如,一个登陆页面可能出现在页面性能报告中的最慢的十个页面里。但是,有可能某个页面尝试是非常慢的,而其他尝试则是正常的。百分比报告显示的那些响应慢的页面,它们在整体上是慢的,而不是有一些响应慢。
图下面的表格提供了更多详细数据。对每个页面,它指出了:
- 运行的响应时间最小值。
- 运行的响应时间平均值。
- 运行的响应时间最大。
- 第85%百分点的响应时间。即,对这个特定页面,占85%的情况比这次运行的响应时间更短。
- 第90%百分点的响应时间。即,对这个特定页面,占90%的情况比这次运行的响应时间更短。
- 第95%百分点的响应时间。即,对这个特定页面,占95%的情况比这次运行的响应时间更短。
- 对每个页面运行中的尝试计数。
1.4 事务报告
该报告概括了运行中成功的事务,绘出了每个事务随时间的响应趋势,并指出了事务吞吐量。
该报告绘出了一次运行中的样例间隔。你在调度中把统计样例间隔设置为一个调度属性。
总体标签
该曲线图按时间指出了所有事务的平均执行时间。执行时间是事务容器内部实际花费的时间。图下面的表格指出了:
- 整个运行过程中所有事务的平均执行时间。
- 整个运行中最长的事务。
- 整个运行中最短的事务。
图15
持续时间-时间标签
这一曲线图指出了随调度化的每个事务的平均响应。每个事务由一条单独的曲线表示。图下面的表格列出了事务并为每个事务提供了下列信息:
- 整个运行的执行时间最小值。
- 整个运行的执行时间平均值(与曲线图相似,但是表格中的信息给出的是整个运行的平均值,而不是每个间隔的平均值)。
- 整个运行的执行时间最大值。
- 每秒完成的事务速率。
- 事务尝试计数。
图16
事务吞吐量标签
这些曲线图提供了一次运行过程中事务频率的概况以及添加负载的用户数量。
- 左边的曲线图指出了随时间变化的总体的事务启动比率和完成比率。图下面的概要表格指出了每秒的事务比率以及整个运行中完成的事务数。
- 右边的图指出了运行过程中活动的和完成的用户。图下面的概要表格指出了最后一个样例间隔内活动的,完成的,和总共的用户数。
图17
1.5验证点报告
该报告指出了你的测试中的验证点的状态。
如果你的测试检验返回的页面标题,返回的页面元素代码,或者页面元素的响应长度,该报告将会出现。如果希望你的测试检验这些项目,完成如下步骤:
1. 在记录前,通过选择窗口 > 首选项 > 测试 > 性能测试生成 >自动包含以下文本的验证点区域,选中HTML页面标题。或者,在测试的编辑阶段,通过右键点击测试项目逐个激活页面检验点。
图18
2. 在调度中,设置统计日志级别为页面或者所有。
图19
概要标签指出了上一个记录间隔内通过的检验点的百分比。你在调度中把统计样例间隔设置为一个调度属性。
页面检验点标签为每个含有检验点的页面显示了如下信息:
- 运行中通过的检验点数。
- 运行中未通过的检验点数。
- 通过的检验点的百分比。
页面元素检验点标签为每个含有检验点的页面元素显示了如下信息:
- 页面及其元素的名称。
- 运行中通过的检验点数。
- 运行中未通过的检验点数。
- 通过的检验点的百分比。
图20
在运行期间报告是自动显示的。当你关闭报告时,它并没有被保存。但是,你可以再次让它显示。
显示报告的步骤是:
1. 在性能测试运行视图中,展开项目直到你找到运行文件。每个运行文件以调度或测试的名称开始,以括在括号中的运行日期为结束。
2. 右键点击测试运行,然后点击下列显示选项之一:
图21
你可以向一个CSV文件中输出一次运行的全部结果或结果的特定部分,以备进一步分析之用。
输出运行结果的步骤是:
1. 点击文件 > 导出。
2. 在输出对话框中,选择性能测试运行统计信息,然后下一步。
图22
3. 输入CSV文件(扩展名为.CSV)的名称,然后下一步。
图23
4. 选择要输出结果的运行,然后点击下一步。运行是按时间顺序排列的,最新的运行在列表底部。
图24
5. 可以选择性地选择你想要输出的信息类型,然后点击完成。
你可以同时显示来自不同运行的报告以作比较。比较两个报告可以让你更好的识别和分析每次测试运行的结果、找出性能的问题和原因。
比较两个或更多报告的步骤是:
1. 在性能测试运行视图中,右键点击你想要显示其报告的预定运行,然后点击显示缺省报告。该运行的报告将出现。
图25
2. 右键点击另一个预定运行,然后再次点击显示缺省报告。第二个运行的报告也将出现。
3. 点击报告顶部的加载测试结果视图。拖动光标至视图区域的左边缘,光标会变成一个黑色的箭头。两个运行的报告将并列显示。
你可以同时检查两份报告。
图26
执行历史是一个显示预定或测试执行过程中发生的所有事件的单一文件。通过执行历史你可以非常容易的根据测试执行的时间来区别每一次测试运行。
当一个测试或预定运行完成后,性能测试运行视图将显示执行历史容器。该容器与测试或调度的名字相同,但是它包括了指出运行开始的时间戳。
图27
在完成测试或预定运行后打开执行历史信息的步骤是:
1. 在性能测试运行视图中,右键点击执行历史容器并选择显示执行历史。此时执行历史在编辑器中打开,概述标签被选中,表明了名称,描述,判断,起始时间和停止时间。
图28
2. 点击事件标签。
图29
3. 展开事件层次的顶层并找到你要查看的细节。
图30
协议数据视图显示了在预定运行中产生的HTML数据细节。该视图能够帮助你检验测试是否如你预期地运行。
如果你计划使用协议数据视图,推荐设置全部。但是,请记住,在运行大型预定运行时不推荐使用全部设置,因为在运行结束后需要花很多时间把大量日志细节传输到你的电脑上。一种明智的权衡做法是对日志级别设置为全部的协议数据视图运行使用一个特殊的定制,并将其限制为一个测试(或较少的几个测试)到少数几个用户组或较少的循环次数。一旦你认为测试的表现符合了你的期望,你就可以把它移至一个模拟现实工作量的定制中。
用户组、虚拟用户以及一些HTTP请求是被并行处理的,而执行历史更多地反映的是执行顺序,而不是记录顺序或调度中用户组的顺序。因此,测试中页面请求的顺序与执行历史中的顺序可能是不同的,而执行历史中用户组的顺序也可能与调度中的不同。但是,执行历史中的测试中页面的顺序以及用户组中测试的顺序与相应的测试和调度中的顺序都是相同的。
在协议数据视图中查看执行历史事件细节的步骤是:
1. 打开事件标签中的执行历史容器并找到你想要查看的详细内容。
2. 在编辑域的下面,点击协议数据标签以激活视图。
图31
如果你无法定位协议数据标签,你可以通过选择窗口 > 显示视图 > 协议数据 启动视图。
3. 在协议数据视图中,点击你想要显示的内容或视图的类型的标签:请求,响应头,响应内容或浏览器。
4. 在执行历史的事件层级域中,点击包含你想要查看的细节的元素。细节将出现在协议数据视图中。右键点击协议数据标签扩大视图区域,或选择其它显示选项。
默认报告的设计是为了满足你的需要,但是你也可以通过定制报告来进行深入的研究,特别是在调查性能问题的时候。
7.1 更改默认报告
你可以改变作为默认报告出现的报告,在运行过程中它会自动显示。
改变显示的报告的步骤:
1. 点击 窗口 > 首选项 > 测试 >性能测试报告。
2. 在缺省报告对话框中,选择确认的报告。
图32
7.2 对报告作出修改
把计数器拖到报告中是修改报告最简单的方法。
向报告中添加和取消计数器的步骤是:
1. 在性能测试运行视图中,展开项目直到你找到运行文件。每个运行文件都以调度或测试的名字开始,而以括在括号内的运行日期为结束。
2. 在运行文件中打开你想要修改的报告。如果报告没有被显示,通过右键点击测试或测试内的一台电脑重新产生报告,然后点击一个显示选项。
3. 展开类属计数器树,找到你要添加的计数器。
4. 把计数器拖到图上。报告立即被更新,如果你在已有报告上保存更改,下次你再产生报告时它就会包含这些更新。
5. 取消计数器:
a. 展开性能测试运行视图,打开报告。报告上附加的计数器将被罗列出来。
b. 右键点击计数器,然后选择取消计数器。
7.3 过滤结果数据
过滤结果数据使你能够去除无关数据,因此能够专注于对你有意义的数据上。
过滤结果的步骤是:
1. 展开性能测试运行视图中的项目直到你找到需要过滤的报告。如果必要的话,通过点击测试运行并选择显示默认报告来重新产生报告。
2. 选择要过滤的报告标签。
3. 展开性能测试运行视图直到你找到要过滤的计数器或图表(表格或图形)。你可以通过
图标确认计数器。
图33
4. 在下列选项中选择其一:
7.4 建立新的报告
一般来说,默认的报告就提供了你需要的信息。但是,在特殊情况下,你可能还需要建立新的报告。
以下是建立新报告的步骤:
1. 点击文件 > 新建 > 性能测试报告打开性能测试报告对话框。
图34
2. 在名称处输入新报告的名称。
3. 报告标签是空的因为你正在建立一个新的报告(不是编辑一个已有报告)。点击插入输入关于标签的信息。性能测试报告标签对话框将打开。
图35
4. 在标题处,输入新标签的名称。
5. 选择一个模板标签,或选择一个自定义标签:
- 性能选项卡,摘要选项卡,页面吞吐量选项卡,服务器运行状况选项卡,以及响应-时间选项卡都被包括进性能报告中。选择其中之一将为你产生一份相似的报告。
- 页面元素吞吐量选项卡以及页面元素选项摘要卡包含在页面元素报告内。选择其中之一将为你产生一份相似的报告。
- 事务吞吐量选项卡以及事务摘要选项卡包含在事务报告内。选择其中之一将为你产生一份相似的报告。
- 检验点摘要选项卡包含在检验点报告内。选择该标签将为你产生一份相似的报告。
- 定制选项卡(n图) 建立了一个带有n张图表的新标签。表格也被认为是图表。
点击下一步。
6. 你看到的向导的页数,以及它们包含的内容,取决于你选择的模板。对每张图表你将看到两个向导页。在第一个对话框中你选择图表的类型(柱状图,曲线图,或是表格)。在第二个对话框中你选择计数器。
a. 输入标签的名称。
b. 图表类型的选择取决于你的模板。例如,如果你选择性能标签,则标签的名称是性能,而图表类型是柱状图,它是性能标签展示的图形的类型。如果需要的话也可以修改图表类型。
图36
c. 点击下一步。尽管现在你可以点击添加来过滤报告,但是最好还是先创建报告,并在你检查报告后过滤数据。你可以通过计数,数值,或者标签过滤报告。
d. 这一页面上的数据取决于你选择的图表类型。例如,性能选项卡包含了默认的性能计数器,概要选项卡包含了默认的摘要计数器,等等。
图37
e. 添加新的计数器的步骤是,展开一般计数器域来选择要包含进报告的计数器。通常,你把一般计数器加入到报告中,因为在你每次重新产生报告的时候这些计数器会被更新。尽管如此,为了建立一个带有静态信息的基准报告--就是说,计数器被从相同的控制测试运行中取出,而不是根据当前结果被更新,点击显示所有测试运行并从一个具体运行中包含一个计数器。
如果有多个图表,点击下一步显示下一张图表的标题和图表类型。
7. 当你选择完毕图形和计数器后,点击完成。
现在你可以用与处理默认报告相同的方式管理和编辑这一报告。当你在性能测试运行视图中右键点击一个项目,然后点击管理报告时,新的报告将和系统提供的报告一起出现。
|