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”场景设计对话框