2

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

按我的理解,基本CI CD流

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

所以单元家具测试和集成测试集体决定/确保如果构建稳定,并准备进行部署。

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

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

所以,我的问题是: -

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

回答

2

你混合集成测试与System testing

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

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

+0

感谢您的回应:) – Harshil

+0

在您的观点是如何有效地做系统测试。它甚至需要吗?作为这些连接,可以在应用程序启动时检查Web请求。是否真的需要单独的系统测试? – Harshil

+0

是的,是的。例如,整个系统_might_由许多组件组成(由不同的团队开发)。你可以单独测试你的组件,但不能保证_你的组件不会被其他组件之一破坏。 –