Föreställ dig den här hypotetiska situationen: du arbetar i Easy LMS med en fantastisk GDPR-kurs. Den är fantastisk eftersom du har gjort den rolig med häftig infografik och tilltalande videor. Hej då, hej då tråkig compliance-utbildning. All GDPR-information finns där; du behöver bara lägga in den i systemet. Allt går smidigt. Tills du vill ladda upp en video. Plötsligt är hela din kurs borta! Bara med ett klick. Aaargh!
Självklart är detta något som varken du eller vi vill ha! Vi tycker att det är bättre att ta reda på att något är trasigt innan våra kunder gör det. Det är därför vi har en omfattande kvalitetssäkringsprocedur (QA) som inkluderar manuell och automatisk testning. I den här artikeln kommer vi bara att fokusera på manuell testning. För ibland behöver du bara människor istället för robotar... Välkommen till vår värld av manuell testning!
Vad är kvalitetssäkring? Och varför behöver vi det?
QA-ansvariga är ofta de som avgör om en ny funktion eller en åtgärdad bugg är redo för lansering eller inte
Låt oss först ta ett steg tillbaka ifall du skulle bli överväldigad av termen kvalitetssäkring. Vad är kvalitetssäkring? Och varför behöver du det? Kvalitetssäkring (QA) är att se till att något fungerar som det är tänkt. Enligt vår mening är en QA-process avgörande för vår (programvaru)produkt och kundnöjdhet, och därmed för vårt företags framgång. QA-ansvariga är ofta de som avgör om en ny funktion eller en åtgärdad bugg är redo att släppas eller inte.
Vissa kanske reducerar kvalitetssäkring till att bara handla om testning, men vi anser att det är mer än så. Att ha en bra kvalitetssäkring är lika viktigt som själva byggandet. Det säkerställer att du kan uppfylla dina egna kvalitetsstandarder! Det gör också din produkt stabil och får ditt team att känna sig tryggt. Vi gör alla misstag; det är en oundviklig del av att vara människa, även om du är en begåvad utvecklare (som vår?). Men att ha ett skyddsnät gör att du känner dig fri i sinnet och arbetet, så att du kan tänja på dina gränser. Detta kommer att leda till mer avancerade färdigheter (utveckling, design, skrivande, allt möjligt) i slutändan!
Vem utför testerna?
För ett år sedan var Caroline vår enda QA-ansvariga. Hon testade allt som utvecklades av våra utvecklare manuellt. Och vi kan säga att det var mycket. Eftersom vi strävar efter autonoma team som kan arbeta helt på egen hand experimenterade vi med att låta utvecklingsteamen själva sköta QA. Experimentet var framgångsrikt! "Att testa med vårt team känns som rätt sak att göra. Vårt team är multidisciplinärt, så vi lägger alla märke till olika saker. Det ger oss en mycket större garanti för att upptäcka små problem än om en enskild medlem skulle testa på egen hand. Vi vet också hur koden fungerar, så vi har en klarare uppfattning om hur vi skulle kunna bryta den!", förklarar Bram, Back-End Developer.
Hur ser vårt testförfarande ut?
Vårt förfarande för manuell testning består av sex steg. Låt oss gå igenom dem tillsammans!
Steg 0: Kontrollera om koden uppfyller vår kvalitetsstandard.
Innan vi börjar testa manuellt gör vi en kodgranskning. En annan utvecklare verifierar kvaliteten på koden. Vi kontrollerar till exempel uttryckligen för säkerhetsproblem. Vi kör också automatiska tester som analyserar kodkvaliteten. Dessa tester måste lyckas innan vi fortsätter. Om testet misslyckas går vi tillbaka till ritbordet och åtgärdar problemen.
Steg 1: Kontrollera att alla acceptanskriterier är uppfyllda.
När vi bygger en ny funktion börjar vi med att skriva acceptanskriterier. Acceptanskriterier definierar hur en viss funktion kan användas ur en kunds perspektiv. Vi funderar alltså på hur en funktion måste fungera, så att vi i efterhand kan testa om den fungerar som avsett.
Steg 2: Kontrollera om vår definition av Done har uppfyllts.
Definitionen av "Done" är en överenskommen uppsättning punkter som måste slutföras innan ett projekt kan anses vara slutfört. Vår definition av Done inkluderar till exempel:
Steg 3: Prova och förstör saker
Vi tar kundens perspektiv. Först använder vi funktionen på det sätt vi förväntar oss att slutanvändaren skulle göra. Sedan tar vi det till det extrema. Vi upprepar åtgärder mer än en gång, använder extrema testfall och verifierar att den nya funktionen inte förstörde befintliga funktioner. Vad händer med X om jag trycker på den nya knappen Y? Vi testar också med olika testkonton med andra egenskaper.
Vi tar kundens perspektiv
Steg 4: Testa ur säkerhetssynpunkt.
Vi strävar efter att vara GDPR-kompatibla. Vi tar våra kunders data på allvar. Därför testar vi för möjliga sårbarheter med några vanliga hackningstekniker. Vi är bra människor, så vi använder aldrig dessa tekniker i verkliga livet; inga bekymmer!
Steg 5: Testa de nya översättningarna och redigera dem.
Vi stöder 11 språk i vår instrumentpanel, och vårt spelargränssnitt finns tillgängligt på 24 språk. Vi har en pool med frilansöversättare som översätter all text manuellt i ett separat översättningsverktyg. Vi kontrollerar att all text läggs till i det verktyget. Vi granskar och redigerar dem också, så att de är omedelbart redo att användas!
Steg 6: Fundera på vilket innehåll som behöver uppdateras eller skrivas.
För det mesta kommer en ny funktion med ny text. Vi förbereder allt internt eller externt innehåll i förväg när det är möjligt. När vi släpper en ny funktion vill vi att den ska vara komplett! Det är kopplat till vår vision om ett enda flöde!
"Att göra en bra kvalitetssäkring kan vara en tidskrävande uppgift. Ju fler perspektiv och ögon som är involverade, desto bättre. Att ha stegen dokumenterade så att vem som helst kan följa dem fungerar, istället för att förlita sig på bara en individ. På Easy LMS arbetar vi i multidisciplinära team, med back-end- och front-end-utvecklare som arbetar nära våra implementationskonsulter som tar in kundperspektivet. Det låter vettigt!", säger Caroline, QA officer;
När utför vi manuella tester?
Varje enskild funktion testas manuellt
Varje enskild funktion testas manuellt och går igenom samma process! Till och med små funktioner (som att byta ut en bild på startsidan) som inte ens behöver testas vid första anblicken. Men djävulen finns i detaljerna och i små funktioner ? Vi utför vår manuella testprocedur när utvecklingen är klar. Lyckades testet? Då är det dags att släppa det så att våra kunder kan njuta av det! Misslyckades testet? Då är funktionen under utredning igen. Det innebär att utvecklingsteamet löser problemet och testar kvaliteten igen. Vi upprepar detta tills alla rutor i vår checklista för QA-granskning är avbockade.