• 集成测试


    定义:集成测试又称组装测试,是在单元测试的基础上,将所有模块按照设计要求组装成 子系统或系统进行的测试活动。又称子系统测试、联合测试。

    目的:确保各单元组合在一起后能够按既定意图协作运行,并确保增量的行为正确,所测试的内容包括单元间的接口以及集成后的功能。

    集成测试需要考虑的问题:

    1. 在把各个模块连接起来的时候,穿越模块接口的数据是否会丢失;

    2. 各个子功能组合起来,能否达到预期要求的父功能;

    3. 一个模块的功能是否会对另一个模块的功能产生不利的影响;

    4. 全局数据结构是否有问题

    5. 单个模块的误差积累起来,是否会放大,从而达到不可接受的程度。

    集成测试的层次:

    1. 模块内集成测试。

    2. 子系统内集成测试:先测试子系统内的功能模块,然后将各个功能模块组合起来确认子系统的功能是否达到预期要求。

    3. 子系统间集成测试:测试的单元是子系统之间的接口。子系统是可单独运行的程序或进程。

    集成测试方法

    1. 静态测试技术——针对概要设计的测试

    2. 动态测试技术——灰盒测试

    灰盒测试的优点:

    1. 能够进行基于需求的测试和基于路径的覆盖测试。

    2. 可深入被测对象的内部,便于错误的识别分析和解决。

    3. 能够保证设计的黑盒测试用例的完整性,防止功能或功能组合的遗漏。

    4. 能够减小需求或设计不详细或不完整性对测试有效性造成影响。

    集成策略:

    1. 非增量式集成策略:一步到位(适合小系统)

      • 优点:①方法简单 ②允许多测试人员同时并行工作,人力物力资源利用率较高。

      • 缺点:①必须为每个模块准备相应的驱动模块和桩模块,测试成本较高 ②一旦集成后包含多种错误,难以纠正。

      在非增量式集成测试时,应当确定关键模块,对这些关键模块及早进行测试。

    2. 增量式集成策略:逐步实现

      分类:

      自顶向下增量式测试

      • 自顶向下集成测试的整个过程由3个步骤完成:

        (1)主控模块作为测试驱动器。

        (2)根据集成的方式(深度或广度),下层的桩模块一次一次地被替换为真正的模块。

        (3)在每个模块被集成时,都必须进行单元测试。重复第2步,直到整个系统被测试完成

      • 深度优先方式:首先集成在结构中的一个主控路径下的所有模块,主控路径的选择是任意的。

      • 广度优先方式:首先沿着水平方向,把每一层中所有直接隶属于上一层的模块集成起来,直到底层。

      • 优点:

        • 较早地验证了主要控制和判断点;

        • 功能较早证实;

        • 只需一个驱动;

        • 支持故障隔离;

      • 缺点:

        • 桩的开发量大;

        • 底层验证被推迟;

        • 底层组件测试不充分;

      • 适用范围:

        • 产品控制结构比较清晰和稳定;

          高层接口变化较小;

          底层接口未定义或经常可能被修改;

          产口控制组件具有较大的技术风险,需要尽早被验证;

          希望尽早能看到产品的系统功能行为。

           

      自底向上增量式测试

      • 从具有最小依赖性的底层组件开始,按照依赖关系树的结构,逐层向上集成,以检验系统的稳定性。

        最常用的集成策略,其他方法都或多或少应用此种方法。

      • (1)起始于模块依赖关系树的底层叶子模块,也可以把两个或多个叶子模块合并到一起进行测试

        (2)使用驱动模块对步骤1选定的模块(或模块组)进行测试

        (3)用实际模块代替驱动模块,与它已测试的直属子模块组装成一个更大的模块进行测试

        (4)重复上面的行为,直到系统最顶层模块被加入到已测系统中

      • 优点:

        • 对底层组件行为较早验证;

        • 工作最初可以并行集成;

        • 减少了桩的工作量;

        • 能较好锁定软件故障所在位置;

      • 缺点:

        • 驱动的开发工作量大;

        • 对高层的验证被推迟,设计上的错误不能被及时发现;

      • 适用范围:

        适应于底层接口比较稳定;

        高层接口变化比较频繁;

        底层组件较早被完成。

         

      三明治增量式测试(混合增量式测试)

      • 优点:集合了自顶向下和自底向上两种策略的优点

      • 缺点:中间层测试不充分

      • 适用范围:

        适应于大部分软件开发项目

  • 相关阅读:
    spark-submit python egg 解决三方件依赖问题
    怎样制作一个 Python Egg
    滴滴快车奖励政策,高峰奖励,翻倍奖励,按成交率,指派单数分级(4月23日)
    2016最新住房贷款利率,首套房利率,二套房利率,公积金贷款利率--利率表
    xgboost: 速度快效果好的boosting模型
    苏州Uber优步司机奖励政策(4月22日)
    北京Uber优步司机奖励政策(4月22日)
    成都Uber优步司机奖励政策(4月22日)
    滴滴快车奖励政策,高峰奖励,翻倍奖励,按成交率,指派单数分级(4月22日)
    苏州Uber优步司机奖励政策(4月21日)
  • 原文地址:https://www.cnblogs.com/zhaoyuxiao000/p/15869002.html
Copyright © 2020-2023  润新知