Introducing Optimizely Opal
an all-new AI platform. See how it works
Optimization glossary

Test i produksjon

Hva er test i produksjon?

Testing i produksjon (TIP) er en praksis for programvareutvikling der nye kodeendringer testes på live brukertrafikk i stedet for i et staging-miljø. Det er en av testene som inngår i kontinuerlig levering.

Produksjonsprogramvare er den versjonen av programvaren som slippes live til virkelige brukere. I motsetning til dette er utviklings-, staging- eller pre-produksjonsprogramvare under utvikling og ennå ikke tilgjengelig for sluttbrukerne.

Hvorfor teste i produksjon

Historisk sett har selskaper forsøkt å sikre at programvaren de bygger, har blitt grundig testet for feil i utviklings-, staging- og førproduksjonsmiljøer, i god tid før den når brukerne i produksjon. Ved å fange opp feil tidlig unngår man at brukerne oppdager feil, noe som øker kundenes tillit og generelle tilfredshet med merkevaren og produktene.

Det er imidlertid ikke enkelt å fange opp alle feil i utviklings- og staging-miljøene. Ingeniør- og QA-team kan bruke mye tid og krefter på å bygge enhetstester, testsuiter og testautomatiseringssystemer, prøve å simulere produksjonsmiljøet, eller manuelt verifisere brukerflyter med fiktive brukerdata og testtilfeller for å prøve å avdekke feil, bare for å finne ut at et viktig hjørnesak ble oversett. Til slutt kan mange brukere oppleve at programvaren ikke fungerer som den skal, selv etter at det er brukt mye tid på å teste i utviklingsfasen.

I mange tilfeller er det umulig å simulere den virkelige programvaren fullstendig i et testmiljø. Med alle avhengighetene som finnes i moderne produksjonssystemer, og de mange mulige kanttilfellene, har produksjonstesting blitt en nødvendig del av devops og programvaretesting. Store programvareselskaper som Google, Netflix og Amazon lanserer stadig nye funksjoner for en brøkdel av trafikken for å måle effekten av dem.

Produksjonstesting og funksjonsflagg

Med utviklingen av funksjonsflagg (også kjent som feature toggles og feature rollouts), som gjør det mulig for ingeniørteam å eksponere ny programvare for bare en brøkdel av produksjonstrafikken, kan selskaper eksponere eksperimentelle eller nye funksjoner for en liten del av produksjonstrafikken for raskt å verifisere at programvaren fungerer som forventet i sanntid, samtidig som de har en trygg måte å rulle tilbake eventuelle feil som ikke er oppdaget, ved hjelp av en kill-switch eller rollback for funksjonsflagg.

Ved å kjøre tester i produksjon via utrullinger eller funksjonsflagg kan man ta hensyn til alle produktdata, avhengigheter og grensetilfeller i omfattende integrasjonstester. Å ha data fra den virkelige verden kan være spesielt nyttig når man utfører ytelses- eller belastningstester.

Verktøy med funksjonsflagg har også den ekstra fordelen at de gir mulighet for A/B-testing, der den nye funksjonen sammenlignes med den forrige versjonen av programvaren for å se hvilken som gir en bedre brukeropplevelse basert på produksjonsdata. På denne måten kan programvareingeniørene ikke bare sikre at de nye funksjonene er feilfrie, men også bruke reelle data til å validere at endringen faktisk forbedrer den generelle programvareopplevelsen.

Hvis teamet ditt ønsker å teste i produksjon, tilbyr Optimizely gratis funksjonsflagging og utrulling av et ubegrenset antall gratis funksjonsflagg bygget på en plattform i bedriftsklasse.