51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 15517|回复: 23
打印 上一主题 下一主题

第100贴【2004-9-13】:故障插入

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2004-9-13 10:17:52 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
故障插入(Fault Seeding)是一个统计的方法,用于评价遗留在一个程序中的故障的数量和种类。首先,故障被插入到一个程序中,然后,程序被测试,并且发现故障的数量被用于估计还没有被发现故障的数量。计算公式如下:

    原本错误总数 =(播入的错误总数/发现的播入错误数)×发现的原本错误数
    残留错误数     = 原本错误总数 - 发现的原本错误数

    故障插入技术在软件可靠性方面应用的比较广泛,尤其在硬件的测试当中。例如一些汽车公司不惜花大价钱进行的汽车碰撞试验,为的就是发现汽车在碰撞过程中的潜在隐患,通过消除、改进这些隐患从而达到更高的性能。
    借鉴了硬件可靠性测试的方法,在软件测试中引入故障插入技术,其主要目的是为了评价系统的哪些模块,哪些代码是危险模块,危险代码,容易出问题,从而评价系统的容错能力。在该技术中使用了故障加速技术,通过有意的插入故障来调用系统的故障容错能力,从而在一个可控制的环境和期望的时间段内获得完整的测试。它和现有的测试方法相比,最大的不同在于测试开始时的系统状态不同,现有的测试都是从系统的正确状态开始,测试系统如何转入故障状态,而故障注入测试则是从系统的故障状态开始,测试系统在发生故障后的运行规律。这里要重点指出的是,故障插入不关注为什么出现这样的故障,它关注的是出现了这样的故障后系统如何处理。
   故障插入也被用于验证测试用例的有效性。其原理就是为了检查设计的测试用例是否能发现某一类型的故障,人为在被测系统中引入该类型的故障,如果在测试过程中能发现这个故障的话,则应该也可以测试出系统原来就存在的该类故障。
    故障插入技术的一个难点是插入的故障在程序中是否能够代表还没有发现的故障。实际上,由于软件的复杂性,故障的暴露往往和当时的运行环境、执行的路径有很大的关系,能测试出故障插入的故障并不一定总是能测试出被测系统原本存在的该类型故障,所以,在上述的最后一步推论不一定总是成立。但是就从验证测试用例的有效性角度来看,故障插入确实可以作为一种手段。
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏

该用户从未签到

24#
发表于 2005-11-29 15:56:21 | 只看该作者
这种统计方法的科学依据足吗,统计出来的结果准确性有多大?
BUG数的统计应该考虑很多吧~~
回复 支持 反对

使用道具 举报

该用户从未签到

23#
发表于 2005-11-23 11:02:37 | 只看该作者
很有用,帮顶!
回复 支持 反对

使用道具 举报

该用户从未签到

22#
发表于 2005-11-22 12:27:59 | 只看该作者
值得思考和学习!
有用!!!
回复 支持 反对

使用道具 举报

该用户从未签到

21#
发表于 2005-11-18 21:41:58 | 只看该作者
高论


很有意思

这样做,程序员可能无法接受
回复 支持 反对

使用道具 举报

该用户从未签到

20#
发表于 2005-11-16 00:35:28 | 只看该作者
在书上看过
回复 支持 反对

使用道具 举报

该用户从未签到

19#
发表于 2005-9-14 11:16:34 | 只看该作者
高手~~~~~
回复 支持 反对

使用道具 举报

该用户从未签到

18#
发表于 2005-9-14 11:15:52 | 只看该作者
小顶一下~~~~~~~~~~
回复 支持 反对

使用道具 举报

该用户从未签到

17#
发表于 2005-9-11 22:16:03 | 只看该作者
呵呵,你把两个概念搅在一起了:需求描述的可验证性、软件的可测试性。
回复 支持 反对

使用道具 举报

该用户从未签到

