关闭

微服务有哪些测试类型,如何测试微服务?

发表于:2023-10-12 09:32

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:佚名    来源:知乎

  一、测试微服务时的测试类型
  现在,让我们仔细看看所有的微服务测试类型:
  1、单元测试
  单元测试是一种软件测试,可让您检查各个模块或软件组件的准确性。目标是验证每个代码单元是否正常工作。
  在功能开发阶段,开发人员独立编写单元测试,因为每个开发人员都比测试人员更了解和理解他们代码的工作原理,并且可以更好地执行此任务。
  这使您可以快速检查下一个代码更改是否导致回归,即先前测试的代码部分是否出现错误。它还使检测和消除此类缺陷变得更加容易。
  2、合同测试
  它是在外部服务边界的测试,验证它是否满足消费者服务所期望的契约。
  契约测试是一种通过隔离每个微服务并检查微服务传输的HTTP请求和响应是否符合契约中记录的共同理解来测试集成点的技术。
  通过这种方式,契约测试确保微服务可以通信。
  3、集成测试
  集成测试检查通常属于同一子系统的不同模块(或类)之间的交互,以确保它们在提供高级功能时按预期协同工作。
  集成测试还检查子系统采用的所有通信路径是否正确,并检测每个模块可能对其对等体应该如何行动的任何错误假设。这种类型的测试被认为是整个架构中最关键的测试。
  4、组件测试
  组件是一个微服务或一组微服务,它们在更大的系统中完成一个角色。组件测试允许您独立验证和评估微服务应用程序的每个组件的性能,而无需集成其他服务。
  通常,运行组件测试比评估微服务更容易和更快。
  由于微服务测试难度大、速度慢,需要模拟其他微服务或依赖。您可以通过用测试副本或虚拟服务器替换它们来隔离依赖关系。
  5、端到端测试
  端到端测试建立在集成测试的基础上,集成测试又建立在您所学的所有其他形式的测试之上。顾名思义,E2E将业务逻辑作为一个集成测试过程进行测试,不是孤立的,而是作为整个系统的一部分。
  从理论上讲,它们应该模拟应用程序的真实用户或至少执行真实用户的操作。这些测试通常最难编写并且消耗最多的开发时间。
  二、开始测试微服务
  微服务架构的测试过程与通常的测试过程有很大不同。微服务架构的特殊性在于,软件是由后端运行的多个服务提供的。
  因此,我们需要一种不同且更广泛的测试方法,因为在开发过程中执行集成测试或遍历主要流程可能具有挑战性。
  但是,我们可以快速更新单个微服务并对其进行测试,而不会影响其他微服务。
  微服务金字塔增加了两种新的测试类型:组件测试、合同测试。
  测试微服务的挑战
  微服务需要额外的步骤,例如管理多个存储库和分支,每个存储库和分支都有其数据库模式。但与微服务架构相关的测试挑战可能比这更深刻。
  以下是与测试微服务相关的一些关键挑战:
  可用性:由于不同的团队可能会管理他们的微服务,因此很难确保微服务的可用性(或者,更糟糕的是,试图找到所有微服务同时可用的时间)。
  碎片化和整体测试:微服务旨在单独工作以及与其他松散耦合的服务一起工作。这意味着开发人员必须单独测试每个组件,以及一起测试所有组件。
  知识差距:尤其是集成测试(我们将在本文后面讨论),无论谁进行测试都需要很好地理解每个服务才能有效地编写测试用例
  本文内容不用于商业目的,如涉及知识产权问题,请权利人联系51Testing小编(021-64471599-8017),我们将立即处理
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号