赞
踩
程序中遗留的缺陷数量与已检测出的缺陷数量呈正比,请解释为什么程序测试会出现这种情况。
答:
设编写一个程序出现缺陷的概率为a,所编写的程序代码数量为b
则在这个程序中缺陷的代码数量为ab
设某测试软件检测出缺陷的概率为k
则用该软件测试程序,能够检测出的缺陷代码数量为abk
在检测出缺陷但是没有修复前,程序中遗留的未检测出的缺陷代码数量是ab(1-k)
检测出缺陷后对缺陷代码进行修复,在重写缺陷段的代码是又会出现缺陷
这个在缺陷修复过程中出现的缺陷代码数量为abk*a即a2bk
则在检测出缺陷并进行修复后程序中遗留的缺陷代码数量是ab(1-k)+ a2bk
故程序中遗留的缺陷数量与已检测出的缺陷数量之比为
[ab(1−k)+ a2bk]/abk=[1−k+ak]/k
由上述可知,程序中遗留的缺陷数量与已检测出的缺陷数量之比是(1−k+ak)/k
由此可知,程序中遗留的缺陷数量与已检测出的缺陷数量之比只是与测试软件检测出缺陷的概率为k和编写一个程序出现缺陷的概率为a有关,与程序的代码数量无关。
而a的值一般来说与程序员自身有关,k的值与测试软件的性能有关,因此一般情况下两个值都是定值,因此程序中遗留的缺陷数量与已检测出的缺陷数量之比是(1−k+ak)/k也是一个定值。
所以说,程序中遗留的缺陷数量与已检测出的缺陷数量呈正比,这个比值取决于程序员自身和相关的测试软件。
注:一家之言,欢迎大家批评指正!
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。