Skip to main content

Om du är utvecklare inom testautomatisering eller överväger det som karriär, har du någonsin undrat om testkunskaper är avgörande för ditt arbete? Den här artikeln hjälper dig att besvara den frågan.

Så här hjälpte det mig att lära mig en ”testares tankesätt” att bli en bättre utvecklare inom testautomatisering.

Min berättelse: Att arbeta parallellt som utvecklare inom testautomatisering och testare

Mitt första jobb efter universitetet var som testspecialist på IBM. Jag var förväntansfull, främst eftersom jag hade fått jobb på mitt drömföretag. Men någonstans djupt inom mig kände jag att något saknades. Jag insåg snart att det berodde på att min passion alltid hade varit kodutveckling under studietiden.

Continue Reading for Free

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

För att följa mitt mål som programmerare pratade jag därför med min projektledare under mina första dagar på jobbet för att få arbeta med utveckling av testautomatisering. Till min glädje gick han genast med på det! Han tillade dock att jag fortfarande borde överväga att utföra min roll som testspecialist parallellt.

Upplägget var följande: Jag arbetade som testspecialist för en uppsättning komponenter och som utvecklare inom testautomatisering för en annan betydande produktkomponent.

Några dagar senare gjorde jag en häpnadsväckande upptäckt!

Jag upptäckte att det hade hjälpt mig att förbättra mina utvecklingskunskaper att vara testare. När jag utvecklade kod började jag tänka som en testare. Jag började tänka på testtäckning, flera testvägar, användbarhetsaspekter, läsbarhetsaspekter och mycket mer!

Min första testmentor med expertkunskaper

Under den här tidiga perioden fick jag också möjlighet att arbeta med en testexpert på en teknisk artikel om tillgänglighetstestning som skulle lämnas in till en internationell teknikkonferens.  

När vi skrev vår artikel, baserad på våra erfarenheter och lärdomar inom området, hittade jag min första mentor inom testning.

Eftersom jag var ny inom testområdet hade jag många frågor. Min mentorkollega hjälpte mig med mina frågor genom att vägleda mig på bästa möjliga sätt. Han brann för testområdet! Den kärleken till testning smittade, och jag blev också smittad!

Nätverkande med testentusiaster

Gissa vad som hände sedan – vi deltog i teknikkonferensen där vår artikel hade valts ut!

Under teknikkonferensen träffade vi en passionerad gemenskap av testentusiaster som liknade min mentor. Jag imponerades av hur människor respekterade testning och hur de planerade att utvecklas i sina karriärer. Vi träffade människor, utbytte anteckningar och lärde oss tips och tricks om testning!

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

En sammanfattning

Ödet ledde mig till testning i mitt första jobb, även om utveckling av testautomatisering var min ursprungliga passion.

Efter hand upptäckte jag hur testning hade hjälpt mig att bli en bättre utvecklare! Till slut lade jag märke till hur ”testningstänket” gjorde det möjligt för mig att utveckla automatiserade testskript av hög kvalitet.

Jag hade turen att få möjlighet att lära mig det här perspektivet genom att samtidigt arbeta som testare och utvecklare inom testautomatisering.

Testa din kod: Bli bättre som utvecklare

Under min erfarenhet av att samtidigt arbeta som testare och utvecklare inom testautomatisering upptäckte jag att en utvecklare som förbättrar sina testkunskaper så småningom lär sig att utveckla ”bättre” kod.

När allt kommer omkring blir det billigare ju tidigare buggarna upptäcks i koden. Så om du som utvecklare kan upptäcka buggen innan du lämnar över koden till testteamet sparar det dig arbete.

När du dessutom börjar tänka som en idealisk testare prioriterar du produktens användning ur verksamhetens perspektiv, vilket är mycket viktigt. Du börjar tänka ”utanför boxen”.

Till exempel:

Innan utvecklarna lämnar över sin kod till QA-teamet bör de utföra välplanerad enhetstestning. På så sätt undviker man att onödiga defekter smyger sig in i systemet på integrations- eller systemnivå. 

Vid enhetstestning testar utvecklarna individuella enheter av källkoden för att se om de följer kraven och om koden fungerar som avsett.

Dessutom kan en utvecklare delta i integrationstestning.

Integrationstestning är en form av testning där utvecklare testar relaterade system eller kodenheter för att säkerställa att olika delar av ramverket fungerar väl när de integreras.

Vilka kan vara orsakerna till att utvecklare ofta förbiser testkunskaper?

 Orsakerna kan vara någon av följande:

1. En tidigare föreställning om att testning endast behöver utföras av testare

De kanske tror att programvarutestning inte har särskilt mycket med dem att göra eller att de inte har särskilt mycket att göra med programvarutestning.

2. De antar att deras fokus endast bör ligga på att förfina ramverket

