单选题
两个小组独立地测试同一个程序,第1组发现了25个错误,第2组发现了30个错误。两个小组发现的错误中有15个是共同的,那么可以估计程序中的错误总数是______个。
【正确答案】
C
【答案解析】本题考查错误的估算方法。
在软件开发的过程中,利用测试的统计数据,估算软件的可靠性,以控制软件的质量是至关重要的。在软件测试实践中,常用的估算软件中故障总数ET的方法有:
a)植入故障法
若设NS是在测试前人为地在程序中植入的故障数(称“播种故障”),ns是经过一段时间测试后发现的播种故障的数目,n0是在测试中又发现的程序原有故障数。假设测试用例发现植入故障和原有故障的能力相同,则程序中原有故障总数的估算值为:
[*]
在此方法中要求对播种故障和原有故障同等对待,因此可以由对这些植入的己知故障一无所知的测试专业小组进行测试。这种播种故障的抽样方法显然需要消耗许多时间在发现和修改播种故障上,从而影响工程的进度。而且要想使植入的故障有利于精确地推测原有的故障数,如何选择和植入这些播种故障也是一件很困难的事情。
b)Hyman分别测试法
这是对植入故障法的一种补充,由两个测试人员同时互相独立地测试同一程序的两个副本。用t表示测试时间(月),记t=0时,程序中原有故障总数是B0;t=t1时,测试人员甲发现的故障总数是B1,测试人员乙发现的故障总数是B2。其中两人发现的相同故障数目是bc;不同故障数目是bi。
在测试大程序时前几个月所发现的错误在总的错误中具有代表性,两个测试人员测试的结果应当比较接近,bi不是很大。这时有:
[*]
如果bi比较显著,应当每隔一段时间由两个测试人员分别再测试。分析测试结果,并估算B0。如果bi减小,或几次估算值的结果相差不多,则可用B0作为程序中原有错误总数的估算值。
本题采用分别测试法的计算公式可以得到B0=25×30/15=50。