FA Finn Andre Hotvedt Tekniske feltnotater

Nettsiden virket – men var fortsatt feil

App Studio besto funksjonstestene, men produksjonsnettleseren avdekket en 620 piksler bred desktopflate. Det endret måten jeg definerer ferdig på.

App Studio virket. Alle kontrollene svarte, innholdet var riktig og siden returnerte HTTP 200. Likevel var den feil. På en bred desktopskjerm lå hele arbeidsflaten klemt inne i en kolonne på omtrent 620 piksler.

Feilen ble først tydelig da jeg åpnet den ferdige produksjonssiden i en ekte nettleser og målte layouten. Den erfaringen er en god påminnelse om at «det virker» alltid trenger et subjekt og en testflate.

FunksjonBestått før layoutfeilen ble funnet
FeilYtre innholdsbeholder stoppet ved ca. 620 px
Mobil390 × 844
Nettbrett768 × 1024
Desktop1440 × 1000
SluttkontrollEkte Chromium mot offentlig URL

Problemet lå i møtet mellom komponent og tema

App Studio var bygget som en bred arbeidsflate: kontroller på den ene siden og telefonforhåndsvisning på den andre. Isolert brukte komponenten plassen den fikk. I WordPress-produksjonen arvet den en breddebegrensning fra temaets ytre innholdsstruktur.

Det var altså ikke en knapp som manglet eller JavaScript som krasjet. Den nye komponenten og den eksisterende siden var begge forståelige hver for seg. Feilen oppsto når WordPress-mal, stilark og ferdig nettleserlayout ble satt sammen.

HTTP 200 er bare begynnelsen

Jeg hadde sett samme familie av feil tidligere. WordPress satte en gang inn et tomt avsnitt i en innholdsgrid. Det usynlige elementet tok den brede kolonnen, mens artikkelteksten ble presset ned til omtrent 220 piksler. Serveren svarte, teksten var der og lenkene virket. Opplevelsen var likevel ødelagt.

Disse feilene viser hvorfor kildekontroll og funksjonstester ikke er nok alene. En nettleser må også få vise hva alle lagene faktisk produserer sammen.

Min minste produksjonsmatrise

  1. Innhold: riktig H1, forventede lenker, ingen test- eller kundedata i offentlig kilde.
  2. Funksjon: knapper, navigasjon og tilstander gir riktig resultat etter cache og ny sidelasting.
  3. Layout: faktisk bredde, overflyt og lesbarhet måles på mobil, nettbrett og desktop.
  4. Nettleserfeil: konsollfeil og mislykkede forespørsler registreres for den avgrensede reisen.
  5. Gjenoppretting: førtilstanden og en eksakt rollback finnes før offentlig endring.
Hva matrisen ikke beviser: Tre eller fire skjermstørrelser representerer ikke alle telefoner, nettlesere, hjelpeverktøy og nettverksforhold. De gjør kjente risikoer og regresjoner synlige, men erstatter ikke målrettet tilgjengelighets-, ytelses- eller enhetstesting.

Hvorfor sluttkontrollen må skje i produksjon

Staging er nyttig, men deler ikke alltid nøyaktig samme mal, cache, pluginrekkefølge og URL-adferd som produksjon. Derfor bruker jeg staging til å redusere risiko og produksjonsnettleseren til å kontrollere den faktiske sluttflaten.

Etter bredderettelsen ble App Studio kjørt på nytt ved 390, 768 og 1440 piksler, i tillegg til en kontroll av inngangen fra forsiden. Først da kunne jeg si noe mer presist: Den avgrensede reisen besto på de navngitte visningene uten horisontal overflyt eller nettleserfeil.

«Ferdig» er en kjede, ikke en grønn lampe

Det viktigste er ikke at en enkelt test blir grønn. Kilde, innhold, funksjon, layout, offentlig rute og tilbakeføring må henge sammen. Når de gjør det, blir det også mulig å forklare nøyaktig hva som er kontrollert – og hva som fortsatt er ukjent.

Skrevet avFinn Andre Hotvedt

Jeg bygger og videreutvikler systemer, nettsider, integrasjoner og tekniske produkter – fra den første skissen til løsningen er i drift.

Diskuter en lignende utfordring