集成测试的几种策略与选择原则
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
模块3 模块6 模块7
模块8
集成方法的选用原则
• 对于较大规模的项目,可以先用大爆炸集成法使 整个系统运行起来,然后再采用自顶向下、自底 向上或三明治集成的方法进行测试; • 也可按照进度选择集成方法,优先测试已经完成 的模块,如果已完成的模块所调用的模块没完成, 可以使用自顶向下集成进行打桩测试,如果完成 的模块的上层模块没有完成,可以采用自底向上 的集成方法进行测试。
模块1 模块2
模块3
模块4
模块5
模块6
模块7
模块8
三明治集成
• 三明治集成
– 结合自底向上和自顶向下两种集成方法,对于 底层模块采用自底向上的集成方法,对于顶层 模块采用自顶向下的集成方法进行测试。
三明治集成
模块2
• 测试模块6采 用自底向上集 成,测试模块 2采用自顶向 下集成。
模块1
模块4
模块5
模块7
模块8
自底向上集成
• 自底向上
– 从最底层模块开始按照接口依赖关系,逐层向 上集成。 – 优点:每个模块调用的其他底层模块已经被测 试号,不需要桩模块; – 缺点:需要为每个模块些驱动模块,并且缺陷 隔离没有自顶向下好,定位难度比自顶向下稍 大;
自底向上集成
• 测试模块6时, 不需要些桩模块, 但是需要为模块 6编写驱动模块, 测试完模块6和7 后,再对模块3 进行集成测试; 由于模块6和模 块7已经测试完, 不需要写桩模块, 但还需要为模块 3编写驱动模块;
集成测试策略
Sarah 2010.4
大爆炸集成
• 大爆炸集成
– 一种一次性将系统内的组件全部集合到测试系统中进 行测试的方法; – 可以很快看到程序运行起来,但很难定位问题; – 必须先对所有单元进行单元测试,然后再将所有单元 组装起来进行测试;
• 优缺点:
– 优点:需要的桩和驱动非常少,需要的测试用例少, 多个测试人员可以并行测试; – 缺点:接口间的交互关系只被测试到很少一部分,大 量的实际中会运行到的程序执行路径没有被测试到, 风险高;
集成测试与单元测试和系统测试的 区别
• 测试的单元不同
– 单元测试针对软件基本单元(如函数)做测试,集成测试时以模 块和子系统为单位进行的测试,主要测试接口间的关系;
• 测试的依据不同
– 单元测试依据软件详细设计说明书测试,集成测试依据概要设计 说明书测试,系统测试依据需求说明书测试;
• 测试的空间不同
自顶向下集成
• 自顶向下
– 从最顶层程序开始,所有被主程序调用的下层单元全 部使用桩来代替,然后一层一层向下进行测试,每层 程序调用的下一层程序单元都要打桩。 – 整个集成可以按深度优先的策略进行,也可按照广度 优先的策略进行。采用深度优先策略可以较快验证一 个子系统的完整功能。 – 优点:可以较早验证主要程序的功能,缺陷隔离方面 做得较好; – 缺点:桩的开发工作量大;
自顶向下集成
• 对模块1进行集成测试时, 先测试模块1的内部接口 的集成,需对模块3和模 块4打桩,然后进行测试。 然后再测试模块1和模块3、 模块3 4的集成关系,当测试模 块1和3的集成关系时,需 对模块4打桩,同理,测 试模块1和4的集成关系时,模块6 需对模块3打桩。
模块2 模块1
模块4
模块5
– 集成测试不关心内部实现层的测试空间,重点关注接口层的测试பைடு நூலகம்空间,即关注接口层可变数据间的组合关系;
• 集成测试使用的方法和单元测试不同
– 集成测试关注接口的集成; – 单元测试关注单个单元;
集成测试与单元测试和系统测试的 区别
• • • • 测试的单元不同 测试的而依据不同 测试的空间不同 集成测试使用的方法和单元测试不同