|
|
|
|
移动端

1.7 软件测试与硬件测试

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

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

技术沙龙 | 6月30日与多位专家探讨技术高速发展下如何应对运维新挑战!


1.7 软件测试与硬件测试

在用于测试软件和硬件的技术之间,既存在相似,也存在差异。很显然,软件系统不会发生磨损,不会随着时间的推移而衰老、退化,当初软件中的任何缺陷依然存在,但不会产生新的缺陷,除非对软件系统进行了变更。而硬件却不是这样,如VLSI芯片,也许随着时间的推移,会因一个当初在芯片制造和测试时并不存在的缺陷而发生故障。

与软件不同,硬件缺陷主要在制造阶段或后期产生,由此引出了应用于硬件设计的内置自检(Built-In Self Test,BIST)技术。这种技术很少用于软件设计和编码,当BIST用于软件时,只能检查出软件最后一次变更时存在的缺陷。注意,软件当中的内部监控机制不同于BIST,后者是为使一个器件正常工作而进行的实际测试。

故障模型硬件测试人员基于故障模型来设计测试。例如,采用连续(stuck-at)故障模型,测试人员可以用一组测试输入模式来检测一个逻辑门是否像预期那样功能正常。检测出来的故障一般都是制造缺陷,或是随着时间推移因器件衰退而产生的。软件测试人员设计测试的目的在于验证软件的正确功能,有时这种测试并无统一的故障模型。例如,为了测试某个应用软件中是否存在内存泄漏,测试人员需将压力测试和代码审查结合起来做,因为有多种缺陷会导致内存泄漏。

硬件测试人员采用了大量的故障模型,涉及不同的抽象层次。例如,在较低层次,有晶体管级的故障;在较高层次,有逻辑门级、电路级、功能级的故障模型。即使存在故障模型,软件测试人员在设计测试时也可以选择是否使用故障模型。第7章描述的程序变异测试便是一种基于软件故障模型的技术。其他用于测试设计的技术,如条件测试(condition testing)、基于有穷状态模型的测试以及基于组合设计的测试(分别在本书第2、3、4章中讨论),也都是基于明确定义的故障模型。用于本书第二部分几章中描述的自动测试设计的技术,也是基于精确的故障模型。

测试域(test domain)硬件测试与软件测试的一个主?畋鹪谟诓馐杂颉6訴LSI芯片的测试,往往采用位模式(bit pattern)的方式;对组合电路,比如多路信号转换器,有限数量的位模式就能保证检测出所有电路级的故障;对采用触发器的串联电路,测试用例可以是一连串的位模式,从电路的一个状态转换到另一个状态,而测试集就是这些测试用例的一个集合。而对软件的测试,测试的输入域不同于硬件测试,即使是个简单的程序,其输入域可能都是元组(tuple)的无限集合,每个元组包含一个或多个数据类型,如整数和实数。

例1.20考虑一个简单的双输入NAND(与非)门,如图1-11a所示。可以采用连续(stuck-at)故障模型,在逻辑门的输入和输出中定义多个故障。图1-11b说明在双输入NAND门的输入A中有一个连续1故障(缩写为s-a-1)。正确的NAND门和有故障的NAND门的真值表如下:

 
(点击查看大图)图1-11

当输入位向量v:(A=0,B=1)时,输出为0,而正确的输出应该是1。这样,v就检测出NAND门的输入A中有一个s-a-1故障。当然,在NAND门可能还有多个连续故障。练习1.16要求判断双输入NAND门中有多个连续故障时是否总能被检测出来。

测试覆盖率实际上,不可能对一个大型软件(比如一个操作系统)进行完全测试,也不可能对一个复杂的集成电路进行完全测试,比如一个32位或64位微处理器。这就导致了“可接受的测试覆盖率”的说法。在VLSI测试中,这种“可接受的测试覆盖率”通过实际覆盖故障数与理论故障数的比率来度量,而理论故障数是根据特定的故障模型估计出来的。

硬件测试中的这种故障覆盖率思想同样适用于采用程序变异的软件测试。根据特定的故障模型,向程序注入一定数量的故障后,程序就会产生变异。一个测试集的有效性或充分性是通过实际覆盖变异所占的比例来度量的。第7章将详细描述这种技术。

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

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

读 书 +更多

无懈可击的Web设计

一个网站,无论视觉上多美观或者内容多丰富,如果它不能适应各种浏览情况并能面向尽可能广泛的用户群,那它就不算是真正成功的网站。本书提...

订阅51CTO邮刊

点击这里查看样刊

订阅51CTO邮刊