统计学在测试结果分析中的应用1
作者:网络转载 发布时间:[ 2013/12/4 14:45:48 ] 推荐标签:
作为QA多年,我逐渐对一些测试方法和手段有了一些深入的了解,也形成了自己的一些想法。近的一系列测试,涉及所谓的云计算,测试得到的数据极其庞杂,因此对这些数据的分析也至关重要起来。特别是,当我们取得一系列数据的时候,虽然结果可能是令人满意的,但是我们却不能说明这些数据为什么是令人满意的;或者数据已然说明了产品存在的某些问题,但我们却不能分析出来。这种情况下,我觉得走数理统计的路未尝不是一个很好的选择,虽然统计学公式繁多复杂,但是往往可以通过这些公式来精确的说明某个现象或者问题,也许会对我们的测试结果分析有很大的帮助。
抽样
回顾处理大量数据的经验,往往不得不提及数学建模这门相当有用的学科。2004年的大学生数学建模竞赛中,有一道关于如何在奥运场馆四周安置小商铺的问题。题目给出的资料,是一个高达数M的数据包,其中包含了几十万个问卷调查数据。好像是某个布局与鸟巢和水立方相仿的城市,通过问卷调查得到的数据。对于这么一个大量的数据,显然必须整理归纳,然后从中寻找规律,后根据找到的规律推断奥运场馆四周商铺如何布局才能使利润大化。
这样一道题目,现在回想起来,实际上是一个典型的大量运用统计学方法的例子。其包含数据收集(计划)、方案设计(问卷)、抽样(问卷调查)、数据整理和展示、数据分布特征、回归分析以及终的在实际问题中应用该回归分析函数。走了这么一套流程,不管终得到的结果是否是正确的,基本上都会得到比较高的评价。统计学构成了这道题目的建模基础,直至贯穿其始末。
之所以引出这么一个回顾,是因为当前我在测试中涉及的大量数据状况,颇与前述例子有几分相似。经过一段时间的琢磨,以及参考了部分书籍后(例如:《概率论极其应用》William Feller著,《应用线性回归》S. Weisberg著),我记录了一些可能有用的数据整理和分析方法,记录在这篇文章中,以备后用。
首先谈谈抽样。抽样在统计学中的专用名词是样本空间或也可以称为样本容量。如何抽样,由于其涉及残差、样本误差和样本极限误差的概念,因此对于一般的统计学书籍来说,是不会放在前面来描述的。但这却是我们在确定了调查计划之后的第一步工作。既然是备忘录,为了将来能方便阅读回忆,我尽量还是按先后顺序来记录吧。
如何确定样本容量,一般说来有经验法和公式法两种,其中经验法应用于特定领域,例如生活、经济等,是十分有效的。但是对于软件测试来说,特别是云计算相关的测试,经验法的使用很局限了。曾经看到有一本教程中,作者给出了一个标准样本容量经验值,且没有任何说明的认为可以推广到其他样本容量估算中,这显然是一个扯蛋的事情。之所以我认为经验法并不是非常适合软件测试,基于如下几点想法:
1、对于初次测试,经验值显然是不存在的,如果引用其他类似软件的测试经验值,则又将受限于测试环境的影响,在不同的测试条件下,样本容量显然是不同的。甚至,保持所有一致的情况下,我们还必须考虑到操作的前后顺序是否也是一致的。经验值在这些众多条件的制约下很难有用武之地。
2、对于回归测试,上次测试的样本容量是否可以做为本次的经验值呢?理论上,如果改动真的很小,作为经验值未尝不可。不过,在改动如此之小的情况下,我们不妨可以称之为重复样本了。甚至是否值得进行回归测试,都是需要推敲的。在版本变化较大的情况下,请参照第一条。
3、对于云计算相关的测试,云的典型特征是机器数量众多,且机器配置不需要完全相同。在这种情况下,是没有什么经验值可谈的。
那么毫无疑问,我们必须看一下公式法了。公式我列在下面:
这里的Z值是有抽样估计时给定的置信度F(Z)所决定的,其对应关系通过查标准正态分布概率表可以得到:
F(Z)=68.27%时, Z=1
F(Z)=95.45%时, Z=2
F(Z)=99.73%时, Z=3
我们想知道置信度99%时,Z的值,查表可得Z=2.58。也是说置信度越大,Z值越大。置信度是什么,放在这里标记一下,容后面描述。
这里的 值得是样本极限误差,计算公式为:
是样本平均误差,由于样本平均数 服从以总体平均数为中心的正态分布,所以该正态分布的标准差是样本平均误差。
我们可以看到样本极限误差是和F(Z)成正比关系的,在样本估计中,表示样本极限误差的可能性大小的值叫置信度,习惯上也称之为可靠程度、把握程度或概率保证程度等,用F(Z)表示。
置信度越大,样本极限误差也越大,样本估计的精确度越低(这里是引用书本)。一方面,置信度达到是不大可能的;另一方面,置信度小了,估计结论的可靠性太低,又会影响估计本身的价值。这里的确理解起来不是那么清晰,我尝试从通俗的角度来解释,有两句话:1、你正在看资料;2、你正在看这篇文档,命题1的正确性高,命题2的准确性高,置信度是用来平衡正确性和准确性的一个度量标准。所以做估计时,应该将置信度要求与估计的精确度要求结合起来考虑,估计的精确度很高而置信度很低,或估计的精确度很低而置信度很高都是不合适的。
相关推荐
更新发布
功能测试和接口测试的区别
2023/3/23 14:23:39如何写好测试用例文档
2023/3/22 16:17:39常用的选择回归测试的方式有哪些?
2022/6/14 16:14:27测试流程中需要重点把关几个过程?
2021/10/18 15:37:44性能测试的七种方法
2021/9/17 15:19:29全链路压测优化思路
2021/9/14 15:42:25性能测试流程浅谈
2021/5/28 17:25:47常见的APP性能测试指标
2021/5/8 17:01:11