Sådan gjorde testfærdigheder mig til en bedre automatiseringsudvikler

Discover how to deliver better software and systems in rapidly scaling environments. Join our Community

Hvis du arbejder som udvikler inden for testautomatisering eller overvejer det som karriere, har du så nogensinde spekuleret på, om testfærdigheder er afgørende for dit arbejde?

Hvis du er udvikler af testautomatisering eller overvejer at gøre det til en karriere, har du så nogensinde spekuleret på, om testfærdigheder er afgørende for dit arbejde? Denne artikel vil hjælpe dig med at besvare det spørgsmål.

Sådan hjalp det mig med at blive en bedre udvikler af automatisering at lære en „testers tankegang“.

Min historie: At arbejde parallelt som udvikler af automatisering og tester

Mit første job efter universitetet var som testspecialist hos IBM. Jeg var begejstret, primært fordi jeg var kommet med i min drømmevirksomhed. Men et sted dybt inde i mig følte jeg, at der manglede noget. Jeg indså snart, at det skyldtes, at min passion altid havde været kodeudvikling i mine studieår.

For at forfølge mit mål som programmør talte jeg derfor med min projektleder i mine første dage på jobbet for at blive involveret i udvikling af testautomatisering. Til min store glæde sagde han straks ja! Han tilføjede dog, at jeg stadig burde overveje at udføre min rolle som testspecialist parallelt.

Aftalen var, at jeg arbejdede som testspecialist for ét sæt komponenter og som udvikler af automatisering for en anden væsentlig produktkomponent.

Et par dage senere gjorde jeg en opsigtsvækkende opdagelse!

Jeg opdagede, at det at være tester havde hjulpet mig med at forbedre mine udviklingsfærdigheder. Mens jeg udviklede kode, begyndte jeg at tænke som en tester. Jeg begyndte at tænke på testdækning, flere testforløb, aspekter af brugervenlighed, aspekter af læsbarhed og meget mere!

Min første erfarne testmentor

Også i disse første dage fik jeg mulighed for at arbejde sammen med en testekspert på en teknisk artikel om tilgængelighedstest, som skulle indsendes til en international teknologikonference.  

Mens vi udarbejdede vores artikel baseret på vores erfaringer og det, vi havde lært om emnet, fandt jeg min første testmentor.

Da jeg var ny inden for testområdet, havde jeg mange spørgsmål. Min mentorkollega hjalp mig med mine spørgsmål ved at vejlede mig på den bedst mulige måde. Han brændte for testområdet! Den kærlighed til test var smitsom, og jeg blev også grebet af den!

Netværk med testentusiaster

Gæt, hvad der skete derefter – vi deltog i den teknologikonference, hvor vores artikel var blevet udvalgt!

Under teknologikonferencen mødte vi et passioneret fællesskab af testentusiaster ligesom min mentor. Jeg var imponeret over, hvor meget folk respekterede test, og hvordan de planlagde at udvikle deres karrierer. Vi mødte mennesker, udvekslede erfaringer og lærte tips og tricks om test!

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

Have an account? Log In

Opsummering

Skæbnen førte mig til test i mit første job, selvom udvikling af automatisering oprindeligt var min passion.

Efterhånden opdagede jeg, hvordan test havde hjulpet mig med at blive en bedre udvikler! Til sidst bemærkede jeg, hvordan „testtankegangen“ gjorde det muligt for mig at udvikle automatiserede testscripts af høj kvalitet.

Jeg var heldig at få mulighed for at lære dette perspektiv ved samtidig at arbejde som tester og udvikler af testautomatisering.

Test din kode: Bliv en fremragende udvikler

Under min erfaring med samtidig at arbejde som tester og udvikler af automatisering opdagede jeg, at en udvikler, der forbedrer sine testfærdigheder, med tiden lærer at udvikle „bedre“ kode.

Når alt kommer til alt, er det billigere, jo tidligere fejlene opdages i koden. Så hvis du som udvikler kan se fejlen, før du overdrager koden til testteamet, sparer det dig for en indsats.

Når du også begynder at tænke som en ideel tester, prioriterer du produktets forretningsmæssige anvendelse, hvilket er meget vigtigt. Du begynder at tænke „ud af boksen“.

For eksempel:

Før udviklerne overdrager deres kode til QA-teamet, bør de udføre velplanlagte enhedstests. På den måde undgår man, at unødvendige fejl sniger sig ind i systemet på integrations- eller systemniveau. 

Under enhedstest tester udviklerne individuelle enheder af kildekoden for at se, om de følger kravene, og om koden fungerer som tilsigtet.

Derudover kan en udvikler involvere sig i integrationstest.

Integrationstest er en form for test, hvor udviklere tester relaterede systemer eller kodeenheder for at sikre, at forskellige dele af strukturen fungerer godt, når de integreres.

Hvad kan være årsagerne til, at udviklere ofte overser testfærdigheder?

 Årsagerne kan være en eller flere af følgende:

1. En forudgående opfattelse af, at test kun skal udføres af testere

De tror måske, at softwaretest ikke har meget med dem at gøre, eller at de ikke har meget med softwaretest at gøre.

2. De antager, at deres fokus kun bør være på at forbedre strukturen

