Test av funktion
Vad är test av funktion?
Test av funktion, eller feature test på engelska, är en mjukvaruutvecklingsprocess där man testar flera varianter av en funktion för att fastställa den bästa användarupplevelsen.
Med test av funktion och produktexperimentering kan du validera om en ny funktion för en webbsida eller app passar bra. Samtidigt kan du också avgöra vilken variant av funktionen som kommer att bli mest framgångsrik. Om testet av funktionen avslutas framgångsrikt kan du sedan rulla ut funktionen med konfigurationen av den vinnande varianten av testet av funktionen.
Hur feature test fungerar
Feature-tester liknar A/B/n-testning som gör att du kan styra om den associerade funktionen är på eller av för varje variation via feature flags (även kallade funktionsväxlingar). Du kan också styra funktionens variabelvärden för de olika variabler som är kopplade till funktionen.
När besökare interagerar med din webbplats eller applikation samlar testet av funktionen in mätvärden relaterade till deras engagemang i funktionen. Du kan sedan titta på statistik på analytics dashboard för att avgöra om funktionen leder till positivt eller negativt beteende. Samtidigt kan du också avgöra vilken konfiguration av funktionen som är mest framgångsrik.
Fördelarna med test av funktioner
Det finns ett antal användningsområden för test av funktion:
Validera hur funktionen passar in
Med test av funktioner kan du samla in mätvärden och validera om en funktion passar bra och uppfyller dina affärskrav.
Genom att konfigurera ett test av funktionen kan du aktivera funktionen för en viss del av trafiken och inaktivera den för resten. På så sätt kan du mäta hur dina mätvärden presterar när funktionen är aktiverad och jämföra det med när den är inaktiverad och därmed validera om funktionen kommer att vara bra för att så småningom utrullning av den nya funktionen till alla som använder produkten.
Bestäm den bästa funktionskonfigurationen
Förutom att aktivera/inaktivera din funktion på variationsnivå kan man också köra ett test av funktionen för att göra experiment med olika konfigurationer och testscenarier för funktionen. På så sätt blir det möjligt att bestämma den bästa upplevelsen av funktionen.
Upptäck buggar
Förutom vanliga testmetoder för programvara, som enhetstestning och funktionstestning, kan test av funktion vara ett bra sätt att upptäcka buggar och problem som kanske bara uppstår i undantagsfall i din produktionsmiljö. Genom att paketera nya funktioner i feature flags kan du snabbt återställa eventuella buggar utan att behöva distribuera kod.
Iterera till perfektion
För långsiktiga funktioner kan du köra test av funktionerna om och om igen och fastställa den bästa konfigurationen för dem under hela deras livstid, vilket leder till bästa möjliga upplevelse.
Test av funktioner och kontinuerlig leverans
Genom att införa test av funktion i din process för funktionsleverans kan du snabbt validera idéer, titta på mätvärden och avgöra om funktionen är redo att rullas ut till alla, allt utan att du behöver göra en ny koddistribution. Du kan också finjustera olika aspekter av funktionen genom att experimentera med olika konfigurationer.
När du är klar med att samla in mätvärden och är nöjd med resultaten kan du sedan rulla ut funktionen gradvis till alla igen utan att behöva distribuera kod.
Optimizely och test av funktion
Med Optimizelys funktioner för funktionshantering på serversidan kan produkt- och ingenjörsteam instrumentera feature flags och köra testning av funktioner på dem. Detta gör att de snabbt kan validera sina hypoteser, mäta funktionens inverkan och sedan gradvis rulla ut funktionen. Allt detta kan åstadkommas genom att instrumentera feature flags en gång och sedan använda Feature Experimentation för att experimentera med den och rulla ut den.
När Feature Experimentation utvärderar en funktion utvärderas först det relaterade testet av funktionen för att avgöra om användaren kan ges åtkomst till funktionen genom testet. Om inte, utvärderas den relaterade utrullningen av funktioner för att fastställa åtkomst till funktionen.
Det här fungerar utmärkt för produktutvecklingsteam eftersom risker kan minskas tidigt genom att köra test av funktionen innan mycket arbete läggs på att bygga och underhålla funktionen. Det passar också bra med bästa praxis för kontinuerlig integration och kontinuerlig leverans eftersom i Optimizely är test av funktioner och utrullningar av funktioner nära kopplade och när testet uppnår önskade resultat kan man rulla ut funktionen utan att behöva göra några ändringar i koden och ominstallera.
Optimizely erbjuder för närvarande gratis feature flags genom Optimizely free feature flagging, en helt gratis lösning för kontrollerade feature releaser i din produkt eller app. Rollouts erbjuder ett antal SDK:er på GitHub för några av de mest populära programmeringsspråken och ramverken, inklusive Android, C#, Go, Java, JavaScript, PHP, Python, React, Ruby och Swift.
Funktionstester är för närvarande tillgängliga som en del av Optimizely Feature Experimentation. Och ett snabbt tips, du kan alltid börja med gratis Optimizely Rollouts och uppgradera din prenumeration för att avslöja hela sviten av funktioner.