集成测试模式

集成测试(Integration Testing)是单元测试的扩展和延伸,是为了测试程序模块之间接口的规范性、一致性等,在测试时根据实际情况对程序模块采用适当的策略组装起来,对系统的接口及集成后的功能进行正确校验。
选择用何种方式把模块组装起来形成一个可运行的系统是软件集成测试中的策略体现,其重要性是明显的,集成的方式直接关系到模块测试用例的形式、所用测试工具的类型、模块编号的次序和测试的次序、生成测试用例的费用和调试的费用等,一般是根据软件的具体情况来决定采用哪种模式。通常,把模块组装成为系统的测试方式有两种:

一次性集成测试
增量式集成测试方式

一次性集成测试

又称非增量式集成测试,先分别测试每个模块,再把所有模块按设计要求一次全部组装起来所要的系统,然后进行整体测试。
在这里插入图片描述

增量式集成测试

在增量式集成测试模式中,程序一段一段地扩展,测试的范围一步一步地增大,具体做法是把下一个要测试的模块同已经测好的模块结合起来进行测试,测试完毕,再把下一个应该测试的模块结合进来继续进行测试。在组装的过程中边连接边测试,以发现连接过程中产生的错误。如果出现错误,则错误发生在新加入的模块中。增量式集成测试有3种方式:

①自顶向下增量测试方式(Top-down Integration)
②自底向上增量测试方式(Bottom-up Integration)
③混合增量测试方式(ModifiedTop-downIntegration

自顶向下集成
自顶向下增量测试方式从主控模块开始,按照软件的控制层次结构,以深度优先或广度优先的策略,逐步把各个模块集成在一起。
在这里插入图片描述

优点在于能尽早地对程序的主要控制和决策机制进行检验,因此能较早地发现错误。
缺点是在测试较高层模块时,低层处理采用桩模块替代,要使桩模块能够模拟实际子模块的功能是十分困难的,同时还涉及复杂算法,不能反映真实情况,并且重要数据不能及时回送到上层模块,因此测试并不充分。另外在自顶向下增量的方式中,真正的输入/输出模块处在底层,它们是最容易出现问题的模块,而且直到组装和测试的后期才遇到这些模块,这样一旦发现问题,就会导致过多的回归测试。

自底向上增量
自底向上增量测试是从软件结构最低层的模块开始向上一层层地组装测试。
在这里插入图片描述
与自顶向下增量的方式优缺点正好相反,自底向上集成方法不用桩模块,测试用例的设计也相对简单,同时由于涉及复杂算法和真正输入/输出的模块最先得到组装和测试,可以把最容易出问题的部分在早期解决。此外自底向上增量的方式可以实施多个模块的并行测试。但缺点是“程序一直未能作为一个实体存在,直到最后一个模块加上去后才形成一个实体”。

有鉴于此,通常是把以上两种方式结合起来进行组装和测试:

改进的自顶向下增量测试:基本思想是强化对输入/输出模块和引入新算法模块的测试,并自底向上组装成为功能相当完整且相对独立的子系统,然后由主模块开始自顶向下进行增量测试。
自底向上-自顶向下的增量测试(混和法):首先对含读操作的子系统自底向上直至根结点模块进行组装和测试,然后对含写操作的子系统做自顶向下的组装与测试。
回归测试:这种方式采取自顶向下的方式测试被修改的模块及其子模块,然后将这一部分视为子系统,再自底向上测试,以检查该子系统与其上级模块的接口是否适配。

一次性集成测试方式与增量式集成测试方式的比较
增量式集成方式需要编写的软件较多,工作量较大,花费的时间较多,一次性集成方式的工作量较小。
增量式集成方式发现问题的时间比一次性集成方式早。
增量式集成方式比一次性集成方式更容易判断出问题的所在,因为出现的问题往往和最后加进来的模块有关。
增量式集成方式测试得更为彻底。
使用一次性集成方式可以多个模块并行测试。

猜你喜欢

转载自blog.csdn.net/weixin_46136019/article/details/127510879
今日推荐