• 《软件测试》课堂笔记05


    Integration Test(集成测试)

    一. 概念:

      集成:是指把多个单元组合起来形成更大的单元。

      集成测试:是在假定各个单元已经通过单元测试的前提下,检查各个软件单元之间的相互接口是否正确。

    二. 集成测试与单元测试之间的关系:

      

    三. 集成测试与系统测试的区别:

      

    四. 集成测试的层次与原则:

      1. 层次:

       *对于传统软件来说,按集成粒度不同,可以把集成测试分为3个层次,即:集成测试、子系统内集成测试、子系统间集成测试

    *   对于面向对象的应用系统来说,按集成粒度不同,可以把集成测试分为2个层次:类内集成测试、类间集成测试 

      2. 原则:

      所有公共接口必须被测试到。

      关键模块必须进行充分测试。

      集成测试应当按一定层次进行。

      集成测试策略选择应当综合考虑质量、成本和进度(Q.C.D)三者之间的关系。

      集成测试应当尽早开始,并以概要设计为基础。

      在模块和接口的划分上,测试人员应该和开发人员进行充分沟通。

      当测试计划中的结束标准满足时,集成测试才能结束。

      当接口发生修改时,涉及到的相关接口都必须进行回归测试。

      集成测试应根据集成测试计划和方案进行,不能随意测试。*

      项目管理者应保证测试用例经过审核。

      测试执行结果应当如实的记录。

    五. 集成测试策略:

      1. 非渐增式集成:

    *  非渐增式集成方法首先对每个子模块进行测试(即单元测试),然后将所有模块全部集成起来一次性进行集成测试。
      
      优点:(1)在有利的情况下,可以迅速完成集成测试。
         (2)集成测试用例最少。
         (3)比较简单。
         (4)多名测试人员可以并行工作。
      缺点:(1)复杂的程序遇到问题时很难定位和修改。
         (2)很难一次运行成功。
         (3)很多接口很容易漏检。

      2. 渐增式集成:

    把程序划分成小段来构造和测试,在这个过程中比较容易定位和改正错误。
     

        (1)自顶向下:自顶向下集成(Top-Down Integration):从主控模块开始,沿着程序 控制层次向下移动,逐渐把各模块组合起来。可以使用深度优先或是广度优先的组合策略。

        

         步骤:

        ①对主控模块进行测试,用桩模块替代被主控模块调用的子模块
        ②根据选定的策略(深度/广度),每次用一个实际模块代换一个桩模块
        ③进行集成测试
        ④为了保证加入的模块没有引进新的错误,根据需要进行回归测试。②-④循环。
         优点:
        能够在测试的早期对主要的控制模块进行检验
        深度优先的结合策略可以在早期实现软件的一个完整功能,并可验证其功能。增强开发人员及用户的信心
         缺点:
        没有底层返回来真实数据流,需要推迟许多需要真实数据支持的测试
     

        (2)自底向上:(Bottom-Up Integration)自底向上测试从软件结构最底层的模块开始组装和测试。因为是从底部向上结合模块,总能得到所需的下层模块处理功能,所以不需要桩模块。 

        

         步骤:

        ①把底层模块组合成实现某个特定子功能的族
        ②编写测试驱动程序,协调测试数据的输入输出
        ③对该子功能族进行测试
        ④去掉测试驱动程序,自底向上移动,把子功能组合成更大的子功能族。②-④循环。

         优点:

        允许对底层模块的早期验证。

        可在任何一个叶子节点就绪的情况下进行集成测试。

        可以并行进行集成对被测模块可测性。

        要求比自顶向下集成策略低。

        减少了桩模块的工作量。

        支持故障隔离。

         缺点:

    *    驱动模块开发量大。

        对高层测试被推迟到最后,整体设计的错误发现较晚。

        集成到顶层时将变得越来越复杂

        (3)三明治集成:三明治集成(Sandwich Integration)是一种混合增量式测试策略,综合了自顶向下和自底向上两种集成方法的优点。这种方法桩模块和驱动模块的开发工作都比较小,不过代价是在一定程度上增加了缺陷的定位难度。 

         步骤:

        ①选定结构中的某一层为目标层
        ②对目标层所在层下面的各层使用自底向上的集成策略
        ③对目标层上面层次使用自顶向下的集成策略
        ④对目标层与其下一层集成
        ⑤把②③④的结果集成系统整体进行测试
         优点:结合了自顶向下和自底向上两种策略的优点。
         缺点:目标层在集成前测试不充分。
     
     
  • 相关阅读:
    实例15_C语言绘制万年历
    医生酒精
    实例13_求解二维数组的最大元素和最小元素
    用二维数组实现矩阵转置
    C语言中的typedef跟define的区别
    C语言设计ATM存取款界面
    MyBatis,动态传入表名,字段名的解决办法
    在mybatis执行SQL语句之前进行拦击处理
    使用Eclipse构建Maven的SpringMVC项目
    Debug过程中的mock (及display窗口的使用)
  • 原文地址:https://www.cnblogs.com/HCS1995/p/4474539.html
Copyright © 2020-2023  润新知