两个组独立地测试同一个程序,W一l发?5个错误,W二l发?0个错误,在两个小l发现的错误中有15个是共同的,那么可以估计E序中的错误L?___个?/span>
AQ?5 BQ?0 CQ?0 DQ?0
当然QQ何一个了解估方法的朋友都可以根据公式计出最l的l果?0个,q没有什么问题。——但是,我在q里引用q个题目Q是希望我们可以把学习这件事情通过cL变得更加有趣一炏V?br />
其实Q如何估一个系l中存在的缺hQ我们的老祖宗早有现成的方法了。不信,L我在我们老祖宗的数学专著中找到的一个实践问题:“有一口鱼塘,不知道其中有多少条鱼Q如何才能估出池塘中鱼的数量?”Q当Ӟ原文不是q样Q请原谅我一下子找不到出处,只好凭记忆用我的语言描述一下了Q。我们老祖宗给出的{案是这LQ?br />
- 首先Q从鱼塘中打捞出一些鱼Q假设数量ؓmQ;
- 这些鱼做上记号Q然后将其放回鱼塘;
- {待一D|_{到鱼均匀分布在鱼塘中了之后,再次打捞上来一些鱼Q假设数量ؓnQ;
- l计W二ơ打捞上来的g的带记号者(假设数量为pQ;
- 计算得出鱼塘中鱼的数量ؓ S = m / (p/n)
对这个答案最单的理解是:
假设W一ơ做了记L鱼在鱼塘中是均匀分布的,W二ơ打捞上来的n条鱼中有p条是有记LQ则说明有记L鱼的分布密度是p/nQ鱼塘中一共有m条有记号的鱼Q当然ȝ鱼数量就?S = m / (p/n)?/span>?br />
再回到我们的原始问题Q很Ҏ做一个类比,W一个小l发C25个缺P相当于第一ơ打捞的鱼mQ,W二个小l发C30个缺P相当于第二次打捞上来的鱼nQ,两者相同的?5个(相当于是pQ,所以答案是 50?br />
所以,从现在开始,不要再认个方法是什么深奥的Ҏ——看看,我们的老祖宗都能熟l运用呢
本来Q到q里可以告一D落了,可是我们能不能再深入Ҏ考这个问题呢Q?br />
q种Ҏ昄是可以得C个估结果,但这U方法在哪些情况下不合适,使用时有什么注意事Ҏ有呢Q?br />
q是回过头看我们养鱼的例子,很显Ӟ我们讨论的前提是“做记L鱼在池塘中分布均匀”Q如果这个条件不满Q我们的估算l果昄是有很大的偏差的。就鱼塘来说Q不同类型的鱼由于喜Ƣ的食物U类不同Q喜Ƣ分布在不同的层ơ,q样一来的话,在打捞的时候就要注意,如果只侧重在某一个水层,昄l果是有很大的偏差的Q另外,׃鱼塘边上的温度相对较低,夏天鱼更加喜Ƣ在鱼塘边休?#8230;…Q可见,要达?#8220;q_”q样的条件还是有隑ֺ?#8230;… —?{等Q我们讨Zq么久的|和我们的~陷有什么关pdQ?br />
别忘了,~陷在系l中的分布和鱼在鱼塘中的分布可是有异曲同工之妙的?img src="http://www.cnblogs.com/CuteSoft_Client/CuteEditor/images/emwink.gif" align="absMiddle" border="0" alt="" />。缺h不同的类型(功能~陷Q性能~陷Q安全性缺?#8230;…Q,分布在不同的模块Q由于模块设计和实现人员的水q的差异Q模块自w复杂度的差异等Q不同模块中的缺陷分布显然是不同的,一个系l中Q由于测试的试不同Q不同类型缺L发现效率也是不同?#8230;…——再看看Q这和我们的鱼塘是不是一回事Q?br />
关于鱼塘和缺L故事Q如果我们要q下去Q还会发C们的很多共同点,当然Q你也可以提出各U方法来修正我们q个单的模型——但q不是我们的重点?span style="font-weight: bold">我要说的重点是:无论如何Q在q条路上的思考是不是会比单的背公式更有趣一些呢Q?br />
l常有测试工E师问到Q应该怎样才有最高的学习效率呢?
我的回答是:
学习、思考是乐趣Q不是负担。我们学习是Zq求它自w的乐趣——获得知识的乐趣Q在自己头脑中天马行I的乐趣Q发现的乐趣Q以及分享的乐趣?br />