集成测试
集成测试的基础策略有很多,通常分为两种:非增量式集成测试策略和增量式集成测试策略
第一种:非增量式集成测试策略
非增量式集成测试策略也叫做大爆炸集成、一次性集成;
即在最短的时间内把所有的系统组件一次性集成到被测系统中,并通过最少的用例来验证整个系统,不考虑各组件之间的相互依赖性或者可能存在的风险。
优点:
容易理解,比较简单
可以多人并行工作,对人力物力资源的利用率较高。
缺点:
问题定位和修改都比较困难
即使被测系统能够被一次性集成,但是还会有许多接口上测试被遗漏,甚至会躲过测试遗留在系统中。
适用场景:
适用于维护型的项目,并且新增的项目只有少数的模块被增加或修改
适用于测试系统比较小,并且各个组件都经过了充分的单元测试。
第二种:增量式集成测试策略
增量式集成的策略有很多种:自顶向下集成,自底向上集成,三明治集成,基于功能集成,基于风险集成,基于分布式集成等。
该策略最大的特点就是:支持故障隔离、定位问题
1,自顶向下集成:(个人理解:随着底层不断增加,测试越来越难以全面。)
自顶向下集成首先要集成主控制模块,然后从软件控制层次结构向下逐步集成,可以采用深度优先或者广度优先进行集成测试,主要验证接口的稳定性。
优势:
能够较早的验证主要的控制点和判断点,如果主控制出现问题能够及时发现。
深度优先:首先实现并验证一个完整的功能需求的正确性
缺点:
桩的开发和维护是该方法的最大问题,底层模块增加,系统越来越复杂,底层模块从测试会越来越不充分。
使用场景:
接口变化比较小的项目并且控制结构比较清晰。
2.自底向上集成
对底层模型的行为进行较早的验证,早期可能出现并行的测试。
缺点:
对顶部的验证推迟了,设计上的错误不能被及时发现,随着顶层的集成,对产品底部的异常越来越难发现。
使用场景:
顶层接口变化比较复杂的,变化比较频繁的系统
3.三明治集成
三明治集成属于混合式集成,综合了自顶向下和自底向上集成的优缺点;测试的时候,将被测软件分成三份,中间一份为目标层,目标层的上部分采用自顶向下集成策略,下部分采用自底向上集成策略。最后在目标层进行会和。
缺点:
最大的缺点就是对中间层的测试不够充分;
使用场景:
适用于大多数项目。使用时要尽可能的减少驱动模块和桩模块的数量。
4.基于功能集成
基于功能角度出发,按照功能的关键程度对功能模块进行集成。
缺点:
对一些接口测试不充分。系统很复杂的时候,功能之间的相互联系很难分析清楚,会造成大量的冗余测试
5.基于风险集成
是一种假设,系统风险度较高的模块间的集成往往是错误集中的地方。
优点:
加速系统的稳定性。
关键点:
风险的识别和评估。
通常跟基于功能集成合用
6.基于分布式集成
主要是验证松散耦合的同级模块之间的交互稳定性。在一个分布式系统中,由于没有专门的控制轨迹,没有专门的服务层,所以构造测试包非常困难,主要验证远程主机之间的接口是否具有最低限度的可操作性。
使用场景:
主要用在分布式系统中。
7.自顶向下测试:是从程序的初始模块开始测试。
(1)该方***在早期发现顶层的错误。
(2)早期的程序框架可以进行演示
(3)需要开发桩模块辅助测试。有些甚至需要多个桩模块辅助,加大了桩模块本来的错误影响。
(4)测试完一个上层模块后,挑选哪个模块作为下一个测试模块,以及测试的顺序没有唯一的界定标准。
优点:较早地验证了主要控制和判断点;按深度优先可以首先实现和验证一个完整的软件功能;功能较早证实,带来信心;只需一个驱动,减少驱动器开发的费用;支持故障隔离。
缺点:桩的开发量大;底层验证被推迟;底层组件测试不充分。
注意;自底向上才需要驱动开发模块。
链接:https://www.nowcoder.com/questionTerminal/d97869bb5a1c40c9976b8048764ea297?
来源:牛客网
链接:https://www.nowcoder.com/questionTerminal/d97869bb5a1c40c9976b8048764ea297?
来源:牛客网