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_由許多組件組成(由不同的團隊開發)。你可以單獨測試你的組件,但不能保證_你的組件不會被其他組件之一破壞。 –