集成测试的基础策略有很多,通常分为两种:非增量式集成测试策略和增量式集成测试策略

第一种:非增量式集成测试策略

非增量式集成测试策略也叫做大爆炸集成、一次性集成;

即在最短的时间内把所有的系统组件一次性集成到被测系统中,并通过最少的用例来验证整个系统,不考虑各组件之间的相互依赖性或者可能存在的风险。

优点:

  • 容易理解,比较简单

  • 可以多人并行工作,对人力物力资源的利用率较高。

缺点:

  • 问题定位和修改都比较困难
  • 即使被测系统能够被一次性集成,但是还会有许多接口上测试被遗漏,甚至会躲过测试遗留在系统中。

适用场景:

  • 适用于维护型的项目,并且新增的项目只有少数的模块被增加或修改
  • 适用于测试系统比较小,并且各个组件都经过了充分的单元测试。

第二种:增量式集成测试策略

增量式集成的策略有很多种:自顶向下集成,自底向上集成,三明治集成,基于功能集成,基于风险集成,基于分布式集成等。

该策略最大的特点就是:支持故障隔离、定位问题

1,自顶向下集成:(个人理解:随着底层不断增加,测试越来越难以全面。)

自顶向下集成首先要集成主控制模块,然后从软件控制层次结构向下逐步集成,可以采用深度优先或者广度优先进行集成测试,主要验证接口的稳定性。

优势:

  • 能够较早的验证主要的控制点和判断点,如果主控制出现问题能够及时发现。

  • 深度优先:首先实现并验证一个完整的功能需求的正确性

缺点:

桩的开发和维护是该方法的最大问题,底层模块增加,系统越来越复杂,底层模块从测试会越来越不充分。

使用场景:

接口变化比较小的项目并且控制结构比较清晰。

2.自底向上集成

对底层模型的行为进行较早的验证,早期可能出现并行的测试。

缺点:

对顶部的验证推迟了,设计上的错误不能被及时发现,随着顶层的集成,对产品底部的异常越来越难发现。

使用场景:

顶层接口变化比较复杂的,变化比较频繁的系统

3.三明治集成

三明治集成属于混合式集成,综合了自顶向下和自底向上集成的优缺点;测试的时候,将被测软件分成三份,中间一份为目标层,目标层的上部分采用自顶向下集成策略,下部分采用自底向上集成策略。最后在目标层进行会和。

缺点:

最大的缺点就是对中间层的测试不够充分;

使用场景:

适用于大多数项目。使用时要尽可能的减少驱动模块和桩模块的数量。

4.基于功能集成

基于功能角度出发,按照功能的关键程度对功能模块进行集成。

缺点:

对一些接口测试不充分。系统很复杂的时候,功能之间的相互联系很难分析清楚,会造成大量的冗余测试

5.基于风险集成

是一种假设,系统风险度较高的模块间的集成往往是错误集中的地方。

优点:

加速系统的稳定性。

关键点:

风险的识别和评估。

通常跟基于功能集成合用

6.基于分布式集成

主要是验证松散耦合的同级模块之间的交互稳定性。在一个分布式系统中,由于没有专门的控制轨迹,没有专门的服务层,所以构造测试包非常困难,主要验证远程主机之间的接口是否具有最低限度的可操作性。

使用场景:

主要用在分布式系统中。

