第14章 通用性能测试结果分析
截至第13章,小白已经完成了LoadRunner测试脚本的编写、场景的建立,并成功地执行测试及分析了整个测试结果、产生了测试报告。本书对于LoadRunner这一强大的工具也已经基本介绍完毕了。但是,在实际工作中,性能测试工程师可能并不一定采用LoadRunner,而是使用其他的工具甚至自行编程来取得相关的性能测试数据。那么,有没有通用的一些分析性能测试数据的经验呢?
本章的内容就能够回答上述这个问题。如果说第12章中LoadRunner所提供的性能图表与测试报告是汽车中的自动挡,那么本章就是汽车中的手动挡。作为一名性能测试工程师,必须能够脱离工具软件的束缚,直接从原始的数据中得到正确的结论,才称得上合格。
初学者都知道,性能测试得到的数据,如果不进行分析,得到的结果是没有多大价值的。而在分析性能测试结果的过程中,往往需要用到简单的数学知识来进行评估、敏锐的观察能力来发现隐藏在数据中的性能问题;另外,出色的文档编写能力和图表制作能力则有利于将测试工程师了解到的事实有效地传递到相关人员的印象当中。其中,工作中最重要、也可能是最耗费时间与精力、同时又是收获最大的部分就是发现性能问题。
本章将依据以上这几种能力分为3节来介绍:第1节介绍判别测试数据是否可靠的要点,其中包含了一些简单的统计学知识。第2节通过几个范例来讲解发现性能的技巧与经验。第3节将列出编写性能测试报告的注意事项与要点,同时,对Office Excel软件中的画图功能也进行了较详细的说明。
14.1 性能测试结果的可靠性
性能测试的结果往往由大量数据组成,在我们拿到这些数据之后,首先要判断这些数据是否可靠。一些简单的统计学指标可以使我们很快地从数据中获得对于性能的基本印象。因此,本节先借助一些数学知识,让我们能够使用统计学上的简单指标对结果进行简单归纳;之后,再介绍判断性能测试结果可靠性的几条经验规则。
本节中将要介绍、同时也是测试结果分析中较为常用的数学指标有如下几种:
平均值(Mean Value);
中值(Median Value);
正常值(Normal Value);
标准偏差(Standard Deviation);
正态分布(Normal Distribution);
一致分布(Uniform Distribution);
置信区间(Confidence Intervals)。
为了理解方便,我们就使用小白获得的一手响应时间作为例子,学习如上数学指标的具体含义,从而获得总体性能的更直观印象。
14.1.1 原始数据
小白手中有关公司网站响应时间的数据一共分为4组,分别代表了客户端不同操作端系统、不同浏览器下访问首页的数据,分别如表14-1、表14-2、表14-3、表14-4所示。
表14-1 Windows XP下通过IE 6访问公司网站的响应时间数据(秒)
5 | 6 | 4 | 8 |
13 | 10 | 4 | 4 |
5 | 7 | 8 | 10 |
表14-2 Windows XP下通过Firefox 3访问公司网站的响应时间数据(秒)
1 | 12 | 5 | 7 |
8 | 2 | 2 | 4 |
12 | 13 | 1 | 1 |
表14-3 Windows Vista下通过IE 7访问公司网站的响应时间数据(秒)
6 | 6 | 6 | 8 |
12 | 12 | 14 | 4 |
8 | 6 | 6 | 6 |
表14-4 Windows Vista下通过Firefox 3访问公司网站的响应时间数据(秒)
6 | 6 | 7 | 8 |
8 | 7 | 6 | 6 |
9 | 6 | 11 | 9 |
从以上数据来初步观察,响应时间长短参差不齐,表面上看分布也没有什么规律。