微服务中的自动化测试


自动化测试是拥有高度成功的微服务架构的一个非常重要的要求。为了让事情经常发生,有必要进行伟大的自动化测试。在本文中,我们将讨论您可以为您的微服务编写的五种自动化测试。

编写微服务自动化测试所需的材料。
你可能还喜欢:What is API Testing, and Are You Doing It Right?

Unit Tests

当您开发一个应用程序时,它可能包含大量的类,每个类可能都有几个方法。您通常为特定的代码单元编写测试用例。一个单元可以是一个方法、一组方法或一个类的整个代码。通常,您希望保持单个单元测试尽可能的独立。

单元测试的一种常见方法是模拟外部依赖,以便有效地测试业务逻辑。例如,单元测试可以独立于数据库运行。这确保了测试没有外部依赖性,并且当测试外部的东西改变时不会失败。

层集成测试

当我们开发企业应用程序时,我们通常将它们组织成层。例如,一个web应用程序可以有web层、业务层和数据层。您可能希望这些独立的层能够很好地协同工作。因此,您可以编写层集成测试来确保它们的正确集成。

例如,当您调用web层时,它是否被正确地传播到业务层,并从那里传播到数据层?最后,你的要求得到了适当的回应吗?

API Tests

当我们创建一个微服务时,我们最终会为消费者提供访问和使用资源的API。例子有REST和SOAP APIs。您可以通过编写自动化测试来测试应用编程接口。即使对于这样的应用编程接口测试,一个小时的需求是一个内存数据库,因为它有利于避免外部依赖。

系统测试

在测试过程中,我们应用程序外部的所有系统都在这里。您将开始考虑数据库、外部接口和应用程序所需的其他依赖关系。这是您在真实环境中实际部署应用程序的地方。

用户接受度测试

这是自动化测试的最后一级,在这里您可以测试最终用户使用场景的每个方面。这里的重点是创建实时使用场景,例如访问生产模式数据库来测试逻辑。在运行应用程序之前,这一步是必要的。

摘要

在本文中,我们探讨了通常在应用程序上执行的五种不同的自动化测试。这些是单元测试、层集成测试、应用编程接口测试、系统测试和用户验收测试。

进一步阅读

Testing Microservices: Tools and Frameworks

Improve Microservice Testing With Contract Testing