列表

详情


某村领导需要估计该村某池塘中鱼的大致数量。技术人员想出了一个办法:先从池塘中捕出30条鱼,在每条鱼身上做一记号后,又放回池塘。几天后,再从该池塘中捕出40条鱼,发现其中有2条是有记号的。因此,他估计该池塘大致有 ()条鱼。
类似地,为估计某程序中所含的错误个数,程序员A对该程序进行测试时发现了5个错误,程序员B独立对该程序进行测试时发现了8个错误,但其中2个错误是程序员A已经发现的。因此,人们可以估计,该程序中大致含有()个错误。

第 1 问

A. 300

B. 400

C. 600

D. 1200

第 2 问

A. 12

B. 15

C. 16

D. 20

参考答案: C D

详细解析:

该题上半部分表面上看与计算机无关,但实际上是启发解答下半部分软件测试实用题的一个思路。该例子以后势必会广泛引用于讲解软件测试估计错误方法的教材中。
  假设该池塘内有X条鱼,从其中取出30条鱼做了记号又放回去,那么池塘内做记号鱼的比例大致为30/X。几天后,从该池塘中取出40条鱼中,有2条有记号,那么,做记号的鱼所占的比例约为2/40=5%。30/X应与5%相当,所以X大致为30/5%=600条。
  同样的方法可以用来估计某个程序中的错误个数Y。程序员A发现了该程序中的5个错误,那么他发现错误的概率大约为5/Y。在程序员8独立测试该程序时发现的8个错误中,有2个错误是程序员A发现的,因此可以说,程序员A发现该程序错误的概率为2/8=25%。从5/Y=25%,可以推断Y=20。因此,可以估计该程序大致含有20个错误。

上一题