微服务场景下的自动化测试

发表于:2016-10-04来源:icodeit.org/作者:icodeit.org点击数: 标签:微服务
微服务和传统的单块应用相比,在测试策略上,会有一些不太一样的地方。简单来说,在微服务架构中,测试的层次变得更多,而且对环境的搭建要求更高。比如对单块应用,在一个机

新的挑战

微服务和传统的单块应用相比,在测试策略上,会有一些不太一样的地方。简单来说,在微服务架构中,测试的层次变得更多,而且对环境的搭建要求更高。比如对单块应用,在一个机器上就可以setup出所有的依赖,但是在微服务场景下,由于依赖的服务往往很多,要搭建一个完整的环境非常困难,这对团队的 DevOps 的能力也有比较高的要求。

相对于单块来说,微服务架构具有以下特点:

  • 每个微服务在物理上分属不同进程
  • 服务间往往通过 RESTful 来集成
  • 多语言,多数据库,多运行时
  • 网络的不可靠特性
  • 不同的团队和交付周期

上述的这些微服务环境的特点,决定了在微服务场景中进行测试自然会面临的一些挑战:

  • 服务间依赖关系复杂
  • 需要为每个不同语言,不同数据库的服务搭建各自的环境
  • 端到端测试时,环境准备复杂
  • 网络的不可靠会导致测试套件的不稳定
  • 团队之间的 沟通成本

测试的分层

相比于常见的 三层测试金字塔

原文转自:http://icodeit.org/2016/10/testing-in-microservice-context/