Výchozí testy
Testování je ve normalizovaném receptu ve výchozím stavu zapnuté se čtyřmi
předdefinovanými názvy testů: boot, login, packages a network. Jde o
malé kontroly v guestu, ne o kompletní akceptační sadu. Recept může testování
vypnout nebo seznam nahradit a některé typy artefaktů používají užší kontrakt.
Co výchozí testy skutečně dokazují
| Test | Provedená kontrola | Nedokazuje |
|---|---|---|
boot | uptime skončí úspěšně přes QEMU guest agent | Každou cestu bootloaderu, boot na hardwaru ani absenci varování jádra |
login | whoami lze spustit přes root kanál guest agenta | Interaktivní heslo, SSH klíč, PAM, desktop greeter ani přihlášení koncového uživatele |
packages | Jedna z dpkg --list, rpm -qa nebo pacman -Q uspěje | Že je nainstalován každý balíček požadovaný v promptu |
network | DNS vyřeší example.com a TCP spojení na port 443 po omezených opakováních uspěje | Obecnou konektivitu internetu, HTTP obsah, každé rozhraní ani design bez přístupu k síti |
Cesta Ubuntu 24.04 CIS odstraní obecnou síťovou kontrolu a místo ní použije assertion feature vázanou na readiness. U receptu bez očekávané internetové trasy lze neúspěšnou obecnou síťovou kontrolu převést na varování.
Kontroly feature a capabilities
Runner také sloučí kontroly z metadat zapnutých feature, legacy hook test files, frozen capability plan, explicitních custom tests a případných benchmark tests. Duplicitní assertions se odstraní. Assertions s chybějícími známými parametry se vynechají se serverovým varováním; projděte výsledný test plan, aby vynechaná kontrola nebyla považována za úspěch.
Příklady: kontrola nastaveného SSH portu, stavu služby, požadovaného balíčku nebo artefaktu specifického pro recept. Pokrytí závisí na zapnuté feature: samotné zahrnutí feature nezaručuje kompletní sadu assertions pro tuto feature.
Čtení výsledku
Vycházejte z řádků assertion a evidence, ne jen ze souhrnného badge:
passedznamená, že spustitelná kontrola vrátila očekávaný výsledek.failedznamená, že kontrola proběhla a nesouhlasila s očekáváním.errorznamená, že harness nemohl vydat verdict.skippedznamená, že kontrola neproběhla, například protože cílová VM chyběla.
Chyby a přeskočení nejsou úspěchy. Dokončený image a úspěšný test run jsou oddělené stavy; certifikace je třetí brána.
Definujte silnější akceptační kritéria
Pro skutečnou workload přidejte assertions relevantní k promptu. Například:
{
"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 }
}
]
}Poté zkontrolujte sestavený image v konzoli a u tvrzení vázaných na hardware testujte na reprezentativním hardwaru. Viz Vlastní assertions a Typy assertions.