集成测试的策略详解:相关推荐

  1. Spring Data JPA 从入门到精通~Naming命名策略详解及其实践

    Naming 命名策略详解及其实践 用 JPA 离不开 @Entity 实体,我都知道实体里面有字段映射,而字段映射的方法有两种: 显式命名:在映射配置时,设置的数据库表名.列名等,就是进行显式命名, ...

  2. CentOS7下的软件安装方法及策略详解

    CentOS7下的软件安装方法及策略详解 互联网   01-24 15:15:09   作者:佚名   我要评论 今天小编为大家带来的是CentOS7下的软件安装方法及策略详解:希望对大家安装Cent ...

  3. Firewalld防火墙策略详解

    Firewalld防火墙策略详解 一.Firewalld firewalld防火墙是Centos7系统默认的防火墙管理工具,取代了之前的iptables防火墙,也是工作在网络层,属于包过滤防火墙. f ...

  4. Iptables防火墙策略详解

    Iptables防火墙策略详解 一.iptables Linux 系统的防火墙--netfilter/iptables IP信息包过滤系统,它实际上由两个组件netfilter 和 iptables组 ...

  5. Redis的淘汰策略详解

    接上一篇Redis的过期策略详解 Redis的过期策略详解 所谓的淘汰策略就是: 我们redis中的数据都没有过期,但是内存有大小,所以我们得淘汰一些没有过期的数据!! 那么怎么去淘汰了,我们上一篇讲 ...

  6. Java多线程之线程池7大参数、底层工作原理、拒绝策略详解

    Java多线程之线程池7大参数详解 目录 企业面试题 线程池7大参数源码 线程池7大参数详解 底层工作原理详解 线程池的4种拒绝策略理论简介 面试的坑:线程池实际中使用哪一个? 1. 企业面试题 蚂蚁 ...

  7. 多线程池、饱和策略详解

    一.序言 当我们需要使用线程的时候,我们可以新建一个线程,然后显式调用线程的start()方法,这样实现起来非常简便,但在某些场景下存在缺陷:如果需要同时执行多个任务(即并发的线程数量很多),频繁地创 ...

  8. Istio 中的授权策略详解

    本文节选自 ServiceMesher 社区出品的开源电子书<Istio Handbook--Istio 服务网格进阶实践>,阅读地址:https://www.servicemesher. ...

  9. Redis系列教程(九):Redis的内存回收原理,及内存过期淘汰策略详解

    Redis内存回收机制 Redis的内存回收主要围绕以下两个方面: 1.Redis过期策略:删除过期时间的key值 2.Redis淘汰策略:内存使用到达maxmemory上限时触发内存淘汰数据 Red ...

最新文章

  1. Docker入门之 - 如何安装Docker CE
  2. hive like 模糊匹配
  3. 初级和高级产品运营的分水岭指标:大局观和节奏感
  4. MySQL探秘(三):InnoDB的内存结构和特性(可靠性和持久性)
  5. 小米9首次官方降价:2799元,依旧实力强劲
  6. python 基本数据类型之列表
  7. SpringBoot之idea调出Maven Project
  8. 【转】PNG文件结构
  9. java 中类超时_Java中httpClient中的三种超时设置总结
  10. 前端cookie 放到请求头_ajax请求头cookie问题
  11. 安装Win8跳过密钥方法
  12. 一个JSP页面打开另外一个JSP页面并传值
  13. 【mysql】mysql 导出全库表结构,并排除指定库
  14. python学习笔记(一)数据处理
  15. 父进程和子进程之间的关系
  16. c语言循环单链表实现约瑟夫环问题
  17. Python字符串算法
  18. CLOUDXNS 使用体验
  19. 玩消费电子产品,常用6款传感器不可不知
  20. JS Worker多线程

热门文章

  1. 如何推广你的区块链初创企业,顺利完成ICO及后续发展
  2. ipad未能与itunes连接到服务器,itunes与ipad无法连接怎么办-互盾苹果恢复精灵
  3. Knn算法之手写识别系统
  4. Java实现 LeetCode 55 跳跃游戏
  5. 应用计算机怎么弹ink,Win7系统打开计算机管理提示computer management.Ink的解决方法教程[多图]...
  6. 手机摄像头+Matlab完成图像的自动识别
  7. 将sublime右下角永远改为HTML格式
  8. Java kafka producer 的常用参数的意义说明及默认值
  9. VMbox下ubuntu调整分辨率/安装增强功能
  10. 干货!深度推荐系统的探索与实践