Standardtest
Testning er aktiveret som standard i en normaliseret opskrift, med fire
foruddefinerede testnavne: boot, login, packages og network. Det er
små gæstekontroller, ikke en fuld accepttestsuite. En opskrift kan slå test
fra eller erstatte listen, og nogle artefakttyper bruger en smallere kontrakt.
Hvad standardtestene faktisk viser
| Test | Udført kontrol | Viser ikke |
|---|---|---|
boot | uptime afsluttes med succes via QEMU guest agent | Hver bootloader-sti, hardware-boot eller fravær af kerneladvarsler |
login | whoami kan køre via root guest-agent-kanalen | Interaktivt kodeord, SSH-nøgle, PAM, desktop-greeter eller slutbrugerlogin |
packages | Et af dpkg --list, rpm -qa eller pacman -Q lykkes | At hver pakke anmodet i prompten er installeret |
network | DNS opløser example.com, og en TCP-forbindelse til port 443 lykkes efter begrænsede retries | Generel internetsundhed, HTTP-indhold, hvert interface eller et air-gapped design |
Ubuntu 24.04 CIS-stien fjerner den generiske netværkskontrol og bruger i stedet sin readiness-gated feature assertion. En opskrift uden forventet internetrute kan få en mislykket generisk netværkskontrol konverteret til en advarsel.
Feature- og capability-kontroller
Runneren fletter også kontroller fra aktiveret feature-metadata, legacy hook test files, frozen capability plan, eksplicitte custom tests og benchmark tests. Dubletter af assertions fjernes. Assertions med kendte manglende parametre droppes med en serveradvarsel; gennemgå den resulterende testplan, så en droppet kontrol ikke forveksles med en pass.
Eksempler er konfigureret SSH-port, servicestatus, anmodet pakke eller opskriftsspecifikt artefakt. Dækning afhænger af aktiveret feature: at inkludere en feature garanterer ikke i sig selv et fuldt assertion-sæt for den feature.
Læse resultatet
Brug assertion-rækkerne og evidence, ikke kun aggregate badge:
passedbetyder, at den kørbare kontrol returnerede det forventede resultat.failedbetyder, at kontrollen kørte og modsagde forventningen.errorbetyder, at harness ikke kunne producere et verdict.skippedbetyder, at kontrollen ikke kørte, for eksempel fordi mål-VM manglede.
Errors og skips er ikke passes. Et færdigt image og en passed test run er adskilte tilstande; certificering er en tredje port.
Definér stærkere acceptkriterier
Til en reel workload tilføjer du prompt-relevante assertions. For eksempel:
{
"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 }
}
]
}Inspectér derefter det byggede image i konsollen, og test hardware-bound claims på repræsentativt hardware. Se Egne assertions og Assertionstyper.