“程序中遗留的缺陷与已检测出的缺陷成正比”之我所见

程序中遗留的缺陷数量与已检测出的缺陷数量呈正比,请解释为什么程序测试会出现这种情况。

 

答:

    设编写一个程序出现缺陷的概率为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也是一个定值。
    所以说,程序中遗留的缺陷数量与已检测出的缺陷数量呈正比,这个比值取决于程序员自身和相关的测试软件。

注:一家之言,欢迎大家批评指正!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值