De utvecklare som endast fokuserar på att förfina ramverket och dokumentationen i stället för att upptäcka buggar i programvaran får vanligtvis en obehaglig överraskning senare.

Om en ”synlig” defekt missas av utvecklaren innebär det, när en testare upptäcker den, att det tar tid att omarbeta koden för att åtgärda defekten. Detta är inte ett önskvärt scenario.

Och som du vet är en utvecklare mest bekant med kod som hen själv har byggt. Därför vore det väl bäst om hen upptäckte den först, och tidigt? Dessutom kommer testarna då att kunna lägga sin tid och energi på viktigare och mer kritiska fel i stället.

3. En vana att skjuta upp lösningen av problemet när det först upptäcks

Utvecklare kan anta att det är effektivare att felsöka senare. Men i själva verket blir felsökningen enklare när en utvecklare upptäcker defekten tidigt i stället.

Felsökningsinformationen för felet och radnumret som orsakade buggen visas i det misslyckade scenariot när utvecklaren först upptäcker den.

Om defekten däremot ”skjuts upp” till senare kommer det att krävas defektgranskningar, djupgående felsökning och tid för omarbetning.

Fem tips för att utveckla ett testtänk som utvecklare inom automatiserad testning

1. Anmäl dig frivilligt till en testroll

Det kan vara en god idé att anmäla dig frivilligt till en testroll för att få praktisk erfarenhet. På så sätt kan utvecklare finslipa sina testfärdigheter.

Och vad kan du göra för att få en testroll?

Svaret är enkelt: medan du letar efter den rollen kan du utbilda dig själv för att förstå hur en effektiv testare ”tänker”.

2. Utbilda dig själv

Läs, diskutera, brainstorma, ställ frågor! 

Jag förklarar senare i den här artikeln hur du kan göra det.

3. Skapa ett nätverk

Workshops och konferenser är utmärkta platser för att hitta experter inom testning. Här kan du diskutera dina viktigaste idéer och farhågor, och jag är säker på att du har turen att hitta någon där som kan hjälpa dig.

4. Hitta en mentor

Som jag nämnde tidigare hade jag turen att hitta min mentor, som fick mig att älska testning. Det är mycket värdefullt att hitta en mentor som brinner för testning och som coachar dig.

5. Var öppen och lyssna på omdömen från dina testare inom automatisering

Det kommer att uppstå tillfällen då testare som kör din automatiseringskod stöter på problem och delar med sig av sina synpunkter. Lyssna på dem med en positiv avsikt och agera utifrån förslagen om du tycker att de är riktiga.

Dina testarkollegor kommer att öppna nya perspektiv på hur du tänker och så småningom hjälpa dig att förbättra sättet du skriver kod för automatiserad testning.

Hur kan du utbilda dig själv inom testning?

Läs bloggar och forskningsartiklar

Läs mycket om testning och omsätt det du lär dig i praktiken. Vi har turen att leva i en tid då all information finns på internet.

Du kan läsa bloggar och även forskningsartiklar för att hitta bra innehåll att lära dig av. Och du kan också bidra med det du har lärt dig!

Delta i seminarier och workshops och skaffa certifieringar

Du kan delta i seminarier, workshops och konferenser som förklarar testområdet. Det här är utmärkta platser för att lära sig, dela kunskap och brainstorma kring dina idéer. Du får också träffa människor som brinner för testning.

Dessutom kan du ge dig ut på vägen mot testcertifieringar som ISTQB, CSTM med flera. På så sätt lär du dig testmetoder, verktyg, tips och tekniker för att förstå allt om testvärlden.

Sammanfattning

Ett testartänk och kunskap om testmetoder, verktyg, tips och tekniker är nödvändiga för att lyckas som utvecklare inom automatiserad testning. Det är verkligen en fördel för alla utvecklare att förstå varför, när och hur man testar.

När ett utvecklingsteam testar sin kod effektivt innan den lämnas över för testning av QA-teamet kommer teamdynamiken att förbättras avsevärt. 

Den här förändringen kommer att gynna alla. Utvecklarna kan lansera kod av hög kvalitet och testarna kan fokusera på att hitta kritiska fel som utvecklarna kan åtgärda senare.

Resultatet blir en högkvalitativ produkt som levereras till kunden.

Allt detta är möjligt genom att lära sig mer om testning, även om du är utvecklare. Om du inte har börjat ännu behöver du inte oroa dig – det är aldrig för sent att lära sig!  Börja med att ta en titt på vårt podcastbibliotek! Här är ett avsnitt vi har valt ut åt dig: GENERERINGEN AV AUTONOM AUTONOMISERING OCH HUR DEN SER UT (MED BERTOLD KOLICS FRÅN MABL)

Relaterad läsning: BÄSTA METODERNA FÖR AUTOMATISERING VID DIGITAL TRANSFORMATION