自上而下和自下而上的集成测试之间的区别

作者: Laura McKinney
创建日期: 2 四月 2021
更新日期: 14 可能 2024
Anonim
High Density 2022
视频: High Density 2022

内容


自上而下与自下而上的集成测试之间的主要区别在于,自上而下的集成测试利用存根来调用从属于主函数的子模块,而自下而上的集成测试中则不需要存根,而是使用驱动程序。与自底向上的方法相比,自顶向下方法的冗余更多。

这两种技术是集成测试的一部分,集成测试提供了一种有组织的方式来构建程序结构,同时执行测试以检测与接口相关的错误。集成测试主要是为了组合经过单元测试的组件,以便根据设计规范构建程序。

    1. 比较表
    2. 定义
    3. 关键差异
    4. 结论

比较表

比较依据自上而下的集成测试自下而上的集成测试
基本的将存根用作所调用模块的临时替换,并模拟分离的较低级别模块的行为。使用测试驱动程序来启动并将所需的数据传递到较低级别的模块。
有利如果重大缺陷发生在程序顶部。如果关键缺陷在程序底部遇到。
方法首先编写主函数,然后从中调用子例程。首先创建模块,然后将其与主要功能集成在一起。
实施于面向结构/过程的编程语言。面向对象的编程语言。
风险分析协作内部操作故障的影响。模型用于分析单个过程。
复杂简单复杂且数据密集型。
工作于从大到小的组件。从小到大的组件。

自上而下的集成测试的定义

自上而下的集成测试 是构建程序结构的一种增量技术。从层次结构中的主控件开始,它在向下移动时合并了模块。然后,使用深度优先或宽度优先的方法将子模块集成到主模块中。自上而下的集成的主要目的是在测试过程的早期验证重要的控制和决策点。


集成过程涉及自顶向下方法中的以下步骤:

  • 从主控制模块开始,然后将存根替换为主模块下方的组件。
  • 下级存根的替换策略取决于所采用的集成方法的类型(即深度和宽度优先),但是一次只能用实际组件替换一个存根。
  • 组件集成之后,进行测试。
  • 完成一组测试后,剩余的存根将替换为实际的组件。
  • 最后,进行回归测试以确保不存在新的错误。

由于自上而下的测试使用存根替换了底层数据,因此不允许其向上流动。这样做有三种方法,首先,直到用实际功能替换存根为止,其他功能才被延迟。其次,可以创建新的存根,这些存根可以执行受限制的功能并模仿实际的存根。在最后一个想法中,可以将存根从下到上进行集成。但是,最后一个解决方案称为自下而上的集成,将在下一个定义中进行描述。

自下而上的集成测试的定义

自下而上的集成测试 从基本模块(即最低级别的程序元素)的构建开始。它通过提供一个流程来集成位于最低级别(即最低级别)的组件,并且不需要存根。随着集成朝着更高的方向发展,对单独的测试驱动程序的要求降低了。因此,与上下集成测试方法相比,开销也减少了。

自下而上的集成包括以下步骤:

  • 它将低级元素(也称为构建)合并到执行特定软件子功能的集群中。
  • 自下而上的集成中使用了驱动程序(控制程序)来安排测试用例的输入和输出。
  • 然后测试集群。
  • 在程序结构中向上移动时合并了群集,并且消除了驱动程序。
  1. 自上而下的集成测试将存根实现为低级别的替代品。与之相反,自下而上的集成测试使用驱动程序将数据传递到较低级别的模块。
  2. 主要功能是自上而下的集成测试中最重要的部分,通过该测试可以调用其他子例程。相反,自下而上的方法侧重于较低级别的模块,并首先创建和集成它们。
  3. 面向结构/过程的编程语言实现自上而下的集成测试,而自下而上的测试是在面向对象的语言上实现的。
  4. 为了检查自顶向下测试方法中的风险,将内部操作缺陷的影响结合在一起。相反,自下而上的集成测试在模型的帮助下分别监视过程。
  5. 自上而下的集成测试相对于自下而上的测试是简单的。
  6. 自上而下的集成测试通过从大到小的组件进行工作,而自下而上的方法则相反。

结论

在这两种方法中,自上而下和自下而上的集成测试都会产生更多的冗余结果,并导致开销方面的额外工作。相反,自下而上的方法比较复杂,但是比前一种方法更有效。