统计学在测试结果分析中的应用(1)

发表于:2011-10-26 10:56

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:SPN研发团队    来源:51Testing软件测试网采编

  作为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)表示。

  置信度越大,样本极限误差也就越大,样本估计的精确度就越低(这里是引用书本)。一方面,置信度达到100%是不大可能的;另一方面,置信度小了,估计结论的可靠性太低,又会影响估计本身的价值。这里的确理解起来不是那么清晰,我尝试从通俗的角度来解释,有两句话:1、你正在看资料;2、你正在看这篇文档,命题1的正确性高,命题2的准确性高,置信度就是用来平衡正确性和准确性的一个度量标准。所以做估计时,应该将置信度要求与估计的精确度要求结合起来考虑,估计的精确度很高而置信度很低,或估计的精确度很低而置信度很高都是不合适的。

21/212>
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号