首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >微服务验收测试:是在项目内部还是分开?

微服务验收测试:是在项目内部还是分开?
EN

Stack Exchange QA用户
提问于 2019-05-21 14:25:13
回答 1查看 533关注 0票数 2

目前,我们在自己的存储库中分离了15+微服务,每个服务都包含它们的统一测试和集成测试,这些测试是在新提交时运行的。

我们也有两个客户使用我们的微服务,一个网站和一个移动应用程序。他们中的每一个都在自己的存储库中。

目前我们还没有任何验收测试。

然后,我想到了以下问题:如果我发布一个新版本的user service,那么它的所有相应的统一测试和集成测试都将运行(创建、更新、删除等等)。

现在我想让我们的验收测试运行,假设我希望我的用户成功地下订单,步骤如下:

  • 创建用户
  • 身份验证
  • 定购
  • 过程付款
  • 下订单
  • (愉快的用户)

这些测试必须驻留在users存储库中,或者应该创建一个完全独立的存储库,在每次对任何服务进行新提交时执行这些步骤?

例如,假设我对coupon service进行了新的提交,我之前提到的测试将不会运行,但是我可能会破坏一些只有customer service中的验收测试才会捕捉到的东西,这就是为什么我认为我应该有一个单独的存储库,称为AcceptanceTestProject,包含所有这些验收测试(或者至少是最重要的),每次提交都会运行。

目前,我认为我应该拥有这个单独的存储库,仅将验收测试作为我的管道的一部分,因此无论正在更新什么微服务,它都将运行。

但是如果我遗漏了什么,请纠正我的想法。

管道应该是这样的:

  1. 提交
  2. 单元测试(用户服务)
  3. 集成测试(用户服务)
  4. 验收测试(单独申请)
  5. 集成

谢谢!

EN

回答 1

Stack Exchange QA用户

回答已采纳

发布于 2019-05-22 07:23:41

我喜欢让验收测试尽可能接近代码。

如果您的验收测试是从用户的角度进行的,我会在网站或移动应用程序的代码存储库中找到它们。

如果网站和移动应用程序都使用相同的验收测试,您可以选择创建一个单独的存储库,但我认为我宁愿重复测试,因为这两个平台将来可能会出现分歧。我的经验是,移动应用程序通常是精简版的网站版本,有稍微不同的用户流量。此外,使用的测试框架(或变通方法/黑客)在网络和移动设备之间也会有所不同。

仍然想知道最简单的事情可能会起作用是什么。试一试,检查并调整。

票数 4
EN
页面原文内容由Stack Exchange QA提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://sqa.stackexchange.com/questions/39282

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档