Skip to Content
Testing預設測試

預設測試

預設情況下,在標準化配方中啟用測試,有四個預先定義的 測試名稱:bootloginpackagesnetwork。這些都是小客人 檢查,而不是完整的驗收套件。配方可以停用測試或 替換列表,並且某些工件類型使用更窄的契約。

預設值實際上證明了什麼

測試已執行檢查不證明
bootuptime 透過 QEMU 來賓代理成功退出每個引導程式路徑、硬體引導或缺少核心警告
loginwhoami 可以透過 root guest-agent 通道運行互動式密碼、SSH 密鑰、PAM、桌面歡迎程式或最終用戶登入
packagesdpkg --listrpm -qapacman -Q 之一成功提示所請求的每個包均已安裝
networkDNS 解析 example.com 並在有限重試後與端口 443 的 TCP 連接成功一般互聯網健康狀況、HTTP 內容、每個接口或氣隙設計

Ubuntu 24.04 CIS 路徑刪除了通用網路檢查並使用其 相反,準備就緒門控功能斷言。沒有預期的食譜 網際網路路由可以將失敗的通用網路檢查轉換為警告。

特性和能力檢查

運行程序還合併由啟用的功能元資料、舊版提供的檢查 掛鉤測試文件、凍結的能力計劃、明確自訂測試以及任何 基準測試。重複的斷言被刪除。已知的斷言 遺失的參數將被丟棄,並發出伺服器警告;審查結果 制定測試計劃,這樣掉落的支票就不會被誤認為通過。

例如檢查配置的 SSH 連接埠、服務狀態、請求的 包,或特定於配方的工件。覆蓋範圍取決於啟用的 功能:包含某個功能本身並不保證該功能具有 一個完整的斷言集。

讀取結果

使用斷言行和證據,而不僅僅是聚合徽章:

  • passed 表示可執行檢查回傳了預期結果。
  • failed 表示檢查已運行且與預期相矛盾。
  • error 表示安全帶無法做出判斷。
  • skipped 表示檢查未運行,例如因為其目標 VM 是 缺席。

錯誤和跳過不是通過。完成的圖像和通過的測試運行是 獨立的州;認證是第三道門。

定義更嚴格的驗收標準

對於真實的工作負載,請新增與提示相關的斷言。例如:

{ "description": "Nginx serves the local health endpoint", "assertions": [ { "type": "service_running", "description": "Nginx is active", "params": { "service": "nginx" } }, { "type": "http_responds", "description": "Health endpoint returns 200", "params": { "url": "http://localhost/health", "status": 200 } } ] }

然後在控制台中檢查構建的圖像,對於硬體綁定的聲明, 在代表性硬體上進行測試。參見 Custom assertionsAssertion types