De udviklere, der kun fokuserer på at forbedre strukturen og dokumentationen i stedet for at opdage fejl i softwaren, får som regel en ubehagelig overraskelse senere.

Hvis en “tilsyneladende” fejl overses af udvikleren, indebærer det, at testeren skal bruge tid på at omarbejde koden for at rette fejlen, når den opdages. Dette er ikke et ønskværdigt scenarie.

Og som du ved – en udvikler er mest fortrolig med kode, som vedkommende selv har bygget. Derfor ville det ikke være bedst, hvis udvikleren fandt fejlen først og tidligt? Desuden vil testerne som følge heraf kunne bruge tid og kræfter på fejl med højere prioritet og mere kritiske fejl.

3. En vane med at udskyde løsningen af problemet, når det først opdages

Udviklere antager måske, at det er mere effektivt at fejlfinde senere. Men faktisk bliver fejlfindingen lettere, når en udvikler finder fejlen tidligt.

Fejlens årsag og det linjenummer, der forårsagede fejlen, fremgår af det mislykkede scenarie, når udvikleren opdager den med det samme.

Hvis fejlen derimod bliver "skubbet" til senere, vil det medføre fejlgennemgange, dybdegående fejlfinding og tid til omarbejdning.

Fem tips til at udvikle testtankegangen som udvikler inden for automatiseret test

1. Meld dig frivilligt til en testrolle

Det ville være en god idé at melde dig frivilligt til en testrolle for at få praktisk erfaring. På den måde kan udviklere forbedre deres testfærdigheder.

Og hvad kan du gøre for at komme ind i en testrolle?

Svaret er enkelt: Mens du leder efter den rolle, kan du uddanne dig selv, så du forstår, hvordan en effektiv tester "tænker".

2. Uddan dig selv

Læs, diskutér, brainstorm, og stil spørgsmål! 

Jeg forklarer senere i denne artikel, hvordan du kan gøre det.

3. Skab et netværk

Workshops og konferencer er gode steder at finde eksperter inden for testområdet. Her kan du diskutere dine vigtigste idéer og bekymringer, og jeg er sikker på, at du er heldig nok til at finde nogen der, som kan hjælpe dig.

4. Find en mentor

Som jeg nævnte tidligere, var jeg så heldig at finde min mentor, som fik mig til at elske test. Det er meget værdifuldt at finde en mentor, der brænder for test, og som kan vejlede dig.

5. Vær åben og lyt til tilbagemeldinger fra dine automatiseringstestere

Der vil komme tidspunkter, hvor testere, der kører din automatiseringskode, kan støde på problemer og dele deres bekymringer. Lyt til dem med en positiv hensigt, og følg forslagene, hvis du mener, at de er rigtige.

Dine testkolleger vil åbne nye perspektiver for din måde at tænke på og i sidste ende hjælpe dig med at forbedre den måde, du skriver kode til automatiseret test på.

Hvordan kan du uddanne dig selv om test?

More Articles

Læs blogs og forskningsartikler

Læs en masse om test, og øv dig i det, du lærer. Vi er heldige at leve i en tid, hvor vi har alle oplysningerne på internettet.

På den måde kan du læse blogs og endda forskningsartikler for at finde godt indhold, du kan lære af. Og du kan også bidrage med det, du selv har lært!

Deltag i seminarer og workshops, og opnå certificeringer

Du kan deltage i seminarer, workshops og konferencer, der forklarer testområdet. Det er gode steder at lære, dele viden og brainstorme over dine idéer. Du får også mulighed for at møde mennesker, der brænder for test.

Derudover kan du vælge at tage testcertificeringer som ISTQB, CSTM og flere andre. På den måde lærer du testmetoder, værktøjer, tips og teknikker, så du får en fuld forståelse af testverdenen.

Afslutning

En testers tankegang samt viden om testmetoder, værktøjer, tips og teknikker er nødvendig for at udmærke sig som udvikler inden for automatiseret test. Det er faktisk en fordel for enhver udvikler at forstå hvorfor, hvornår og hvordan man tester.

Når et udviklingsteam tester sin kode effektivt, før den sendes videre til test hos QA-teamet, vil der ske en god forbedring af dynamikken i teamet. 

Denne ændring vil gavne alle. Udviklerne kan udgive kode af høj kvalitet, og testerne kan fokusere på at finde kritiske fejl, som udviklerne kan rette senere.

Resultatet er et produkt af høj kvalitet, der leveres til kunden.

Alt dette er muligt ved at lære mere om test, også selvom du er udvikler. Hvis du ikke er begyndt endnu, skal du ikke bekymre dig – det er aldrig for sent at lære!  Start med at se vores podcastbibliotek! Her er en, vi har udvalgt til dig: GENERERINGEN AF AUTONOM AUTOMATISERING OG HVORDAN DET SER UD (MED BERTOLD KOLICS FRA MABL)

Relateret læsning: BEDSTE PRAKSISSER FOR AUTOMATISERING I DIGITAL TRANSFORMATION

Najwa Riyaz
Najwa Riyaz is an experienced automation developer, business analyst, tester, and project manager. She has worked with clients across multiple sectors including banking, travel/transport, and storage management. She is passionate about traveling around the world and enjoys photography.

You may also like