Xcode 27.2 UI 測試崩潰 CI 門禁的建議做法,是先按 PR、夜間回歸與發布流程的風險決定嚴重級別,再以代表性測試驗證 Test Plan 設定會如何反映到 CI 結果;不宜一律阻斷,也不宜全數放行。凡會影響發布簽核的門禁,應以團隊實際 CI 執行結果為依據,而不是只看設定畫面推斷。
CI 平台工程師:需要將 Xcode 27.2 的 UI 測試結果對應到流水線狀態。
QA 負責人:需要區分可記錄觀察的測試問題,與必須影響發布准入的崩潰。
技術負責人:需要制定不同階段的門禁規則,並確認驗收證據可供團隊複核。
最後更新於 2026 年 11 月 2 日;已對照 Apple Xcode 27 發布說明、Xcode 27.2 發布說明及 Xcode 系統需求核查版本與功能背景。實際可用選項及行為仍須以團隊所安裝版本的文件和測試結果為準。
CI 平台工程師:先把嚴重級別與流水線狀態分開
Apple 的 Xcode 27 發布說明記載,可為 UI 測試中的應用程式崩潰設定嚴重級別;這項設定描述測試結果如何分類,不等於 Apple 規定了團隊必須阻斷 PR 或發布。嚴重級別的選項名稱、配置位置及適用版本,應對照官方發布說明、Xcode 27.2 發布說明與目前 Test Plan 編輯介面核實。
Xcode 27.2 的 UI 測試應用程式崩潰等級在哪裡設定?
應在專案使用的 Xcode Test Plan 中檢查與應用程式崩潰嚴重級別相關的設定,並依照 Apple 的 Test Plan 編輯說明確認目前版本的配置位置。不要只以另一個 Xcode 版本的截圖或同事口述作為依據;應將所選項目、Test Plan 名稱與 Xcode 版本一併記錄。
接著明確區分兩層規則:
- 測試層:Test Plan 對崩潰套用的嚴重級別,以及測試執行後記錄的結果。
- CI 層:流水線收到測試結果後,如何決定告警、標記失敗或阻止後續工作。
- 發布層:哪些結果會影響合併、簽核或發布准入,由團隊政策及責任人決定。
這種拆分能避免把 Xcode 提供的選項直接當成企業發布政策。Xcode 的測試報告和流水線狀態是需要核對的兩種證據;應參照 Apple 對測試執行與結果解讀的說明確認報告內容,再用代表性工作驗證 CI 的實際判定。
QA 負責人:先判定崩潰是否符合測試預期
XCTest UI 測試崩潰應讓 CI 失敗嗎?
只有在測試目的、故障影響及後續處置都已定義時,才適合將崩潰直接設為阻斷條件。若案例預期觀察崩潰處理流程,或測試本身的執行狀況尚待確認,應先保留報告、交由責任人分類,而不是將所有崩潰都視為相同的產品缺陷。
QA 盤點案例時,至少要把以下情況分開,並由專案維護者確認各自的預期結果:
- 預期中的應用程式崩潰:測試的目的可能是驗證錯誤處理或崩潰後行為。應記錄測試案例的預期結果,確認失敗或警告如何呈現符合計畫。
- 非預期崩潰:可能影響功能或發布風險;是否阻斷,應看受影響流程及發布政策,而非只看某個錯誤訊息。
- 測試流程自身異常:例如 UI 操作或中斷處理未按預期完成。需檢視測試紀錄及環境資料,不應未經驗證就歸因於應用程式崩潰。
Apple 的 XCUIAutomation 文件介紹 UI 自動化相關介面;UI 中斷處理文件則可作為檢查測試遭遇介面中斷時的參考。文件可協助界定調查方向,但不能取代對本專案測試記錄、預期結果與重現條件的確認。
若案例的預期結果、責任人或報告保存方式仍未釐清,先將它列為待分類問題;不要只為了讓流水線變綠而降低嚴重級別。
技術負責人:依發布風險制定三種門禁策略
PR 流水線和發布流水線可以使用不同的崩潰門禁嗎?
可以採用不同策略,但必須在團隊規則中寫明差異、責任人及升級條件。PR 可著重提供快速回饋;回歸工作用來追蹤問題是否持續;發布門禁則應明確規定哪些結果必須阻止准入、哪些需要人工複核。
技術負責人可先為每個階段界定這些條件:
- PR:結果是否要即時通知作者?哪些已確認的高風險案例會影響合併?尚未分類的崩潰由誰接手?
- 夜間回歸:是否需要保留較完整的報告供 QA 分類?重複出現的問題如何升級,而不是在每日結果中被忽略?
- 發布:哪些結果必須阻斷簽核?哪些可交由指定人員檢視證據後作出處置?例外由誰批准?
當測試依預期觸發崩潰時,可按案例的驗收目的評估是否採取較寬鬆的處理;非預期且可能影響發布的崩潰,則應評估是否讓合併或發布等待調查。若測試分類、影響範圍或處置人尚不清楚,先要求人工複核並保留證據,比在缺少依據時直接放行更容易追溯。
Mac CI 工程師:用隔離任務驗證設定的實際效果
如何確認 Test Plan 的崩潰嚴重級別會影響 CI 結果?
在非生產工作或隔離流水線中執行已確認預期結果的代表性 UI 測試,同時保存 Xcode 版本、測試計畫、執行環境、測試報告與 CI 最終狀態。比較測試報告和流水線判定,不能只以 Test Plan 畫面顯示的選項作為驗收結論。
可依以下步驟執行,任何一步若無法取得證據,都不應直接推廣門禁政策:
- 選定案例:挑選由專案維護者確認預期結果、可在隔離環境執行的代表性測試;說明它要驗證哪一種崩潰處理。
- 記錄版本與設定:保存 Xcode 版本、Test Plan 名稱及崩潰嚴重級別設定。若環境或工具版本不同,分開記錄,不混用結果。
- 執行並保留報告:透過團隊 CI 執行測試,保存原始測試報告與工作識別資料。命令列選項應依 Apple 的 Xcode 命令列工具參考確認,不要套用未核對的範例參數。
- 比對兩層結果:先確認測試報告呈現的狀態,再檢查 CI 是否依團隊規則告警、失敗或停止後續工作。
- 記錄差異與批准:若報告與流水線狀態不一致,保留證據並交由 CI 負責人調查;在原因、處置人及政策調整獲批准前,不將該設定推廣到其他工作流。
命令列可用工作流程名稱、Test Plan 與目的地等已核實欄位組織執行紀錄;下方僅為欄位示意,並非本站實測指令,也不代表任何特定環境的輸出:
Xcode 版本:<記錄實際版本>
Test Plan:<記錄實際計畫名稱>
執行環境:<記錄實際目的地與執行環境>
測試報告:<保存報告位置>
CI 判定:<告警/失敗/阻斷,按實際結果記錄>
Mac CI 驗收還需確認執行環境符合團隊採用的 Xcode 版本及系統需求;相關背景以 Apple Xcode 系統需求頁面為準。不要把不同執行環境的結果合併成單一結論,也不要將一次成功執行解讀為未來所有工作流都會有相同行為。
發布負責人:讓門禁結果可追責、可複核
門禁策略應說明哪些狀態會自動阻斷,哪些需要人工檢查;遇到資料不足、報告缺失或結果不一致時,也要定義暫停發布、補充證據及升級問題的方式。人工覆核不能只是口頭放行,至少應留存審查人、判斷依據與後續處置。
如果團隊的遠端執行環境會處理敏感的程式碼或測試資料,還應把帳號權限、資料保存和存取範圍納入部署檢查。ViewMini 的隱私權說明可供檢視相關資訊;企業仍需依自身資安及採購流程完成評估,不應把任何單一頁面視為合規審核的替代品。
以三張決策表完成驗收與推廣判斷
第一張表用於選擇處理策略。嚴重級別以目前 Xcode 版本的實際選項為準;流水線行為則是團隊政策,並非 Apple 的通用規定。
| 工作階段 | 崩潰影響與證據狀態 | CI 處理方向 | 推進條件 |
|---|---|---|---|
| PR | 測試預期已確認,影響範圍有限 | 可採告警或非阻斷觀察,但須保留結果 | 責任人與升級方式已明確 |
| PR | 非預期崩潰,可能影響變更品質 | 依團隊政策讓檢查失敗或暫停合併 | 已有可檢視的報告與調查負責人 |
| 夜間回歸 | 需要持續追蹤,成因尚待分類 | 保存報告並通知負責人,避免靜默放行 | 分類完成後更新案例預期或處置規則 |
| 發布 | 可能影響簽核或使用者流程 | 按發布政策阻斷,或交由具名人員覆核 | 證據、批准者與處置結果均可追溯 |
第二張表用來檢查配置是否已轉化為可執行的團隊規則:
| 決策欄位 | 應記錄的內容 | 未完成時的處理 |
|---|---|---|
| 測試階段 | PR、回歸或發布 | 不以同一規則直接套用所有階段 |
| 崩潰影響 | 預期、非預期或仍待分類 | 未分類時保留報告並交由負責人判斷 |
| 測試負責人 | 案例維護者或 QA 負責人 | 暫不把個案升級為全域門禁 |
| CI 處置 | 告警、失敗、阻斷或人工複核 | 在政策文件中寫清楚觸發條件 |
| 發布批准 | 誰可批准例外及如何留存紀錄 | 沒有授權時不得以口頭決定代替簽核 |
第三張表可作為推廣前的驗收紀錄。只有代表性工作能呈現預期狀態、證據可供複核且責任邊界清楚時,才考慮擴展至更多流水線。
| 驗收項目 | 通過條件 | 不通過時的下一步 |
|---|---|---|
| 版本與 Test Plan | 能查到實際版本、計畫名稱及使用的嚴重級別 | 先核對安裝版本與文件,再重新測試 |
| 報告與 CI 狀態 | 測試報告和流水線判定都已保存並可對照 | 暫停推廣,查明狀態映射差異 |
| 責任與發布流程 | 測試維護者、CI 負責人及發布批准者的職責清楚 | 補齊責任分工及例外處理規則 |
| 變更審核 | 門禁變更有批准紀錄,並說明適用工作流 | 限制在隔離工作中繼續驗證 |
對不少團隊而言,自購 Mac 作為 CI 主機的優點是硬體由內部掌握;但若需求受專案週期影響,仍要承擔設備採購與閒置、維護安排,以及需求增加時調整容量的管理負擔。若團隊需要的是短期復現環境或可調整的 Mac CI 執行資源,可把租用 ViewMini 的遠端 Mac 納入比較,並先按實際工作負載與安全要求完成驗收;相關服務資訊可從 ViewMini 的 Mac 方案頁面了解。若團隊長期維持穩定的高負載、必須使用特定實體介面,或有內部設備與資料控制要求,自購主機可能更合適;無論採用哪種方案,Xcode Test Plan 的選項都不能取代團隊對 CI 門禁及發布風險的實際驗證。
為 UI 測試門禁準備專屬 Mac 環境
透過 ViewMini 租用獨享實體 Mac,依團隊需求配置 CI Runner 與測試工具鏈。
