Skip to Content
TestingOletustestit

Oletustestit

Testaus on oletuksena käytössä normalisoidussa reseptissä, ja siinä on neljä ennalta määriteltyä testin nimeä: boot, login, packages ja network. Nämä ovat pieniä vieraskoneen tarkistuksia, eivät täydellistä hyväksyntäkokonaisuutta. Resepti voi poistaa testauksen käytöstä tai korvata listan, ja jotkin artefaktityypit noudattavat kapeampaa sopimusta.

Mitä oletukset todella osoittavat

TestiSuoritettu tarkistusEi osoita
bootuptime päättyy onnistuneesti QEMU guest agentin kauttaJokaista käynnistysohjelmapolkua, laitteistokäynnistystä tai ytimen varoitusten puuttumista
loginwhoami voi ajaa root guest-agent -kanavan kauttaInteraktiivista salasanaa, SSH-avainta, PAMia, työpöytägreeteriä tai loppukäyttäjän kirjautumista
packagesYksi komennoista dpkg --list, rpm -qa tai pacman -Q onnistuuEttä jokainen promptissa pyydetty paketti on asennettu
networkDNS ratkaisee example.com ja TCP-yhteys porttiin 443 onnistuu rajattujen uudelleenyritysten jälkeenYleistä internetyhteyden kuntoa, HTTP-sisältöä, jokaista liittymää tai air-gapped-suunnittelua

Ubuntu 24.04 CIS -polku poistaa yleisen verkkotarkistuksen ja käyttää sen sijaan readiness-gated feature assertion -väitettä. Reseptillä ilman odotettua internet-reittiä epäonnistunut yleinen verkkotarkistus voidaan muuttaa varoitukseksi.

Feature- ja capability-tarkistukset

Runner yhdistää myös käytössä olevien feature-metatietojen, legacy hook test files -tiedostojen, frozen capability planin, eksplisiittisten custom tests -testien ja benchmark tests -testien tuomat tarkistukset. Päällekkäiset assertions poistetaan. Assertions, joilta puuttuu tunnettuja parametreja, pudotetaan palvelinvaroituksella; tarkista syntynyt testisuunnitelma, jotta pudotettua tarkistusta ei luule onnistuneeksi.

Esimerkkejä ovat määritetty SSH-portti, palvelun tila, pyydetty paketti tai reseptikohtainen artefakti. Kattavuus riippuu käytössä olevasta featuresta: featuren sisällyttäminen ei itsessään takaa täydellistä assertion-joukkoa kyseiselle featurelle.

Tuloksen lukeminen

Käytä assertion-rivejä ja evidencea, älä vain aggregate badgea:

  • passed tarkoittaa, että suoritettava tarkistus palautti odotetun tuloksen.
  • failed tarkoittaa, että tarkistus ajettiin ja oli ristiriidassa odotuksen kanssa.
  • error tarkoittaa, että harness ei voinut tuottaa verdictiä.
  • skipped tarkoittaa, että tarkistusta ei ajettu, esimerkiksi koska kohde-VM puuttui.

Virheet ja skipit eivät ole passeja. Valmis image ja passed test run ovat erillisiä tiloja; sertifiointi on kolmas portti.

Vahvempien hyväksymiskriteerien määrittely

Todelliseen workloadiin lisää promptiin liittyviä assertions-väittämiä. Esimerkiksi:

{ "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 } } ] }

Tarkista sitten rakennettu image konsolissa ja testaa hardware-bound claims edustavalla laitteistolla. Katso Omat väittämät ja Väitetyypit.