软件性能测试Ⅶ
在场景运行期间查看结果数据的两种方法
1、Vuser日志文件:包含对每个Vuser运行方案的完整跟踪。这些文件位于方案结果目录中(在以独立模式运行Vuser脚本时,这些文件放在Vuser脚本目录中)
2、Controller输出:输出窗口显示有关场景运行的信息,如果方案运行失败,可以在该窗口中查找调试信息
LoadRunner的另外一个重要的部分——Analysis,它不仅能够直观地查看结果数据,还能生成不同格式的性能测试报告,可以直接将Analysis生成的报告提交给客户
Analysis的功能:
“Analysis 图”有助于确定系统性能瓶颈,并可以将多个数据图合并成一个图,对多个图进行比较,从而找出数据之间的联系
“图数据” 视图和“原始数据”视图以电子表格格式显示用于生成图的实际数据。可以将这些数据复制到外部电子表格应用程序,以进行进一步处理
“报告”功能可使用户查看每个图的摘要、HTML 报告或各种性能和活动报告。可以将报告创建成Word文档,它会自动以图形或表格格式总结和显示测试的重要数据
运行完场景,打开Analysis,第一个问题就是性能测试是否通过?Analysis 的 Summary 视图会告诉答案
Analysis报告摘要(Summary)
在Controller中运行完测试场景后,启动Analysis,首先会展现Analysis的Summary页面
Analysis概要1、Scenario Name(场景名字)
场景的名字,如果是保存过的场景,那么将会显示场景保存的路径
2、Results in Session(结果文件)
结果文件的名字,显示结果文件的路径
3、Duration(运行时间)
本场景总共运行的时间,如果脚本中有Think Time,这里的运行时间将包含Think Time
Analysis统计信息1、Maximum Running Vuser(最大同时运行用户数)
因为LoadRunner有加载时间和延迟时间,这个数字通常比场景中设置的并发用户数小。
2、Total Throughput(bytes)(网络流量)
即场景运行过程中产生的全部网络流量。单位是字节
3、Average Throughput(bytes/second)(网络流率)
即平均网络流率。单位是字节/秒
4、Total Hits(总请求数)
场景运行过程中,发生的HTTP请求总数
5、Average Hits per Second(平均每秒请求数)
即为总请求数除以运行时间的值
6、View HTTP Responses Summary(查看HTTP响应的Summary)
这是一个链接,指向一个页面标记
事务统计
Analysis事务统计信息1、Transactions(事务)
上图是所有Transaction的响应时间
2、Minimum
执行此Transaction的最小时间,也就是最快的
3、Average
平均时间,是所有Transaction消耗时间的算术平均值
4、Maximum
执行此Transaction的最大时间,也就是慢慢的
5、Std.Deviation
Std 是单词 standard的缩写,Std.Deviation 即标准方差,方差是描述一组数据偏离其平均值的情况。方差公式如下:
从数据意义上看:
方差值越大,这组数据就越离散,波动性也越强
方差值越小,这组数据就越聚合,波动性也就越小
6、90 Percent
在Controller 运行场景时,并不会显示这个值,因为它是对一些列数据进行计算的结果。是90% Transaction消耗的时间,比如 执行了500次Transaction,90%就是450个Transaction的平均时间,通常这个指标比单纯的平均值更能说明系统问题
7、Pass(通过)
通过的Transaction个数。通过与否的标准由脚本的逻辑控制
8、Fail(失败)
失败的Transaction个数
9、Stop(停止)
如果在执行场景时,用户手工停止了场景的执行,Transaction没有自己的状态,那么就是Stop
HTTP响应统计
Analysis中HTTP响应状态码统计此图只有Web Vuser才有,它反映了Web Server的处理情况
HTTP返回码为200,是正常状态。在统计图中的Hits(总请求数)为26500个,在此图中,200返回码的Response有26500个,说明HTTP的请求都成功了。Web Server是没有问题的
Analysis标准图
1、Vuser图
2、事务图
3、网页细分图
交叉结果和合并图
使用Analysis可以将同一场景的两个图中的结果合并到一个图中。通过合并,可以依次比较几个不同的度量,以发现他们之间的联系。如:可以制作一个合并图,以已用时间的函数的形式显示网络延迟和正在运行的Vuser的数量
合并图有3种方式
1、叠加(Overlay)
2、平铺(Tile)
3、关联(Correlate)
叠加:共用同一个X轴的两个图的内容。合并图左侧的Y轴显示当前图的值,右侧的Y轴显示已合并图的值。叠加图的数量没有限制。叠加两个图时,这两个图的Y轴分别显示在图的右侧和左侧。覆盖两个以上的图时,Analysis只显示一个Y轴,相应地缩放不同的度量。
平铺:查看在平铺布局(一个位于另一个之上)中共用同一个X轴的两个图的内容。
关联:绘图时区分两个图彼此的Y轴。活动图的Y轴变为合并图的X轴,被合并图的Y轴作为合并的Y轴
生成测试报告
运行场景后,可以查看对系统性能进行汇总的报告。Analysis提供3种格式的报告:HTML格式、Word格式和水晶报表
创建HTML格式报告
使用Analysis可以为方案的运行创建HTML报告,它将为每个打开的图分别创建一个报告和一个摘要报告。摘要报告与Analysis窗口中访问的摘要报告相同。该报告还提供指向特定Excel文件的链接
创建Word格式报告
创建水晶报表:LoadRunner 的水晶报表是一个更为细致的报告,分为一下类别:
活动报告
性能报告
活动报告提供关于虚拟用户和场景运行的信息:包括开始时间、结束时间等详细信息。活动报告又有:“Scenario Execution”(场景执行)、“失败的交易”(Failed Transaction)和“失败的虚拟用户”(Failed Vuser)三种
性能报告可分析每个Transaction(事务)所用的时间,其中有“数据点”、“详细事务”和“事务性能”
高级——数据点报告
使用LoadRunner,可以记录自己的分析数据。可以指示LoadRunner记录外部函数或变量(方案运行期间的“数据点”)的值。LoadRunner 将使用收集的数据创建数据点图和报告
设置数据点时,会将lr_user_data_point 函数(GUI Vuser 的 user_datapoint)包括在Vuser报告中
“数据点”报告是一种性能报告,它列出数据点的名称、值以及记录该值的时间,值将对每个租和Vuser都显示
事务性能摘要(按Vuser)报告
“事务性能摘要(按Vuser)”报告是一种性能报告,显示每个Vuser在方案运行期间执行事务所需的时间。该报告表明事务是否成功,以及每个Vuser的最小、最大和平均时间。当方案具有多种不同类型的Vuser,并且需要具体描述每种类型的性能时,此报告十分有用