16#
发表于 2004-12-21 15:18:45 | 只看该作者
这种方法原来是用来统计野生动物种群数量的,称为“Capture-Recapture”方法,对于软件工程,主要用于计算软件的可靠性指标,难点在于植入缺陷是否和软件的原有缺陷在位置、难度和类型的分布上一致。并且现在国内软件很少提可靠性的指标,所以用的应该很有限。
回复 支持 反对

使用道具 举报

该用户从未签到

15#
发表于 2004-12-20 12:46:20 | 只看该作者
to: jody
“由插入错误引发的原本错误”意思是:
1. 如果没有‘插入错误’,这些‘原本错误’是不存在的,也就是说在实际的运行情况下(没有‘插入错误’)不存在的错误。
2. 这种错误是由‘插入错误’本身引起的,与‘原本错误’无关。
3. 为了保证故障插入的正确有效,我们是否还要建一套专门对‘插入错误’进行管理的跟踪库?
回复 支持 反对

使用道具 举报

该用户从未签到

14#
发表于 2004-12-8 18:08:09 | 只看该作者

to:ginkgo

为什么要避免“由插入错误引发的原本错误”?发现错误不是更好吗,这些原本错误也是系统的原本错误。
回复 支持 反对

使用道具 举报

该用户从未签到

13#
发表于 2004-12-8 09:28:36 | 只看该作者
是啊,要求太高
回复 支持 反对

使用道具 举报

该用户从未签到

12#
发表于 2004-12-2 10:13:09 | 只看该作者
理论上确实不错,也是一个很好的思路,但如果要实际操作的话,要求太高.有待努力啊.希望将来有这个能力来实现.
回复 支持 反对

使用道具 举报

该用户从未签到

11#
发表于 2004-12-1 11:41:38 | 只看该作者
这种方法的思路不错,可是实际运用时,如何避免“由插入错误引发的原本错误”?
回复 支持 反对

使用道具 举报

该用户从未签到

10#
 楼主| 发表于 2004-11-25 10:18:36 | 只看该作者
这是一种工程性的方法,实践中如何运用还要结合被测对象的具体情况,总之这是一个不错的思路。虽然测试是为了找BUG,但测试是不能无休止的进行下去的,那么如何评价当前被测对象的质量状况是很重要的。这时候故障插入技术也许能发挥一定作用了。
回复 支持 反对

使用道具 举报

该用户从未签到

9#
发表于 2004-11-25 09:55:51 | 只看该作者
理论上没问题  但是不适用 就算你知道软件里有多少个BUG但是找不到有什么用

测试是为了找出软件中的BUG不是计算软件里有多少个BUG或者还剩下多少个BUG
回复 支持 反对

使用道具 举报

该用户从未签到

8#
发表于 2004-11-12 16:34:47 | 只看该作者
我们现在好像没有用过这样的测试方法
回复 支持 反对

使用道具 举报

该用户从未签到

7#
发表于 2004-11-12 15:52:27 | 只看该作者
1.播入的错误总数 :有相关的设计人员来设计插入的错误,其数量当然知道
2。发现的播入错误数:发现的错误有可能有插入的错误(对比设计的错误),也有可能不是插入的错误,那么就是原来的错误。
3。发现的原本错误数:做这个“故障插入测试”前的Bug总数肯定是知道的(bug纪录),再加上做“故障插入测试”中发现的“原来的错误”

当然,应该找那些强的人来设计插入的错误,否则引起其他的错误,或者发现的错误只是某些,太片面等。
个人看法
回复 支持 反对

使用道具 举报

该用户从未签到

6#
发表于 2004-11-10 18:55:23 | 只看该作者
有用~
回复 支持 反对

使用道具 举报

本版积分规则

关闭

站长推荐上一条 /1 下一条

小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

GMT+8, 2024-9-21 13:49 , Processed in 0.078446 second(s), 28 queries .

Powered by Discuz! X3.2

© 2001-2024 Comsenz Inc.

快速回复 返回顶部 返回列表