参考答案: 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个错误。