CI CD 工作流程中的集成测试范围
Scope of Integration Testing in a CI CD workflow
问题更多是关于对 normal/ideal CI 流程的基本理解以及对其中集成测试范围的理解。
据我了解,基本的CICD流程是
UnitTesting --> IntegrationTesting --> Build Artifact --> Deploy to Dev/Sandbox or any other subsequent environments.
因此单元测试和集成测试统称为decide/make确定构建是否稳定并准备好部署。
但是,最近,我们在我的团队中进行了这样的讨论,我们希望 运行 对 Dev/Sandbox 等上的已部署实例进行集成测试,以验证应用程序在部署后是否正常工作.
并且 microsoft's article 关于构建 - 部署 - 测试工作流表明这可能是一种可行的方法。
所以,我的问题是:-
- 集成测试应该测试不同环境的配置吗?
- 集成测试是否应该 运行 在打包应用程序或部署应用程序之前?
- 如果有的话,是否需要一些自动化测试来测试已部署的应用程序在所有环境中的功能?
如果不是集成测试那么替代解决方案是什么
您正在混合 集成 测试与 System testing。
集成测试检查某些 组件是否可以协同工作(可以集成)。您可能有集成测试来验证数据层 API 如何与数据库一起运行;或者 Web API 如何响应 HTTP 调用。为了对其组件进行集成测试,您可能没有让整个系统完全工作。
与集成测试不同,系统测试需要实施和配置所有组件。那就是端到端测试(例如,从 Web 请求到数据库记录)。这种测试需要部署整个系统,这使得它们 'real' 但昂贵。
问题更多是关于对 normal/ideal CI 流程的基本理解以及对其中集成测试范围的理解。
据我了解,基本的CICD流程是
UnitTesting --> IntegrationTesting --> Build Artifact --> Deploy to Dev/Sandbox or any other subsequent environments.
因此单元测试和集成测试统称为decide/make确定构建是否稳定并准备好部署。
但是,最近,我们在我的团队中进行了这样的讨论,我们希望 运行 对 Dev/Sandbox 等上的已部署实例进行集成测试,以验证应用程序在部署后是否正常工作.
并且 microsoft's article 关于构建 - 部署 - 测试工作流表明这可能是一种可行的方法。
所以,我的问题是:-
- 集成测试应该测试不同环境的配置吗?
- 集成测试是否应该 运行 在打包应用程序或部署应用程序之前?
- 如果有的话,是否需要一些自动化测试来测试已部署的应用程序在所有环境中的功能? 如果不是集成测试那么替代解决方案是什么
您正在混合 集成 测试与 System testing。
集成测试检查某些 组件是否可以协同工作(可以集成)。您可能有集成测试来验证数据层 API 如何与数据库一起运行;或者 Web API 如何响应 HTTP 调用。为了对其组件进行集成测试,您可能没有让整个系统完全工作。
与集成测试不同,系统测试需要实施和配置所有组件。那就是端到端测试(例如,从 Web 请求到数据库记录)。这种测试需要部署整个系统,这使得它们 'real' 但昂贵。