集成测试是软件测试的第二步,其具体过程如下。

  第一,非增量式测试。

  非增量式测试是采用一步到位的方法来构造测试:对所有模块进行个别的单元测试后,按照程序结构图将各模块连接起来,把连接后的程序当作一个整体进行测试。

  采用非增量式测试方法进行集成测试如下图所示:

  非增量式测试的缺点:当一次集成的模块较多时,非增量式测试容易出现混乱,因为测试时可能发现了许多故障,为每一个故障定位和纠正非常困难,并且在修正一个故障的同时,可能又引入了新的故障;新旧故障混杂,很难判定出错的具体原因和位置。

  第二,增量式测试。

  增量式测试的集成是逐步实现的:逐次将未曾集成测试的模块和已经集成测试的模块(或子系统)结合成程序包,再将这些模块集成为较大系统,在集成的过程中边连接边测试,以发现连接过程中产生的问题。

  按照不同的实施次序,增量式集成测试又可以分为三种不同的方法:自顶向下增量式测试,自底向上增量式测试和混合增量式测试。

  (1)自顶向下增量式测试

  自顶向下增量式测试表示逐步集成和逐步测试是按照结构图自上而下进行的,即模块集成的顺序是首先集成主控模块(主程序),然后依照控制层次结构向下进行集成;从属于主控模块的按深度优先方式(纵向)或者广度优先方式(横向)集成到结构中去。

  深度优先方式的集成:首先集成在结构中的一个主控路径下的所有模块,主控路径的选择是任意的。

  广度优先方式的集成:首先沿着水平方向,把每一层中所有直接隶属于上一层的模块集成起来,直到底层。

  集成测试的整个过程由3个步骤完成:

  1)主控模块作为测试驱动器

  2)根据集成方式(深度或广度),下层的桩模块一次一次地被替换为真正的模块

  3)在每个模块被集成时,都必须进行单元测试;重复第2)步,直到整个系统被测试完成

  按照广度优先方式进行集成测试如下图所示:

  按照深度优先方式进行集成测试如下图所示: