论文摘要
面向对象软件的三个主要特征是:封装、继承和多态。封装造成信息的隐藏,而继承和多态则在类之间简单的聚合和关联的关系上加入层次化,并造成潜在的动态依赖,从而导致类之间关系变得错综复杂。这种突出的特点对面向对象软件测试提出了新的要求——软件测试不仅要适应面向对象软件的特性,而且要快速、准确、清晰地检查所有的关系。在整个软件测试中,集成测试是最重要同时也是最困难的,从哪里开始测试,沿怎样的路径进行测试又是集成测试中最核心的两大问题。本篇论文的目标是提供一种进行面向对象集成测试的策略。这种策略基于Kung等人在其回归测试方法中提出的测试层次概念,并且融入了增量测试的观点。首先,本文从前期的设计文档中直接得到UML类图,并作为类间关系分析的ORD图,这样省去了使用逆向工程算法从程序代码中生成ORD图的工作。接着,对ORD图上的每一个类进行类间关系的分析,包括静态关系和动态关系,使用两个类集合和一个布尔函数来表示。然后,基于分析的结果定义测试层次,它由三部分组成——目标类集(T_aim)、依赖集(T_dep)、类型(T_type),从后面可以看到,一个测试层次对应着集成测试的一个测试单元。接下来,根据两点前提对符合条件的测试层次两两排出测试优先顺序,然后整理所有的优先顺序制定出整个软件的集成测试顺