一个成功的微服务架构的业务系统,必须进行大量的自动化测试。简单来说,在微服务架构中,测试的层次变得更多,而且对环境的搭建要求更高。
在本文中,我们将讨论您可以为微服务编写的五种类型的自动化测试。
单元测试
当您开发一个应用程序时,它可能包含大量的类,每个类可能都有几个方法。您通常为特定的代码单元编写测试用例。一个单元测试可以是一个方法,一组方法,或者一个类的整个代码。通常,您希望保持各个单元测试尽可能独立。
单元测试的一种常见方法是模拟外部依赖关系,以便有效地测试业务逻辑。例如,单元测试可以独立于数据库运行。这确保测试不具有外部依赖关系,并且当测试的外部内容发生更改时不会失败。
逻辑层间集成测试
当我们开发企业应用程序时,我们通常将它们分解成多个层。例如,WEB应用程序可以有WEB、业务和数据层。你会希望这些单独的层能够很好地协同工作。因此,您可以编写层集成测试来确保它们的正确集成。
例如,当您调用web层时,它是否正确地传播到业务层,并从业务层传播到数据层?最后,您是否得到了对请求的正确响应?
API测试
当我们创建一个微服务时,我们最终为消费者提供API来访问和消费资源。例如REST和SOAP API。您可以通过为API编写自动化测试来测试它。即使对于这样的API测试,也需要一个内存数据库,用以避免外部依赖关系。
系统测试
在测试过程中,应用程序外部的所有系统都出现在这里。您将开始计算应用程序所需的数据库、外部接口和其他依赖项。这是在实际环境中部署应用程序的地方。
用户验收测试
这是自动化测试的最后一个级别,您将测试最终用户使用场景的各个方面。这里的重点是创建实时使用场景,例如访问用于测试逻辑的生产模式数据库。在发布和启动应用程序之前,这一步是必要的。
领取专属 10元无门槛券
私享最新 技术干货