分层集成(Layers Integration) (1)概念:分层模型在通讯系统中很常见,分层集成就是针对这个特点使用的一种集成。
(2)目的:通过增量式集成的方法验证一个具有层次性体系结构的应用系统的稳定性和互操作性。
(3)策略: - 划分系统的层次。
- 确定每个层次内部的集成策略,该策略可以使用大爆炸集成,自顶向下集成,自底向上集成和三明治集成中的任何一种策略,一般对于顶层可能还有第二层的内部采用自顶向下的集成策略;对于中间采用自底向上的集成策略,对于底层主要采用进行单独测试。
- 确定层次间的集成策略,该策略可以使用大爆炸集成,自顶向下集成,自底向上集成和三明治集成中的任何一种策略。
(4)优缺点:因为每个层次间和层次内部采用的策略不同,所以优缺点也就是和它采用的测试策略相对应。
(5)适用范围:有明显线性层次关系的产品系统。 基于功能的集成(Function-Based Integration)(1)概念:在开发过程中,尽早的看到系统主要功能的实现,对于谈对来说也是很有必要的,基于功能的集成是从功能角度出发,按照功能的关键程度对模块的集成顺序进行组织。
(2)目的:采用增值的方法,尽早的验证系统关键功能。
(3)策略: - 1.确定功能的优先级别。
- 2.分析优先级别最高的功能路径,把该路径上的所有模块集成到一起,必要时使用桩模块和单元模块。
- 3.增加一个关键功能,继续上面一个步骤,直到所有模块都被集成到被测系统中。
(4)优点: - 采用该方法,可以尽快的看到关键功能的实现,并验证关键功能的正确性。
- 由于该方法在验证某个功能的时候,可能会加入多个模块,因此在进度上,比自顶向下和自底向上还有三明治的集成策略要快一点。
- 接口的覆盖使用的测试用例比较少。
- 可以减少驱动模块的开发
(5)缺点: - 对于复杂的系统,功能之间的相互关联性可能是错综复杂并难以分析的。
- 对有些接口的测试不充分,会丢失许多接口错误。
- 一些初始的集成需要使用桩模块。
- 可能会有比较大的冗余测试。
(6)适用范围: - 关键功能具有较大风险的产品。
- 技术探索性的项目,其功能的实现远比质量更关键。
- 对于功能的实现没有把握的产品。
基于进度的集成(Schedule-Based Integration)(1)概念:进度压力在我们实际的工作中,每个软件开发项目都会遇到,。
为了完成进度,有可能会牺牲质量,基于进度的集成就是在兼顾质量和进度两者之间寻找了一个均衡点。
(2)目的:尽可能早的进行集成测试,提高开发与集成的并行性,有效的缩短进度。
(3)策略:这个集成的策略就是把最早可获得的代码拿来激励进行集成,必要的时候开发桩模块和驱动模块,子啊最大程度上保持与开发的并行性,从而缩短了项目集成的时间。
(4)优点: (5)缺点: - 可能最早拿到的模块之间缺乏整体性,只能进行独立的集成,导致许多接口必须等到后期才能验证,但此时系统可能已经很复杂,往往无法发现有效的接口问题。
- 桩模块和驱动模块的工作量可能会变得很庞大。
- 由于进度的原因,模块可能很不稳定且会不断变动,导致测试的重复和浪费。
(6)适用范围:进度优先级高于质量的项目。 集成测试策略集成测试是一种正规测试过程,必须精心计划,并与单元测试的完成时间协调起来。在制定测试计划时,应考虑如下因素:
1、是采用何种系统组装方法来进行组装测试;
2、组装测试过程中连接各个模块的顺序;
3、模块代码编制和测试进度是否与组装测试的顺序一致
4、测试过程中是否需要专门的硬件设备; 解决了上述问题之后,就可以列出各个模块的编制、测试计划表,标明每个模块单元测试完成的日期、首次集成测试的日期、集成测试全部完成的日期、以及需要的测试用例和所期望的测试结果。 在缺少软件测试所需要的硬件设备时,应检查该硬件的交付日期是否与集成测试计划一致。例如,若测试需要数字化仪和绘图仪,则相应测试应安排在这些设备能够投入使用之时,并需要为硬件的安装和交付使用保留一段时间,以留下时间余量。此外,在测试计划中需要考虑测试所需软件(驱动模块、桩模块、测试用例生成程序等)的准备情况。 单元测试后,有必要进行集成测试,发现并排除在模块连接中可能发生的上述问题,最终构成要求的软件子系统或系统。对子系统,集成测试也叫部件测试。 任何合理地组织集成测试,即选择什么方式把模块组装起来形成一个可运行的系统,直接影响到模块测试用例的形式、所用测试工具的类型、模块编号和测试的次序、生成测试用例和调试的费用。通常,有两种不同的组装方式:一次性组装方式和增值式组装方式。 集成测试完成标准怎样判定集成测试过程完成了,可按以下几个方面检查: 1、成功地执行了测试计划中规定的所有集成测试;
2、修正了所发现的错误;
3、测试结果通过了专门小组的评审。 集成测试应由专门的测试小组来进行,测试小组由有经验的系统设计人员和程序员组成。整个测试活动要在评审人员出席的情况下进行。 在完成预定的组装测试工作之后,测试小组应负责对测试结果进行整理、分析,形成测试报告。测试报告中要记录实际的测试结果、在测试中发现的问题、解决这些问题的方法以及解决之后再次测试的结果。此外还应提出不能解决、还需要管理人员和开发人员注意的一些问题,提供测试评审和最终决策,以提出处理意见。
|