下面介绍集成测试的几种策略:
1)大爆炸集成
优点:可以迅速完成集成测试;并且只要极少数的驱动和桩模块;用例也是最少的;简单;资源利用率高
缺点:一次试运行成功的可能性不大,问题定位和修改比较困难,许多接口错误很容易躲过测试。
适应于一个维护型项目或被测试系统较小
2)自顶向下集成
优点:较早地验证了主要控制和判断点;按深度优先可以首先实现和验证一个完整的软件功能;功能较早证实,带来信心;只需一个驱动,减少驱动器开发的费用;支持故障隔离。
缺点:柱的开发量大;底层验证被推迟;底层组件测试不充分。
适应于产品控制结构比较清晰和稳定;高层接口变化较小;底层接口未定义或经常可能被修改;产口控制组件具有较大的技术风险,需要尽早被验证;希望尽早能看到产品的系统功能行为。
3)自底向上集成
优点:对底层组件行为较早验证;工作最初可以并行集成,比自顶向下效率高;减少了桩的工作量;支持故障隔离。
缺点:驱动的开发工作量大;对高层的验证被推迟,设计上的错误不能被及时发现。
适应于底层接口比较稳定;高层接口变化比较频繁;底层组件较早被完成。
4)三明治集成
优点:集合了自顶向下和自底向上两种策略的优点
缺点:中间层测试不充分
适应于大部分软件开发项目
5)基干集成
优点:具有三明治集成的优点,更适合于大型复杂项目的集成。
缺点:必须对系统的结构和相互依存性进行仔细的分析;驱动和桩开发量大;局部采用了大爆炸的策略,有些接口可能测试不充分。
嵌入式系统中常用
6)分层集成
适应于有明显层次关系的系统
7)基于功能的集成
优点:优先验证关键功能的正确性;减少驱动的开发;进度要快。
缺点:对接口测试不充分;有较大的冗余测试。
8)基于消息的集成
优点:优先验证关键消息的正确性;减少驱动的开发;进度要快。
缺点:对接口测试不充分;有较大的冗余测试。
9)基于风险的集成
优点:最具有风险的组件最早进地验证,有助于系统的快速稳定。
缺点:需要对各组件的风险有一个清晰的分析。
10)基于进度的集成
优点:具有较高的并行度;能够有效缩短项目的开发进度。
缺点:桩和驱动工作量较大;有些接口测试不充分;有些测试重复和浪费。
以上策略应根据实际情况来采用,也可以组合使用!