Sender 1 % av brukerne til ny opplevelse ved hjelp av Feature Flag. Bilde: Optimizely
Slik utfører du canary testing
Canary testing gjør det mulig å rulle ut ny kode eller nye funksjoner til en liten undergruppe av brukere for å verifisere om det finnes problemer med koden før den lanseres til et større publikum. Ved å begrense utrullingen til et utvalgt publikum for å minimere eksplosjonsradiusen av nye lanseringer, kan team validere funksjonalitet og ytelse før de ruller ut til alle brukere.
En annen grunn til å utføre canary-tester og produkteksperimentering er at utviklings- eller staging-miljøer ofte ikke fullt ut gjenspeiler produksjonsmiljøer. Ved å teste med en liten prosentandel av produksjonsbrukere (ofte omtalt som testing i produksjon), kan du oppdage problemer som kanskje ikke ble funnet i staging- eller utviklingsmiljøer.
Canary testing og feature flags
Canary testing kan utføres ved hjelp av feature flags, som gjør det mulig for team å skille kodeutgivelser fra funksjonsaktivering og slå funksjoner av og på eksternt for spesifikke grupper, prosentandeler av brukere eller alle brukere. Ved hjelp av feature flags kan team begrense utrullingen til bare 1 % av brukerne, overvåke nøkkelmålinger som feilfrekvens, latens og forretningsmålinger for å sikre at den nye funksjonen ikke har noen negativ effekt.
Hvis canary-testen avdekker et problem under utrullingsprosessen, er det enkelt å deaktivere den nye funksjonen eller koden ved å slå av det aktuelle feature flaget. Canary-utrullinger kan bidra til å forhindre store nedetider, tapt omsetning eller negativ kundeoppfatning ved å gi raske innsikter om ytelsen til en ny funksjon, samtidig som antallet berørte brukere begrenses.
Canary testing og kontinuerlig levering
Fremmet av den innflytelsesrike programvareutvikleren Martin Fowler, er kontinuerlig levering en programvareutviklingsdisiplin der programvare kan lanseres til produksjon når som helst. Den er tatt i bruk av ledende programvareselskaper over hele verden, der teamene nå forventes å raskt levere stabil og feilfri programvare til brukerbasen.
Canary testing passer inn i metodikkene for kontinuerlig levering og kontinuerlig integrasjon. De beste systemene for kontinuerlig levering, som hos selskaper som Facebook, integrerer dyp overvåking og automatisert testing i sin canary testing. Hvis en funksjon feiler en overvåkingssjekk etter at den er rullet ut som en canary til en prosentandel av brukerne, rulles den automatisk tilbake. Med kontinuerlig utrulling og canary-tester kan et team tryggere lansere ny funksjonalitet og kodeendringer i stor skala.
Canary testing i Intelligence Cloud
Programvareutviklingsteam kan nå bruke Optimizely gratis feature flags for å implementere feature flags for canary testing.
Team kan omfavne praksisene for kontinuerlig integrasjon og kontinuerlig levering som brukes av dagens avanserte utviklingsteam. Både team – og hele selskaper – vil kunne dra nytte av raskere utviklingssykluser og praksiser for funksjonshåndtering som canary testing for å redusere risiko.
Optimizely server-side-eksperimentering -kunder kan følge i fotsporene til verdens ledende programvareselskaper (som Amazon, Google og Facebook) som validerer funksjonene sine til bare en liten prosentandel av brukerne før de ruller ut bredere.
Optimizely tilbyr også funksjonshåndtering på bedriftsnivå gjennom Optimizely server-side-eksperimentering, en kraftig løsning for canary testing, kontrollerte funksjonslanseringer og funksjonstester i produktet eller appen din.