![](https://csdnimg.cn/release/download_crawler_static/87278386/bg7.jpg)
图(2)
2.3 综合测试基础方法
时常有这么情况发生,每个模块全部能单独工作,但这些模块集成在一起以后却不能正常
工作。关键原因是,模块相互调用时接口会引入很多新问题。比如,数据经过接口可能丢失;
一个模块对另一模块可能造成不应有影响;多个子功效组合起来不能实现主功效;误差不停积
累达成不可接收程度;全局数据结构出现错误,等等。综合测试是组装软件系统测试技术,按
设计要求把经过单元测试各个模块组装在一起以后,进行综合测试方便发觉和接口相关多种错
误。
某设计人员习惯于把全部模块按设计要求一次全部组装起来,然后进行整体测试,这称为
非增量式集成。这种方法轻易出现混乱。因为测试时可能发觉一大堆错误,为每个错误定位和
纠正很困难,而且在更正一个错误同时又可能引入新错误,新旧错误混杂,更难断定犯错原因
和位置。和之相反是增量式集成方法,程序一段一段地扩展,测试范围一步一步地增大,错误
易于定位和纠正,界面测试亦可做到完全根本。下面讨论两种增量式集成方法。
2.3.1 自顶向下集成
自顶向下集成是结构程序结构一个增量式方法,它从主控模块开始,根据软件控制层次结
构,以深度优先或广度优先策略,逐步把各个模块集成在一起。深度优先策略首先是把主控制
路径上模块集成在一起,至于选择哪一条路径作为主控制路径,这多少带有随意性,通常依据
问题特征确定。以图(3)为例,若选择了最左一条路径,首先将模块M1,M2,M5和M8集成在一
起,再将M6集成起来,然后考虑中间和右边路径。广度优先策略则不然,它沿着控制层次结构
水平地向下移动。仍然以下图为例,它首先把M2、M3和M4和主控模块集成在一起,再将M5和M6
和其它模块集成起来。
自顶向下综合测试具体步骤为: