Integration Test(集成测试)
一. 概念:
集成:是指把多个单元组合起来形成更大的单元。
集成测试:是在假定各个单元已经通过单元测试的前提下,检查各个软件单元之间的相互接口是否正确。
二. 集成测试与单元测试之间的关系:
三. 集成测试与系统测试的区别:
四. 集成测试的层次与原则:
1. 层次:
对于传统软件来说,按集成粒度不同,可以把集成测试分为3个层次,即:集成测试、子系统内集成测试、子系统间集成测试
2. 原则:
所有公共接口必须被测试到。
关键模块必须进行充分测试。
集成测试应当按一定层次进行。
集成测试策略选择应当综合考虑质量、成本和进度(Q.C.D)三者之间的关系。
集成测试应当尽早开始,并以概要设计为基础。
在模块和接口的划分上,测试人员应该和开发人员进行充分沟通。
当测试计划中的结束标准满足时,集成测试才能结束。
当接口发生修改时,涉及到的相关接口都必须进行回归测试。
集成测试应根据集成测试计划和方案进行,不能随意测试。
项目管理者应保证测试用例经过审核。
五. 集成测试策略:
1. 非渐增式集成:
2. 渐增式集成:
(1)自顶向下:自顶向下集成(Top-Down Integration):从主控模块开始,沿着程序 控制层次向下移动,逐渐把各模块组合起来。可以使用深度优先或是广度优先的组合策略。
步骤:
(2)自底向上:(Bottom-Up Integration)自底向上测试从软件结构最底层的模块开始组装和测试。因为是从底部向上结合模块,总能得到所需的下层模块处理功能,所以不需要桩模块。
步骤:
优点:
允许对底层模块的早期验证。
可在任何一个叶子节点就绪的情况下进行集成测试。
可以并行进行集成对被测模块可测性。
要求比自顶向下集成策略低。
减少了桩模块的工作量。
支持故障隔离。
缺点:
驱动模块开发量大。
对高层测试被推迟到最后,整体设计的错误发现较晚。
集成到顶层时将变得越来越复杂
(3)三明治集成:三明治集成(Sandwich Integration)是一种混合增量式测试策略,综合了自顶向下和自底向上两种集成方法的优点。这种方法桩模块和驱动模块的开发工作都比较小,不过代价是在一定程度上增加了缺陷的定位难度。
步骤: