Skip to main content

Vikten av kvalitetsarbete har åter hamnat i fokus när hela branscher ställer om till distansarbete och samtidigt försöker upprätthålla kvaliteten i sina processer och produkter. 

Covid-19 förändrade spelplanen för hela världen. När regeringar införde åtgärder för social distansering och karantän var företagen tvungna att tänka om kring sina arbetsmetoder. 

Som testare, SDET, QA-ingenjör eller i någon annan roll med ansvar för att driva kvalitetsarbetet på ditt företag blev din vardag sannolikt störd.

Continue Reading for Free

Create a free account to finish this article, plus get ongoing access to timely insights and practical resources.

Effektivt kvalitetsarbete i en distansarbetsmiljö

Före pandemin arbetade jag redan helt på distans på Auth0 (ett globalt distribuerat distansföretag), och jag hade även arbetat på distans på andra företag. 

I den här artikeln delar jag med mig av mina tips, knep och processer för att hantera distansarbete och kvalitetssäkringsrutiner. Med trender inom kvalitetsarbete som utvecklas snabbt, särskilt i distansmiljöer, är det viktigt att hålla sig uppdaterad om de verktyg och strategier som kan stödja denna förändring.

Det viktigaste generella rådet jag kan ge dig är att vara beredd på asynkron kommunikation – du kommer ofta att behöva vänta på att få interagera, och du måste lära dig att hantera det.

När du inför distansrutiner är det viktigt att förstå skillnaden mellan kvalitetsarbete och kvalitetssäkring. Kvalitetssäkring fokuserar vanligtvis på att upptäcka fel i efterhand, medan kvalitetsarbete är ett mer heltäckande och förebyggande arbetssätt som säkerställer att kvalitet byggs in i varje utvecklingsfas.

Strategier och tips för QA-ingenjörer på distans

1. Friskrivning: Det här är inte riktigt som vanligt 

Under pandemin hade distansarbetare ofta extra mycket stress och press (barn hemma, olämpliga arbetsförhållanden hemma, dödsfall eller sjukdomar i familjen och så vidare). Oavsett om du har en chefs-, ledar-, senior- eller juniorroll är det viktigt att förstå att det som pågår just nu inte är vad som är normalt. Covid-19 var ett extremfall (förhoppningsvis!), och därför krävdes extra anpassning från alla.  

Som chef ska du visa dina direktrapporterande medarbetare att du finns där för att hjälpa till. Som teknisk ledare eller huvudansvarig ska du ge teamet vägledning, men också visa att du är mänsklig och att de kan känna sig trygga med att visa sårbarhet. Och för alla andra: känn ingen press att prestera som vanligt – det är förståeligt att saker och ting går långsammare.  

Företag bör erkänna att teamens leveranstakt kommer att minska och att distansarbetet inte är orsaken till detta. Det här är unika omständigheter. Distansarbete gör att företaget kan fungera, även om det inte sker i full hastighet.  

2. Kodgranskningar är en av dina bästa kvalitetsgrindar  

Även om du traditionellt har haft en mer manuell kvalitetsroll på företaget bör kodgranskningar redan finnas på din radar. De är ofta en viktig del av livscykeln för programvaruutveckling och fungerar som en kontaktpunkt där medarbetare tvingas kommunicera med varandra för att förbättra kodkvaliteten och förebygga misstag. 

I en distanssituation är de särskilt viktiga eftersom de är en naturlig rutin som vanligtvis redan finns på plats, vilket gör dem enkla att upprätthålla. Om de används på rätt sätt hjälper de dig att hantera de problem med asynkron kommunikation som jag nämnde tidigare. Genom att använda rätt programvara för kvalitetsarbete kan du effektivisera kodgranskningarna avsevärt, förenkla kommunikationen och minska antalet fel innan de uppstår.

Get regular tech leadership wisdom for delivering better software and systems.

Mina bästa tips för kodgranskning:

  • Uppmuntra personer att göra en egen granskning först: egen granskning är en metod där personen som föreslår kodändringen också granskar sin egen kod och lämnar hjälpsamma kommentarer innan hen ber om en offentlig granskning. Det minskar tiden som framtida granskare behöver lägga och kan till och med hjälpa den som gör den egna granskningen att upptäcka små, dumma misstag i förväg; 
  • Gör kodgranskningar i par eller i mobb-sessioner: särskilt användbart när en PR berör känslig kod eller är en ganska stor förändring (till exempel en refaktorering). Den som föreslår en ändring kan delta i ett videomöte, dela sin skärm och förklara sin PR för teamet eller en kollega. Det hjälper verkligen alla att snabbt få samma bild och kan bidra mycket till att förbättra kodkvaliteten. 
  • Involvera utvecklare i granskningen av kod för automatisering: Det är viktigt att utvecklare deltar i granskningen av kod för automatisering/testning. Det håller deras förståelse för hur applikationen testas uppdaterad och bidrar till att upprätthålla samma typ av kodkvalitet i all kod; 
  • Se till att SDETs/testare granskar applikationskod: det här är verkligen avgörande. Kvalitetsingenjörer bör delta i kodgranskningar. Du kan göra detta även om du inte är särskilt teknisk (det är en bra början för att ta reda på vad du behöver lära dig!). Du kan inte bara ge värdefull feedback, utan får också kunskap om exakt vad som ändras i applikationen (något du kanske går miste om på grund av den nya asynkrona arbetsmiljön). Denna kunskap hjälper dig att fatta bättre testbeslut för teamet.

Om ni inte redan har en strikt process för kodgranskning är det här ett utmärkt tillfälle att argumentera för att förbättra den. Det är ett grundläggande verktyg i en tid då synkron kommunikation kan vara svårare. 

Var inte rädd för att använda verktyg för kodgranskning för att hjälpa er att organisera och samarbeta.

3. Utnyttja kraften i parprogrammering

Jag kommer inte att gå in på detaljerna kring parprogrammering eller mobbprogrammering, eftersom det skulle bli en helt annan artikel och det finns gott om information om ämnet på nätet.

Jag ville dock påpeka att detta är ett mycket värdefullt verktyg i en tid som denna. Oavsett om du arbetar tillsammans med en annan SDET med testkod eller parar ihop dig med en utvecklare för att arbeta med applikationskod tycker jag att det är en utmärkt metod som bidrar till bättre sammanhållning i teamet, kunskapsdelning samt högre kvalitet på kod och applikation. 

Här är några vanliga frågor om parprogrammering, tillsammans med svar:

Vad är parprogrammering?

Som namnet antyder är parprogrammering en aktivitet där två personer tillsammans bidrar till samma kod. Det kan även göras med fler personer och kallas då vanligtvis mobbprogrammering. 

Hur fungerar parprogrammering?

Vid parprogrammering har man vanligtvis en förare (som skriver koden) och en navigatör (eller observatör). Detta fungerar bra med verktyg för distansmöten där en person kan dela sin skärm och skriva koden, medan den andra kan komma med förslag, kommentarer eller påminnelser, eller hjälpa till att upptäcka och förebygga buggar.

Vilka verktyg använder ni för parprogrammering?

Om du känner dig samarbetsinriktad har VS Code (till exempel) utvecklat utmärkta samarbetsfunktioner med (Visual Studio Live Share), vilket gör att flera personer kan arbeta med ett gemensamt projekt. Det fungerar mycket bättre än man kanske tror – det är mycket kraftfullt och fungerar riktigt bra med personer som redan känner varandra eller har liknande arbetssätt.

Kan man parprogrammera med personer utan teknisk bakgrund?

Ja, och det är ett utmärkt tillfälle att utveckla mentorskap samtidigt som teamets tekniska kunskaper stärks. 

Har ni utvecklare som är särskilt intresserade av att undervisa eller kanske har erfarenhet av att hålla workshoppar eller handledningar? De kan para ihop sig med dig för att guida dig genom kodbasen, så att du kan få mer erfarenhet om du ännu inte har så mycket teknisk kunskap.

Hur är det med testning?

