qileilove

blog已经转移至github,大家请访问 http://qaseven.github.io/

通软件性能测试与LoadRunner最佳实战 连载一

6.15  关于事务相关信息部分内容

  事务的响应时间是我们平时经常关注的一项性能指标,除此之外,在结果概要信息图表中,您还会经常看到事务的最小值(Minimum)、平均值(Average)、最大值(Maximum)、标准偏差(Std. Deviation)和90%事务(90 Percent)等相关信息内容,这些数值代表什么?又是怎样得来的呢?

  6.15.1  关于分析概要事务相关信息问题提出

  尽管我们都是性能测试的从业人员,可是作为测试人员通常都有一个对事物“怀疑”的心理,在这里就表现为LoadRunner给出的这个结果信息是否可信?以及相应的结果信息是如何得到的?

  这确实是一个很好的问题,但是,如何去证明LoadRunner 11.0的结果信息是正确的呢?大家在平时做功能测试的时候,是如何证明被测试的功能模块是正确的呢?相信作为测试从业者,我们都会异口同声地说:“我们都会设计很多测试用例,用例包括两部分:输入和预期的输出,如果根据测试用例在被测试的功能模块输入相应的数据,实际执行结果和预期结果一致,那么就认为此功能模块是正确的,否则就是失败的。”回答得非常好,那么性能测试是不是可以效仿功能测试呢?回答是肯定的,为了验证性能测试的执行结果的正确性和各个结果信息的数据来源,我们也需要事先组织一些数据,然后根据这些数据的内容算出预期的结果,再通过LoadRunner 11.0去实现我们的想法,观察最后执行的结果是否和我们预期的一致,当然,如果一致就是正确的了,不一致,当然就证明两者之间有一个是错误的,结合我们预期的设定来讲,当然是LoadRunner 11.0是错误的。

  6.15.2  关于结果概要事务相关信息问题分析

  这里我有一个想法就是,我们事先准备10个数字,即:1、2、3、4、5、6、7、8、9、10,从这组数字当中不难发现,最小的数值应该是1,最大的数值应该是10,这些数值的平均值为(1+2+3+4+5+6+7+8+9+10)/10=55/10=6.5,在这组数值里边90%的数值都会小于或等于9,只有1个数值大于9,即:数值10。

  也许,聪明的读者朋友们已经想到了,我们是否可以借助LoadRunner 11.0的事务和思考时间来将我们的想法实现。“嗯,确实如此,我们的想法不谋而合”。

  6.15.3  关于结果概要事务脚本设计及其相关设置

  首先,我们可以在Virtual User Generator中编写一个脚本,即:

Action()
{
 lr_start_transaction("思考时间测试事务");
 lr_think_time(atoi(lr_eval_string("{thinktime}")));
 lr_end_transaction("思考时间测试事务", LR_AUTO);
 return 0;
}

  其中,“thinktime.dat”参数化文件内容包括数值1到10,共计10个整数值,如图6-178所示。

图6-178 “thinktime.dat”参数化文件内容

  然后,设置“thinktime”参数的“Select next row:”为“Unique”,“Update value on:”为“Once”。

  接下来,启动“Controller”让我们来设定一个场景,我们在参数化的时候一共参数化了10条数据记录,在场景设计的时候,也取10个虚拟用户,如图6-179所示。

图6-179 “Controller”场景设计对话框

 当然,如果您关心在负载的时候,每个虚拟用户分别取到了哪些值,可以将测试执行日志打开,根据需要,这里我们单击图6-180红色区域所示按钮,则出现“Run-Time Settings”对话框,如图6-181所示。然后,选择“Log”页,请您根据自己的情况,选中日志的扩展情况,这里我们选中“Parameter substitution”选项。

图6-180  场景设计对话框

图6-181 “Run-Time Settings”对话框

  而后,单击“Run”页,如图6-182所示,再单击图6-183的“Start Scenario”按钮,则开始执行场景。

图6-182  场景设计对话框

图6-183  场景执行对话框

  您可以单击“Results>Analyze Results”菜单项或者单击工具条对应的功能按钮,如图6-184所示,就可以将执行完成后的结果调出来。

图6-184  场景执行对话框

6.15.4  如何解决结果概要信息不计入思考时间问题

  测试结果出来后,首先,映入眼帘的是“Analysis Summary”图表信息,但是您是不是被“Transaction Summary”的数据惊呆了呢?参见图6-185所示,为什么图中所有的数值均为“0”呢?相信有很多朋友对这个结果也感到莫名其妙,再回头看看我们的脚本,脚本中使用了思考时间,即“lr_think_time()”函数,而在“Analysis”应用中在默认的情况下,是忽略思考时间的,所以就出现了这样的一个结果。那么如何使响应时间中包括思考时间呢?非常简单,您可以单击属性“Filter”,默认情况下该属性值为“do not Include Think Time”,单击该属性值后面的按钮,如图6-186所示。

图6-185  结果分析应用界面

图6-186  结果分析应用界面

  单击按钮后,则出现图6-187所示界面,单击“Think Time”过滤条件,在“Values”列选中“Include Think Time”复选框。

图6-187  结果概要分析过滤对话框

  设定好过滤条件后,单击“Analysis Summary Filter”对话框的“OK”按钮,此时您会发现结果信息的内容发生了改变,先前为“0”的数值项现在已经有了数值,如图6-188所示方框部分内容。

图6-188  事务概要信息内容

  (未完待续)

版权声明:51Testing软件测试网及相关内容提供者拥有51testing.com内容的全部版权,未经明确的书面许可,任何人或单位不得对本网站内容复制、转载或进行镜像。51testing软件测试网欢迎与业内同行进行有益的合作和交流,如果有任何有关内容方面的合作事宜,请联系我们。


posted on 2013-06-25 10:29 顺其自然EVO 阅读(313) 评论(0)  编辑  收藏 所属分类: loadrunner


只有注册用户登录后才能发表评论。


网站导航:
 
<2013年6月>
2627282930311
2345678
9101112131415
16171819202122
23242526272829
30123456

导航

统计

常用链接

留言簿(54)

随笔分类

随笔档案

文章分类

文章档案

搜索

最新评论

阅读排行榜

评论排行榜