持續整合自動化類型

以下是您可能想要在 CI 系統中使用的一些常見自動化形式。

基本工作

  • 建構:從頭建構專案,即表示您確保新變更能夠正確編譯,且所有程式庫和工具彼此相容。

  • Lint 或樣式檢查:這是選用步驟,但建議您執行。強制執行樣式規則並執行靜態分析時,程式碼審查就能更簡明扼要。

  • 本機或主機端測試會在執行版本的本機電腦上執行。在 Android 上通常是 JVM,因此速度飛快且穩定。以及 Robolectric 測試。

檢測設備測試

在模擬器或實體裝置上執行的測試需要進行一些佈建作業,等待裝置啟動或連線,以及其他會增加複雜度的作業。

您可以透過多種方式在 CI 中執行檢測設備測試:

  • Gradle 管理的裝置可用來定義要使用的裝置 (例如「API 27 中的 Pixel 2 模擬器」),並會處理裝置佈建作業。
  • 大部分的持續整合系統都隨附第三方外掛程式 (也稱為「動作」、「整合」或「步驟」),可處理 Android 模擬器。
  • 將檢測設備測試委派給 Firebase Test Lab 等裝置設備。裝置設備採用高可靠性,可在模擬器或實體裝置上執行。

效能迴歸測試

如要監控應用程式效能,建議您使用基準程式庫。如要在開發期間自動化效能測試,實體裝置才能確保測試結果一致且實際可行。

執行基準測試可能需要較長時間,尤其是在進行基準測試的程式碼和使用者歷程時,更是如此。與其為每個合併的功能或修訂版本執行所有基準測試,請考慮將其做為定期維護版本 (例如夜間建構) 的一部分執行。

監控效能

您可以使用步數符合功能監控效能迴歸。步驟調整定義了先前建構結果的滾動式視窗,供您與目前版本進行比較。這種做法可將多個基準結果合併成一個迴歸專屬指標。您可以在迴歸測試期間套用步適調整功能來減少雜訊。

這樣可減少單一建構作業的基準時間緩慢情形發生,並再次正規化時,可能會出現偽陽性的情形。

測試涵蓋範圍迴歸檢查

「測試涵蓋範圍」指標可協助您和團隊判斷測試能否涵蓋變更。但不應是唯一的指標。常見的做法是設定迴歸檢查失敗,或在範圍低於基本分支版本時顯示警告。