驱动模块
子节点要有驱动模块
桩模块
有子模块就需要开发桩模块
成对继承
基本思想:将每个集成测试用例限定在一对调用单元上,每个集成测试用例都是最小的集成单元,仅涉及一对调用的接口
邻居集成
(一般三个为一组)
- 邻居是指某个指定模块及其所有直接调用该模块的上层模块以及所有被该模块直接调用的下层模块
- 将每个集成测试用例限定在某个节点的邻居上,针对某个模块的集成测试用例应同时包含该模块及其邻居
基于独立路径的测试
以函数调用图为单位
- 规模估算:环复杂度V,测试用例数量也是V,但是存在不可能路径,需要去掉或编写桩模块构造可行路径
- 特点分析:减少桩和驱动模块开发量
- 不足:缺陷定位困难
遍历
大爆炸集成
- 基本思想:将所有经过单元测试的模块一次性组装到被测系统中进行测试,完全不考虑模块之间的依赖性和可能的风险
- 优点:测试规模小
- 缺点:难以定位问题
自顶向下集成
广度优先:横向一层一层测
深度优先:一条一条测
自底向上的集成
先从叶子节点开始测试
优点
- 优先从叶子节点开始测试,有助于早期发现底层模块中复杂算法的缺陷,且驱动模块的开发有利于规范和约束系统上层模块的设计,在一定程度上增加系统可测试性
- 单个测试用例包含多个模块,可从整体上降低测试用例规模
- 多个集成测试可并行展开,确保测试工作进度(可以多个节点一起测试)
不足
- 驱动模块的开发和维护工作量较大
- 难以早期发现上层模块中有关逻辑和控制方面的缺陷
- 直至加入最后一个模块才能看到整个系统框架,难以早期发现时序问题和资源竞争问题
混合集成(三明治集成)
将自顶向下和自底向上结合起来
在调用图上按照一定的策略,分别自顶向下和自底向上展开集成,并在子树上进行大爆炸集成
策略一
将系统划分三层 中间层为目标层
测试时对目标层上面的层使用自顶向下的集成策略,对目标层下面的层使用自底向上的集成策略
策略二
基于策略1并对目标层采用独立测试策略,确保目标层模块在集成测试之前得到充分的测试
策略三
对包含读操作的子系统自底向上集成测试直至根节点,然后对包含写操作的子系统自顶向下集成测试直至叶子节点
优势
结合了自顶向下和自底向上的集成的优势
不足
- 中间的目标层可能得不到充分的测试
- 需要同时开发桩和驱动模块,这部分工作量比较大
- 需在子树上进行大爆炸集成,一旦发现缺陷,涉及的接口数量较多,增加了缺陷定位难度
对于有输入的:自顶向下