是否可以使用Vagrant或Docker进行Web应用程序的QA测试

时间:2017-09-12 05:38:38

标签: testing docker web vagrant qa

我知道我们使用docker和vagrant或任何其他容器化技术来快速为开发人员设置开发环境。 但我们可以将其用于测试吗?我的意思是每个Tester机器的设置环境,以便他们可以在自己的机器上进行测试。它可能包括自动化或没有自动化测试。 这是我们的经理想要的。我个人不同意"发布Build"应该在Production副本上进行测试,我的意思是托管服务器在Amazon EC2中具有的暂存环境,我们有两个临时服务器。我们通常喜欢这样,但现在我们的经理希望测试人员通过使用Vagrant创建环境来测试他们在本地计算机上的工作。

请您的意见。

1 个答案:

答案 0 :(得分:3)

在测试方面,我真的没有理由以不同的方式处理事情。您似乎对为开发人员使用自动开发环境的想法感到非常满意,那么为什么QA团队应该有所不同呢?

我的质量保证流程中有一些我想要的关键事项:

  1. 为我的项目编写测试与在第一时间编写代码一样高效
  2. 问题报告质量很高,很容易向开发人员证明
  3. QA套件可轻松集成到我们的构建管道中,并可在每个拉取请求上运行
  4. 我个人会为QA团队提供自动开发环境。它应该:

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

    上述目的是让QA团队在编写测试套件时高效工作,就像您希望开发团队在编写新功能时高效工作一样。

    就像开发人员提出新功能的拉取请求一样,我会让QA做同样的事情来添加到QA套件中。一旦QA成员感觉新测试准备就绪,他们会提出一个拉取请求,然后在合并到主要测试套件之前进行构建和审核过程。

    然后,主要测试套件作为默认构建管道的一部分运行,并且在部署更改时也针对分段和生产环境运行。因为它运行在您熟悉的技术堆栈中,例如Docker或Vagrant,将它与构建管道集成起来应该相当容易。

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