Zadani testovi
Testiranje je u normaliziranom receptu zadano uključeno s četiri
unaprijed definirana imena testova: boot, login, packages i network. To su
male provjere u gostu, a ne cjelovit prihvatni skup. Recept može isključiti
testiranje ili zamijeniti popis, a neki tipovi artefakata koriste uži
ugovor.
Što zadani testovi stvarno dokazuju
| Test | Izvršena provjera | Ne dokazuje |
|---|---|---|
boot | uptime uspješno završava putem QEMU guest agenta | Svake putanje bootloadera, hardverskog boota ili odsutnosti upozorenja kernela |
login | whoami se može pokrenuti putem root kanala guest agenta | Interaktivne lozinke, SSH ključa, PAM-a, desktop greetera ili prijave krajnjeg korisnika |
packages | Jedna od dpkg --list, rpm -qa ili pacman -Q uspijeva | Da je instaliran svaki paket tražen u promptu |
network | DNS razriješi example.com i TCP veza na port 443 nakon ograničenih ponovnih pokušaja uspijeva | Općeg stanja interneta, HTTP sadržaja, svakog sučelja ili dizajna bez mreže |
Put Ubuntu 24.04 CIS uklanja generičku mrežnu provjeru i umjesto nje koristi assertion feature vezan uz readiness. Kod recepta bez očekivane internetske rute neuspješna generička mrežna provjera može se pretvoriti u upozorenje.
Provjere feature i capabilities
Runner također spaja provjere iz metapodataka uključenih feature, legacy hook test files, frozen capability plan, eksplicitnih custom tests i eventualnih benchmark tests. Duplicirane assertions se uklanjaju. Assertions s poznatim nedostajućim parametrima se odbacuju sa serverskim upozorenjem; pregledajte nastali test plan da odbačena provjera nije smatrana uspjehom.
Primjeri uključuju provjeru konfiguriranog SSH porta, stanja usluge, traženog paketa ili artefakta specifičnog za recept. Pokrivenost ovisi o uključenoj feature: sam uključak feature ne jamči potpun skup assertions za tu feature.
Čitanje rezultata
Koristite retke assertion i evidence, ne samo skupni badge:
passedznači da je izvršiva provjera vratila očekivani rezultat.failedznači da je provjera odrađena i proturječila očekivanju.errorznači da harness nije mogao izdati verdict.skippedznači da provjera nije odrađena, na primjer jer ciljni VM nije bio prisutan.
Greške i preskoci nisu uspjesi. Dovršen image i uspješan test run su odvojena stanja; certifikacija je treća vrata.
Definirajte jače kriterije prihvaćanja
Za stvarno opterećenje dodajte assertions relevantne promptu. Na primjer:
{
"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 }
}
]
}Zatim pregledajte izgrađeni image u konzoli i za tvrdnje vezane uz hardver testirajte na reprezentativnom hardveru. Pogledajte Prilagođene assertions i Vrste assertions.