单元测试与集成测试

什么是单元测试?

单元测试由开发人员执行,并测试程序代码( aka module, component) 单元。有助于降低错误修复的成本,因为错误能在开发周期的早期阶段识别出来的。

什么是集成测试?

集成测试由测试人员执行,并测试软件模块之间的集成。集成测试有两种方式,一种是自下而上的方法,另一种是自上而下的方法。

以下是两者的详细比较-

单元测试 集成测试
单元测试背后的思想是测试程序的每个部分,并确保各个部分是正确的。 集成测试背后的思想是将应用程序中的模块和测试组合为一组,以查看是否运行正常
是一种白盒测试 是一种黑盒测试
可以在任何时候执行 通常在单元测试之后和系统测试之前进行
单元测试只测试单元本身的功能,可能不会捕获集成错误或其他系统范围的问题 集成测试可以在集成模块以构建整个系统时检测错误
从模块内部开始 从对外接口开始
关注单个模块的行为 注重模块间的集成
单元测试不会验证代码是否能正确处理外部依赖项。 集成测试验证代码是否能正确处理外部依赖项。
通常由开发人员执行 通常由测试团队执行
查找错误很容易 查找错误很困难
单元测试的维护费用很低 集成测试的维护费用很高

关键差异

  • 单元测试可以测试单个源代码单元以确定是否可用,而集成测试则检查软件模块之间的集成。
  • 单元测试测试程序的每个部分,并显示各个部分是正确的,而集成测试将应用程序和测试中的不同模块组合为一组,以查看是否正常工作。
  • 单元测试从模块内部开始,而集成测试从对外接口开始。
  • 单元测试可以随时执行,集成测试在单元测试之后和系统测试之前执行。
  • 单元测试由开发人员执行,而集成测试由测试团队执行。
  • 单元测试错误很容易发现,而集成测试很难发现错误。
  • 单元测试是一种白盒测试,而集成测试是一种黑盒测试。

IT赶路人

专注IT知识分享