集成测试
第八周的博客来谈谈什么是集成测试
1、什么是集成测试
集成:集成(Integration)是指把多个单元组合起来形成更大的单元。
集成测试(Integration Testing)是在假定各个软件单元已经通过了单元测试的前提下,
检查各个软件单元之间的相互接口是否正确。
也叫组装测试或联合测试。
在单元测试的基础上,将所有模块按照设计要求(如根据结构图)组装成为子系统或系统,进行集成测试。
2、集成测试与单元测试的区别
集成测试 单元测试
测试对象 概要设计中的模块与模块间的组合 详细设计的具体功能单元
接口与数据传递 模块间的接口与数据传递关系,各单元组合后是否正常工作 单元内部的数据处理与传递
3、集成测试与系统测试的区别
集成测试 系统测试
测试对象 单元模块的组件 测试软件整体功能之外,还包括硬件外设等的测试
测试时间 位于单元测试与系统测试之间 位于集成测试之后
测试方法 黑盒/白盒相结合的测试方法 通常使用黑盒测试方法
测试内容 模块间的接口,组合后的模块功能 整个系统的功能和性能
测试目的 单元的接口间的错误,是否达到概要规格要求 与系统需求是否吻合
测试角度 开发人员的角度 用户角度
4、集成测试的策略
(1)非渐增式集成
非渐增式集成方法首先对每个子模块进行测试(即单元测试),然后将所有模块全部集成起来一次性进行集成测试
(2)渐增式集成
渐增式集成与“一步到位”的非渐增式集成相反,它把程序划分成小段来构造和测试,
在这个过程中比较容易定位和改正错误 对接口可以进行更彻底测试,
可以使用系统化的测试方法 当使用渐增方式把模块结合到程序中去时,有自顶向下和自底向上两种集成策略。
自顶向下集成(Top-Down Integration):从主控模块开始,沿着程序控制层次向下移动,逐渐把各模块组合起来。可以使用深度优先或是广度优先的组合策略。
自低向上集成(Bottom-Up Integration) 自底向上测试从软件结构最底层的模块开始组装和测试。因为是从底部向上结合模块,总能得到所需的下层模块处理功能,所以不需要桩模块。
优缺点比较
自顶向下集成策略特点
优点: 能够在测试的早期对主要的控制模块进行检验 深度优先的结合策略可以在早期实现软件的一个完整功能,并可验证其功能。
增强开发人员及用户的信心
缺点: 没有底层返回来真实数据流,需要推迟许多需要真实数据支持的测试
自底向上集成的特点
优点 允许对底层模块的早期验证。可在任何一个叶子节点就绪的情况下进行集成测试
可以并行进行集成 对被测模块可测性要求比自顶向下集成策略低
减少了桩模块的工作量 支持故障隔离
缺点 驱动模块开发量大 对高层测试被推迟到最后,整体设计的错误发现较晚 集成到顶层时将变得越来越复杂