自上而下的集成测试
软件测试分为多个阶段,例如单元测试、集成测试、系统测试和验收测试。自上而下的方法属于集成测试,其中通过组合多个组件然后根据程序源代码的控制流从上到下进行验证。
什么是软件自上而下的集成测试?
软件自上而下的集成测试是集成测试的类别之一,其中首先测试高级单元,然后测试低级单元。在此过程之后,集成被视为已完成,以确保软件按预期运行。开发驱动程序和存根以执行软件自上而下的集成测试。它用于增强和刺激尚未组合到较低级别的模块的特性。
软件自上而下集成测试的步骤
执行软件自上而下集成测试的步骤如下 −
步骤 1 − 在这种方法中,驱动程序表示称为高级组件的突出控制模块,存根表示直接在这些高级模块下运行的低级组件。
步骤 2 − 测试从上到下开始,因此首先独立验证高级组件。
步骤 3 − 然后,较低级别的组件(也称为存根)按照广度搜索或深度优先方法依次逐个替换较高级别的组件。
步骤 4 −这个过程一直持续到每个组件都组合并验证完毕。
步骤 5 − 在执行完每组测试用例后,不同的存根会替换当前的控制模块。这些存根被视为模块的短期替代品,它们产生与软件相同的结果。
步骤 6 −为了验证是否存在任何错误,将执行回归测试用例以检查是否存在任何副作用。
自上而下集成测试的缺点
自上而下集成测试的缺点如下 −
- 在自上而下的集成测试中,应彻底验证上层组件以提高质量并确保下层组件(也称为存根)正常工作。
- 在自上而下的集成测试中,存根暂时替换了下层单元,但是数据不会通过这种方法向上导航。因此,无法按时进行测试,从而减慢了开发周期。
- 由于替换过程,存根的复杂性在每次替换后都会增加。
- 在自上而下的集成测试中,下层组件没有得到很好的测试。
自上而下集成测试示例
上图显示了自上而下集成测试的架构。这里,如果使用深度优先方法,那么我们将从模块 A 的集成开始。然后是模块 B、模块 E、模块 F、模块 G、模块 C 和模块 D 的组合。

这里,如果使用广度优先方法,那么我们将从模块 A 的集成开始。然后是模块 B 和模块 C 的组合。然后我们将集成模块 E、模块 F、模块 G 和模块 D。
自上而下集成的优势测试
自上而下集成测试的优点如下 −
- 在自上而下的集成测试中,无需编写驱动程序。
- 在自上而下的集成测试中,接口错误在软件开发生命周期 (SDLC) 的早期阶段就已识别。
- 在自上而下的集成测试中,故障定位非常容易。
- 创建测试用例非常简单,因为只需要输入和输出函数。
自上而下集成测试的缺点
自上而下集成测试的缺点如下 −
- 自上而下的集成测试需要开发驱动程序和模拟对象。
- 如果不包含输入输出函数,则在存根中开发测试用例会很困难。
- 关键的下级别单元在验证中被遗漏。
结论
至此,我们对软件自上而下集成测试教程的全面介绍就结束了。我们首先描述了什么是软件自上而下集成测试,进行软件自上而下集成测试需要执行哪些步骤,自上而下集成测试的缺点是什么,自上而下集成测试的示例,自上而下集成测试的优点是什么,以及自上而下集成测试的缺点是什么。这使您具备了软件自上而下集成测试的深入知识。明智的做法是继续实践您学到的知识并探索与软件测试相关的其他知识,以加深您的理解并拓展您的视野。