可以使用Vagrant或Docker进行Web应用程序的QAtesting

我知道我们使用docker和vagrant或任何其他容器化技术来快速为开发者设置开发环境。 但是我们可以将其应用于testing吗? 我的意思是每个testing机器的设置环境,以便他们可以在自己的机器上testing它。它可能包括自动化或没有自动化testing。 这是我们的经理想要的。我个人不同意应该在生产副本上testing“发布版本”,我的意思是托pipe服务器在Amazon EC2中具有的暂存环境,我们有两台临时服务器。 我们通常这样做,但是现在我们的经理希望testing人员通过使用Vagrant创build一个环境来在本地机器上testing他们。

你的意见请。

在testing方面,我真的没有看到任何理由去处理不同的事情。 您似乎对开发人员使用自动化开发环境的想法感到满意,那么QA团队为什么会这么做呢?

我的质量检查过程中有几个关键的东西:

  1. 为我的项目编写testing和编写代码一样高效
  2. 问题报告的质量很高,很容易向开发者certificate
  3. QA套件很容易集成到我们的构buildstream水线中,并且可以在每个请求中运行

我个人将会采用自动开发环境来为QA团队提供服务。 这应该:

  • 使用与开发团队相同的技术,例如Docker或Vagrant
  • 为质量保证小组提供一个本地“开发”设置,尽可能复制您的生产设置,以便质量保证小组可以开发和演示testing套件
  • 如果可能的话,包含生产数据的完整副本,但如果不是“有效的”子集

上述目的是为了使QA团队在编写testing套件时更加高效,其方式与您希望开发团队在编写新function时具有高效率的方式完全相同。

就像开发人员提升新function的请求一样,QA套件中的QA也是如此。 一旦QA成员觉得新的testing已经准备就绪,他们就会提出一个拉取请求,然后在合并到主testing套件中之前进行构build和审查过程。

然后,主要testing套件将作为默认构buildpipe道的一部分运行,并且在部署更改时也会针对分段和生产环境运行。 因为它运行在一个你熟悉的技术栈,比如Docker或者Vagrant,所以把它和你的构buildstream程集成起来应该相当容易。

简而言之:首先应用相同的原则开发软件,然后编写和维护QA套件。