CI CD工作流程中的集成测试范围

时间:2017-05-31 10:25:31

标签: web-services continuous-integration tdd integration-testing continuous-deployment

问题更多的是对正常/理想CI流的基本理解,并了解其中的集成测试范围。

根据我的理解,基本的CI CD流程是

UnitTesting --> IntegrationTesting --> Build Artifact --> Deploy to Dev/Sandbox or any other subsequent environments.

因此,单元测试和集成测试共同决定/确保构建是否稳定并且可以部署。

但是,最近,我们在我的团队中进行了讨论,我们希望在Dev / Sandbox等上部署的实例上运行集成测试,以便验证应用程序在部署后是否正常工作。

构建 - 部署 - 测试工作流上的microsoft's article表明这可能是一种可能的方式。

所以,我的问题是: -

  1. 集成测试是否应该测试不同环境的配置?
  2. 是否应该在打包应用程序或部署应用程序之前运行集成测试?
  3. 如果有的话,需要进行一些自动化测试来测试在所有环境中运行的已部署应用程序? 如果不是集成测试那么可能是替代解决方案

1 个答案:

答案 0 :(得分:2)

您正在将集成测试与System testing混合。

集成测试检查某些组件可以一起工作(可以集成)。您可能需要进行集成测试以验证数据层API如何与数据库一起运行;或者Web API如何响应HTTP调用。您可能没有让整个系统完全正常工作,以便对其组件进行集成测试。

与集成测试不同,系统测试需要实现和配置所有组件。这是端到端测试(例如,从Web请求到数据库记录)。这种测试需要部署整个系统,这使得它们更“真实”但价格昂贵。