För testning kan du prova något som jag kallar "omvänd parprogrammering". Det innebär en omvänd variant av parprogrammering och handlar i stället om par- eller mobbtestning. Para ihop dig med utvecklare för att visa dem hur du testar applikationen, låt dem hjälpa dig att testa den eller gör tvärtom! Det här är ett mycket användbart sätt att ta itu med komplexa problem. Läs några idéer om detta i ännu en utmärkt artikel av Maaret Pyhäjärvi.

4. Anordna distanstestningssessioner för att samarbeta som ett team: buggrusningar, speldagar med mera. 

Testsessioner (ibland kallade buggjakter, speldagar osv.) är en samarbetsaktivitet som vanligtvis genomförs av ett team. 

Det kan handla om att testa en specifik ny funktion, eller så kan det genomföras regelbundet för att testa applikationen. Rätt QE-verktyg kan förändra förutsättningarna under dessa samarbetssessioner genom att ge insikter i realtid och förenkla komplexa testmiljöer.

Tanken är att samla personer från och utanför teamet, med olika kompetenser (utveckling, testning, produkt, design, verksamhetsintressenter osv.), för att testa applikationen. Som utvecklare eller testare kan vi ibland ha en tekniskt fokuserad och partisk uppfattning om hur applikationen bör se ut, så att låta andra intressenter granska den kan ge mycket värdefull feedback.

Skärmbild av roller under en buggjakt
Testsessioner är ett utmärkt tillfälle för team att samlas och samarbeta mellan avdelningar, även i distansbaserade upplägg.

Jag tyckte att detta var viktigt att lyfta eftersom jag anser att det är en utmärkt aktivitet att genomföra under den här typen av perioder. Den för team samman och uppmuntrar till kommunikation och samarbete mellan olika avdelningar, vilket potentiellt kan upptäcka buggar eller felaktiga specifikationer som annars kanske skulle missas.  

Att genomföra dessa på distans kan naturligtvis vara en utmaning, så här är några tips för det (och för att genomföra dem i allmänhet).

Tips för att genomföra testsessioner på distans:

  • Du bör kunna genomföra dessa via ett videokonferensverktyg. Se till att det även finns en chatt tillgänglig (om ni använder Slack kan ni kanske skapa en separat Slack-kanal för detta); 
  • I situationer där enheter behövs (t.ex. mobiltelefoner eller enheter för vardagsrummet osv.) ska du se till att du i förväg vet vad deltagarna har tillgång till. Om du testar en iOS-app och bjuder in någon utan iPhone är det slöseri med allas tid; 
  • Ha alltid en eller flera personer som ansvarar för varje sådan session. Det innebär att de bör hjälpa till att organisera den i förväg, förbereda eventuell dokumentation eller konfiguration som deltagarna behöver och leda sessionen; 
  • Du bör skapa tydliga installationsinstruktioner för deltagarna och göra dem tillgängliga före sessionen. Tiden under sessionen ska användas till testning, inte installation; 
  • Du bör också ha tydliga instruktioner för hur problem ska rapporteras, även om det bara är ”publicera det i kanalen” (i stället för att alla försöker rapportera problem i ett konferenssamtal samtidigt); 
  • Ha en plan för sessionen. I sådana situationer är det användbart om deltagarna följer något slags manus eller åtminstone en plan för vad de ska titta på;
  • Med det sagt bör du fortfarande uppmuntra explorativ testning, men tänk på att vissa personer kan behöva lite uppmuntran för att börja utforska. 
  • Du kan fortfarande genomföra dessa på mer system med fokus på bakomliggande funktioner. En intressant övning där kan vara att omvandla det till ett experiment inom kaosteknik, med en mer teknikorienterad grupp. AWS har en variant av detta som kallas speldagar, som kan ge några idéer.
  • Uppmuntra till att ha roligt! Dessa sessioner kan vara mycket underhållande om de genomförs på rätt sätt – när jag genomförde dem på Miniclip för många år sedan brukade jag göra testsessionerna till ett spel med karaktärer från Game of Thrones. 

Du kan också hitta mer detaljerad information om detta i det här blogginlägget, som tar upp flera av de saker jag nämnde ovan.

5. Använd din fritid klokt – stärk dina färdigheter inom kvalitetsarbete

Som jag nämnt kommer du att behöva vänja dig vid asynkron kommunikation. Inom testning (beroende på teamets arbetssätt) kan en testares uppgifter ofta vara beroende av att utvecklingsarbetet blir klart. När team arbetar i långsammare takt och kommunikationen sker på andra sätt kan du upptäcka att du har lite tid över. 

Jag minns att jag hade en kollega på ett tidigare företag som ofta brukade säga under den dagliga avstämningen ”Jag är blockerad av x” och sedan tillbringa dagen med att vänta på att bli avblockerad. Vid ett tillfälle hjälpte jag honom att förbättra sina färdigheter inom olika områden, och en av sakerna som behövde bearbetas var just den inställningen. Detta gäller särskilt nu när du, utöver möjliga ökningar av perioder utan arbete, också befinner dig i hemmets bekvämlighet med många distraktioner till hands. 

Det är viktigt att du hanterar din tid och håller en lista över sådant du är intresserad av att lära dig. 

Här är några exempel på saker du kan göra på din fritid: 

  • Har du främst arbetat med manuell QA? Då kanske du vill lägga tid på att lära dig mer om automatisering.  
  • Har du mycket kunskap om frontend? Då kanske du borde ägna lite tid åt att även lära dig mer om backend.
  • Det finns många bra kostnadsfria resurser, som freeCodeCamp eller YouTube, samt billiga alternativ som Udemy (de har ofta erbjudanden). Dessutom har många konferenser blivit virtuella på grund av coronaviruset, och vissa är gratis att delta i (t.ex. OnlineTestConf)!
  • Eller så kanske du vill lära dig mer om applikationen genom att gå igenom applikationskoden. 
  • Eller så kanske du vet att ett nytt projekt är på väg och att du behöver lära dig en ny färdighet för det. 
  • Dessutom kan du använda den här tiden till att skapa prototyper för nya idéer, städa upp teknisk skuld, skriva dokumentation och annat.  

Det spelar egentligen ingen roll. Välj det som passar, men investera i din personliga utveckling. 

Det betyder inte att du inte kan ta en paus (det är trots allt en global pandemi). Folk kommer att förstå. Men att utöka dina QA-kunskaper eller förbättra dig själv är värdefullt, särskilt i sådana här tider när arbetsmarknaden har försämrats kraftigt. 

6. Använd teamaktiviteter för att utveckla relationer 

Som en sista kommentar vill jag säga att jag tycker att det är viktigt att uppmuntra aktiviteter i teamet, även om detta inte direkt är ett testrelaterat förslag. Sådana relationer är viktiga och fungerar som ett välkommet avbrott från arbetet. På ett kontor uppstår de vanligtvis mer naturligt, kanske under lunchen eller en fikapaus, eller till och med genom en spontan kommentar i samma rum. 

Några tips för att bygga relationer på distans: 

  • I mitt nuvarande team har vi precis installerat Donut Slack-appen i vår teamkanal. Den parar slumpmässigt ihop oss med en teammedlem varje vecka för ett samtal – där kan vi prata om vad vi vill.
  • Vi har också en bokklubb på fredagar, där vi turas om att dela kunskap med varandra (vi fokuserar på ämnen som är relevanta för arbetet, men det kan handla om vad som helst!); 
  • Ordna gemensamma luncher eller fikapauser i kanalen, där ni tillbringar tid tillsammans precis som på ett kontor. Det fungerar förstås bäst om ni befinner er i liknande tidszoner; 
  • Ordna frågesporter eller spela onlinespel tillsammans då och då. Jackbox Party Pack är ett bra exempel på något som fungerar mycket bra på distans.

Prenumerera för fler insikter

För fler tips, råd och strategier inom kvalitetssäkring kan du prenumerera på The CTO Clubs nyhetsbrev för de senaste insikterna. Vi hjälper dig att skala smartare och leda starkare med guider, resurser och strategier från ledande experter!