Noen som fortsatt mener testing ikke er viktig?

Historien er full av store og små katastrofer som kunne vært unngått om programvaren hadde vært bedre testet, skriver Kurt Lekanger i ukens nyhetsbrev.

Kurt Lekanger, journalist i kode24. 📸: Ole Petter Baugerød Stokke
Kurt Lekanger, journalist i kode24. 📸: Ole Petter Baugerød Stokke Vis mer

Forrige uke førte en mislykket oppdatering av sikkerhetsløsningen Crowdstrike til datamaskin-krasj, blåskjermer og nedetid over hele verden. Ifølge Crowdstrike selv hadde de tester på plass for å forhindre at noe slikt skulle skje, men det viste seg at en bug i testene gjorde at ting ble rullet ut i produksjon likevel.

Dette viser at selv med testrutiner på plass, så kan ting gå galt. Men det hadde antagelig gått galt mye oftere uten tester.

«Det hadde antagelig gått galt mye oftere uten tester.»

Jeg hører ofte utviklere innrømme at de burde ha skrevet flere tester, men likevel ikke gjør det. Årsakene kan være mange, men én ting slår meg: Kan det være at mange rett og slett ikke har tid til å skrive tester?

Kanskje fordi de har press på seg fra ledelsen om å få rullet ut ny funksjonalitet i stedet?

Historien er full av eksempler på hvordan feil i programvare har hatt katastrofale konsekvenser. Utvikleren Milan Milanović skriver i ett av sine nyhetsbrev hvordan blant annet en integer overflow-feil fikk ESAs Ariane 5-rakett til å skifte retning og gå opp i flammer i 1996. Noen år senere, i 2018 og 2019, styrtet to Boeing 737 Max-fly, der totalt 346 menneskeliv gikk tapt. Ulykkene kunne vært unngått med bedre testing av programvaren.

Er det noen som fortsatt mener det ikke er viktig med testing?

Det er heldigvis sjelden manglende testing av programvare får store konsekvenser som de eksemplene jeg har nevnt her. Men likevel er det ingen tvil om at mange små og store feil kunne vært unngått med litt flere tester.

– Som utviklere kjemper vi for ressursene til å utføre jobben vår ordentlig. Dette inkluderer å motsette oss urealistiske tidsfrister, utilstrekkelig tid til testing, eller kostnadsbesparende tiltak som kan kompromittere sikkerheten, skriver Milanović i sitt nyhetsbrev.

Han har nok et poeng.

Samtidig skjønner jeg jo at man ikke kan teste alt hele tiden – da ville man antagelig ikke fått gjort annet. Men jo større katastrofer en bug i koden din kan forårsake, jo større grunn er det til å skrive den ene ekstra testen.

Og utvikler du programvare som kan få fly og raketter til å styrte eller eksplodere, eller lage blåskjermer over hele verden – da er det sikkert greit å si til sjefen: Du, jeg bare teste dette skikkelig først!

Ukas beste saker på kode24:

🏸 IKT-rekord:– Aldri før vært så mange søkere med tilbud

Flere rekorder for IKT-utdanningene, ifølge Samordna Opptak. Men det finnes fortsatt muligheter om du vil studere IT.

🐓 65.437 utviklere har talt: Hater én ting mer enn alt annet

Stack Overflows årlige utviklerundersøkelse er ute – med noen overraskelser.

🎒 Mener det er mulig å unngå reprise av Crowdstrike-feilen

En løsning fra Linux kan bidra til å redde Windows-maskiner fra BSOD, mener fire dataingeniører. De mener eBPF vil bety sikrere drift av datasystemer.

🥃 Konsulenthus konkurs etter å ha satset på kunde som ikke betalte

2022 var et rekordår for Adera. Men det skulle vise seg at det også var starten på en stadig økende ubetalt bunke med fordringer, som til slutt drev selskapet til konkurs.

🏀 Studentenes AI-prosjekt skal revolusjonere Ruters kundeservice: – Utrolig lærerikt

"AI-sjef" Umair Mehmood Imam i Tet Digital mener Norge har talentene som skal til for å bli verdensledende innenfor kunstig intelligens.

🍶 – Fatter ikke at det ikke snakkes mer om Vue!

Den erfarne utvikleren John Kristijan Hermann mener Vue fortjener mye mer oppmerksomhet enn det får sammenlignet med React og Svelte.

🍶 Overrasket over første State of React: – Bare to prosent er misfornøyd!

Den første State of React-undersøkelsen er ute.

God helg

Jeg har noe jeg må tilstå: Jeg er for dårlig på å skrive tester!

Og da mener jeg ikke at jeg for sjelden skriver tester, men at jeg aldri har tatt meg skikkelig tid til å lære meg hvordan man skriver gode tester. Og hvilke tester man bør skrive, og hvilke man kan droppe.

Heldigvis gjør TypeScript, lintere og annet at jeg får luket ut mange småbugs som jeg tidligere kanskje ikke ville oppdaget (uten testing?). Men jeg ønsker likevel å begynne å automatisere testing av deler av koden min for å gjøre den enda mer robust.

Jeg leste nettopp at Vitest har kommet i versjon 2 med en masse nytt, så kanskje det er på tide å prøve det ut?

Uansett, om noen timer tar jeg ferie. Om det blir noe særlig testing i ferien, vet jeg ikke. Kanskje bortsett fra at jeg har planer om å teste litt øl, da.

God helg!
– Kurt 🤓