【问题标题】:Scope of Integration Testing in a CI CD workflowCI CD 工作流程中的集成测试范围
【发布时间】:2017-05-31 10:25:30
【问题描述】:

问题更多是关于对正常/理想 CI 流程的基本理解以及对其中集成测试范围的理解。

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

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

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

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

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

所以,我的问题是:-

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

【问题讨论】:

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


    【解决方案1】:

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

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

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

    【讨论】:

    • 在您看来进行系统测试有多有效。它甚至是必需的吗?由于这些连接,可以在应用程序启动时检查 Web 请求。是否真的需要单独的系统测试??
    • 是的,确实如此。例如,整个系统可能由许多组件(由不同团队开发)组成。您可以单独测试您的组件,但这并不能保证 您的 组件不会被 其他 组件之一破坏。
    猜你喜欢
    • 2020-01-15
    • 2021-01-15
    • 2021-11-14
    • 2020-09-22
    • 1970-01-01
    • 2021-08-14
    • 2021-03-17
    • 1970-01-01
    • 2018-10-30
    相关资源
    最近更新 更多