我负责为使用微服务架构的项目实现QA过程和测试自动化。
项目有一个公共api,使一些数据可用。因此,我将自动化API测试。测试将驻留在一个存储库中。这个部分对我来说很清楚,我以前在其他的巨石项目中也这样做过。我为API测试做了一次回购。也可能是另一次硒测试的回购。
但是在这里,整个管道由许多通过restful和/或兔子队列进行通信的微服务组成。我将如何对这些单个服务进行自动化测试?每项服务的测试会在一个单独的回购中进行吗?注意:服务是用Java或PHP编写的。我将使用Python自动化测试。在我看来,我最终会得到大量的测试/存根/模拟的回复。
社区能提供什么建议或好资源?)
附加信息:一个由6-7个开发人员和1个qa (me)组成的团队正在开发产品。我们也计划实施CI和CD。在拉请求时,应该将组件部署到测试env中,并在那里执行我的测试。然后,如果成功的组件将被部署到暂存env,并且可能执行一些较小的冒烟测试集。在成功部署到stag env和成功的冒烟测试执行组件的情况下,可能会将组件部署到生产中。所有这些都是由我即将编写的CI/CD工具和测试完成的。
发布于 2016-03-17 20:02:14
发布于 2016-03-09 14:38:23
如何测试
这不仅是你的测试策略的问题,也是你作为一个团队如何工作的问题。
我通常更喜欢在他们测试的代码附近进行测试,所以如果有新的人加入到这个项目中,她可以通过一两个代码签出来启动自动化。
对于每组测试,不需要单独的repos。包以您希望的方式支持测试的组织结构,因此很容易掌握查看包名称和结构的测试覆盖率。还有一些测试组可以用来注释您的测试。它们可以轻松地启动不同的测试组,特别是如果您希望在您的CI服务器中有单独的作业(例如Jenkins)。
我通常喜欢从小开始,有一个回购,结构良好。从一开始就创建了许多存储库,使得维护变得非常复杂。当存储库开始增长时,您将需要不时地重构它,更新结构。如果重构还不够,那么您可以考虑是否将一些工具或测试移到单独的repos中。
发布于 2016-03-09 15:18:24
您提到了“兔子队列”,即RabbitMQ。有许多方法可以配置RabbitMQ,包括性能、容错和资源需求之间的权衡。我建议您阅读兔南可靠性指南,然后阅读Aphyr在兔文上的文章,然后考虑如何将其应用于您的系统。
下面是一些需要测试的内容:
https://sqa.stackexchange.com/questions/17487
复制相似问题