|
|
51CTO旗下网站
|
|
移动端

1.19.4 降低偏差Δ

《软件测试基础教程》第1章软件测试的基本知识,本章作为一个导引,其目的在于让读者熟悉与软件测试相关的基本概念,建立起全书的框架。在本书后续章节中将要详细阐述的问题,首先在这里被提了出来。读完这章之后,读者就能够在软件测试和软件质量方面提出一些有意义的问题。本节为大家介绍降低偏差Δ。

作者:王峰/郭长国/陈振华 等译来源:机械工业出版社|2011-09-17 21:23

1.19.4 降低偏差Δ

经验研究说明,任何单个测试生成方法都有其局限性,因为产生的测试集不可能检测出软件中的所有缺陷。软件越复杂,用任何特定方法生成的测试要检测出所有的缺陷就越不可能。这也是为什么测试人员在测试设计时可能采用或必须采用多种技术的一个主要原因。

现在假设,在测试生成时采用某种黑盒测试生成技术,例如,就像第3章描述的那样,可以采用有穷状态模型表示软件A的预期行为,并从该模型生成测试。我们将这种方法表示为TGAT1,将生成的测试集表示为T1。

假设在执行完T1之后,要检查究竟A中有多少代码被执行到了。有几种途径可以完成这种检查,假设选择基于控制流的准则,比如第6章介绍的修正的条件/判定覆盖(MC/DC)准则。很有可能,T1针对MC/DC准则是不充分的。这样,增强T1,形成T2,T2针对MC/DC准则是充分的,且T1T2。我们将第二种测试生成方法称作TGAT2。

基于从充分性评价中得到的反馈,对测试进行增强,形成的新测试T2保证至少将软件A推到一些新状态,这些状态是采用T1进行测试时从未覆盖到的。这就引起一种可能,即检测出可能蕴含在新覆盖状态中的缺陷。当针对A执行T2中的测试用例时出现了失效,图1-26中的信赖度就有一个跌落,而A的真实可靠性却在增长,当然,要假设引起失效的缺陷已被清除并且没有引入新的缺陷。然而,A的真实可靠性不久又再次进入饱和区间,这次称作SR2。

通过采用别的、或许更强的测试充分性准则,上述测试增强过程还可重复地进行。在图1-26中,这个新的测试生成与评价技术被称作TGAT3,增强后形成的测试集是T3,且T2T3,我们再一次观察到信赖度有一个跌落,而真实可靠性却在增长,最后又进入了饱和区间,这次是SR3。注意,并非每次采用充分性准则对测试集进行增强都会产生一个较大的测试集,很可能是T1=T2或T2=T3,然而,对于大型软件来说不太可能发生。

从理论上讲,上面描述的这种测试生成与增强过程可以无休止地进行下去,尤其是当输入空间是个天文数字时。然而在实际工作中,这个过程必须终止,否则软件发布不了。无论软件何时发布,只要Δ>0,就意味着信赖度与真实可靠性可能非常接近了,但不可能相等。

【责任编辑:云霞 TEL:(010)68476606】

回书目   上一节   下一节
点赞 0
分享:
大家都在看
猜你喜欢

读 书 +更多

Java (JDK 6)学习笔记

Java学习笔记在JavaWorld技术论坛(http://www.javaworld.com.tw/)和作者的网站(http://caterpillar.onlyfun.net/Gossip/)提供免费下载...

订阅51CTO邮刊

点击这里查看样刊

订阅51CTO邮刊