继承是指子类自动共享父类中定义的数据和操作的机制,多态是指当同一个消息被不同的对象接受时,可以导致完全不同的行为。继承与多态机制,是面向对象程序实现重用的主要手段,同时也给面向对象软件的测试提出了一些新的问题。目前关于面向对象软件测试的研究,大多集中在类和对象状态的测试方面。虽有文献提及继承及动态绑定对软件测试的影响,但现有的面向对象软件测试方法大都忽略了动态绑定的作用和影响,而且尚无普遍接受的面向对象软件测试的充分性准则。对这些问题的深入研究将会对软件测试的理论与实践起到积极的指导作用。
4.软件测试工具
为了提高软件测试效率,加快软件开发过程,许多公司和大学、科研机构开发了软件测试工具。我国在软件测试工具研发方面也做了大量工作。它们大致可分为静态分析工具、测试数据生成工具、测试评估工具以及将多种测试工具融为一体的集成化测试系统等。
· 静态分析工具
静态分析工具是在不执行程序的情况下,分析软件的特性。静态分析主要集中在需求文档、设计文档以及程序结构上,可以进行类型分析、接口分析、输入输出规格说明分析等。
· 测试数据生成工具
测试数据生成工具可以为被测程序自动生成测试数据,减轻人们在生成大量测试数据时付出的劳动,同时还可避免测试人员对一部分测试数据的偏见。
· 测试评估工具
测试评估工具用来评估程序结构元素被覆盖的程度,从而确定测试运行的充分性。这是使用测试数据生成工具生成测试数据之后必须使用的工具。
· 集成化测试系统
集成化测试系统将多种测试工具融为一体,是一种功能较强的测试工具。
一般地说,针对一类特定软件的测试工具,可以是相当有效的。而要想开发对所有软件系统都有效的软件测试工具,几乎是不可能的。并且,经验表明,走查,即由测试工程师认真阅读源程序以发现错误,仍不失为一种靠得住的测试方法,虽然这不属于自动测试方法。
5.程序切片技术
对于大型的复杂软件系统的测试,应该提到程序切片技术。它是一种分析和理解程序的技术,广泛应用于程序调试、测试、逆向工程及软件维护中。它以切片标准为准则,从被测程序中抽取满足切片标准要求的有关语句,忽略许多与此无关的语句,有利于故障原因的定位分析。
程序切片是一个可执行的程序部分,由可能影响程序某个兴趣点处变量值的所有语句和谓词组成。
程序切片分为静态切片和动态切片。
静态切片考虑了程序所有可能的执行路径。通过分析源程序代码,获得有关信息,可以计算程序的静态切片。对于程序的某个变量而言,静态切片计算出的该变量值与源程序计算出的该变量值在任何输入下都是相同的。
动态切片只考虑某个具体输入下程序的执行路径,由路径上影响或间接影响程序某个兴趣点处变量值的所有语句和谓词组成。根据实际输入执行产生的精确数据流信息,即在特定执行过程中产生的数据依赖,计算程序的动态切片。
文章来源于领测软件测试网 https://www.ltesting.net/