Skicka 1 % av användarna till en ny upplevelse med Feature Flag. Bild: Optimizely
Så genomför du canary testing
Canary testing gör det möjligt att släppa ny kod eller nya funktioner till en liten delmängd av användare för att verifiera om det finns problem med koden innan den släpps till en större publik. Genom att begränsa lanseringen till en utvald målgrupp och minimera påverkansradien vid nya releaser kan team validera funktionalitet och prestanda innan utrullning till samtliga användare.
Ytterligare en anledning att genomföra canary-tester och produktexperimentering är att utvecklings- och stagingmiljöer ofta inte helt motsvarar produktionsmiljöer. Genom att testa med en liten andel produktionsanvändare (ofta kallat testning i produktion) kan du upptäcka problem som kanske inte hade hittats i staging- eller utvecklingsmiljöer.
Canary testing och feature flags
Canary testing kan genomföras med hjälp av feature flags som gör det möjligt för team att separera kodsläpp från funktionsaktivering och slå på eller av funktioner på distans för specifika grupper, andelar av användare eller alla användare. Med feature flags kan team begränsa lanseringen till bara 1 % av användarna, övervaka nyckeltal som felfrekvens, latens och affärsmått för att säkerställa att den nya funktionen inte har någon negativ effekt.
Om canary-testet upptäcker ett problem under driftsättningsprocessen är det enkelt att inaktivera den nya funktionen eller koden genom att stänga av den aktuella feature flag:en. Canary-releaser kan bidra till att förhindra större driftstopp, förlorade intäkter eller negativ kunduppfattning genom att snabbt ge insikter om en ny funktions prestanda samtidigt som antalet påverkade användare begränsas.
Canary testing och kontinuerlig leverans
Kontinuerlig leverans, som förespråkats av den inflytelserike mjukvaruutvecklaren Martin Fowler, är en mjukvaruutvecklingsdisciplin där programvara kan släppas till produktion när som helst. Den har anammats av ledande mjukvaruföretag världen över vars team nu förväntas snabbt leverera stabil och buggfri programvara till sin användarbas.
Canary testing passar in i metodikerna för kontinuerlig leverans och kontinuerlig integration. Ledande system för kontinuerlig leverans, som hos företag som Facebook, integrerar djupgående övervakning och automatiserad testning i sin canary testing. Om en funktion inte klarar en övervakningskontroll efter att den har driftsatts som en canary till en andel användare, rullas den automatiskt tillbaka. Med kontinuerlig driftsättning och canary-tester kan ett team säkrare lansera ny funktionalitet och kodändringar i stor skala.
Canary testing i Intelligence Cloud
Mjukvaruutvecklingsteam kan nu använda Optimizelys kostnadsfria feature flags för att implementera feature flags för canary testing.
Team kan tillämpa metoderna för kontinuerlig integration och kontinuerlig leverans som används av dagens avancerade utvecklingsteam. Både team – och hela företag – kan dra nytta av snabbare utvecklingscykler och funktionshantering som canary testing för att minska risker.
Optimizely server-side experimentation -kunder kan följa i fotspåren hos världens ledande mjukvaruföretag (som Amazon, Google och Facebook) som validerar sina funktioner hos bara en liten andel användare innan de rullar ut dem bredare.
Optimizely erbjuder även funktionshantering i enterpriseklass genom Optimizely server-side experimentation, en kraftfull lösning för canary testing, kontrollerade funktionssläpp och funktionstester i din produkt eller app.