Hvis du er utvikler innen testautomatisering eller vurderer det som en karriere, har du noen gang lurt på om testingferdigheter er avgjørende for jobben din? Denne artikkelen vil hjelpe deg med å finne svaret.
Her er hvordan det å lære seg et «testtankesett» hjalp meg med å bli en bedre utvikler innen automatisering.
Min historie: Å jobbe parallelt som utvikler innen automatisering og tester
Min første jobb etter universitetet var som testspesialist hos IBM. Jeg var begeistret, hovedsakelig fordi jeg hadde fått jobb i drømmeselskapet mitt. Likevel følte jeg innerst inne at noe manglet. Jeg innså snart at det var fordi lidenskapen min alltid hadde vært kodeutvikling i løpet av studieårene.
For å forfølge målet mitt som programmerer snakket jeg derfor med prosjektlederen min i løpet av de første arbeidsdagene for å bli involvert i utvikling av testautomatisering. Til min store glede sa han seg villig til det! Han la imidlertid til at jeg fortsatt burde vurdere å utføre rollen som testspesialist parallelt.
Ordningen var slik: Jeg jobbet som testspesialist for ett sett med komponenter og som utvikler innen automatisering for en annen viktig produktkomponent.
Noen dager senere gjorde jeg en oppsiktsvekkende oppdagelse!
Jeg oppdaget at det å være tester hadde hjulpet meg med å forbedre utviklingsferdighetene mine. Mens jeg utviklet kode, begynte jeg å tenke som en tester. Jeg begynte å tenke på testdekning, flere testbaner, brukervennlighet, lesbarhet og mer!
Min første erfarne testmentor
I løpet av disse første dagene fikk jeg også muligheten til å samarbeide med en testekspert om en teknisk artikkel om tilgjengelighetstesting, som skulle sendes inn til en internasjonal teknologikonferanse.
Mens vi utarbeidet artikkelen, basert på erfaringene og lærdommene våre om temaet, fant jeg min første testmentor.
Siden jeg var ny innen testing, hadde jeg mange spørsmål. Mentorkollegaen min hjalp meg med spørsmålene ved å veilede meg på best mulig måte. Han var lidenskapelig opptatt av testing! Denne kjærligheten til testing smittet, og jeg ble også revet med!
Nettverking med testentusiaster
Gjett hva som skjedde etterpå – vi deltok på teknologikonferansen der artikkelen vår ble valgt ut!
Under teknologikonferansen møtte vi et lidenskapelig fellesskap av testentusiaster som mentoren min. Jeg var imponert over hvor høyt folk verdsatte testing, og hvordan de planla å utvikle karrierene sine. Vi møtte mennesker, utvekslet notater og lærte tips og triks om testing!
Have an account? Log In
En oppsummering
Skjebnen førte meg til testing i min første jobb, selv om utvikling av automatisering var min opprinnelige lidenskap.
Gradvis oppdaget jeg hvordan testing hadde hjulpet meg med å bli en bedre utvikler! Etter hvert la jeg merke til hvordan «testtankesettet» gjorde det mulig for meg å utvikle testskript for automatisering av høy kvalitet.
Jeg var heldig som fikk muligheten til å lære dette perspektivet ved å jobbe samtidig som tester og utvikler innen testautomatisering.
Test koden din: Utmerk deg som utvikler
Gjennom erfaringen med å jobbe samtidig som tester og utvikler innen automatisering oppdaget jeg at en utvikler som forbedrer testferdighetene sine, etter hvert lærer å utvikle «bedre» kode.
Tross alt er det billigere jo tidligere feilene oppdages i koden. Så hvis du som utvikler kan se feilen før du overlater koden til testteamet, sparer du arbeid.
Når du begynner å tenke som en ideell tester, prioriterer du også produktets bruk i virksomheten, noe som er svært viktig. Du begynner å tenke «utenfor boksen».
For eksempel:
Før utviklere overleverer koden sin til QA-teamet, bør de utføre godt planlagt enhetstesting. På den måten unngår man at unødvendige feil sniker seg inn i systemet på integrasjons- eller systemnivå.
Under enhetstesting tester utviklere individuelle enheter av kildekoden for å se om de følger kravene og koden fungerer som tiltenkt.
I tillegg kan en utvikler involvere seg i integrasjonstesting.
Integrasjonstesting er en form for testing der utviklere tester relaterte systemer eller kodeenheter for å sikre at ulike deler av rammeverket fungerer godt når de integreres.
Hva kan være årsakene til at utviklere ofte overser testferdigheter?
Årsakene kan være følgende:
1. En tidligere oppfatning om at testing bare skal utføres av testere
De kan tro at programvaretesting ikke har så mye med dem å gjøre, eller at de ikke har så mye med programvaretesting å gjøre.
2. De antar at fokuset deres bare bør være på å forbedre rammeverket
Utviklere som bare fokuserer på å forbedre rammeverket og dokumentasjonen, i stedet for å oppdage feil i programvaren, får vanligvis en ubehagelig overraskelse senere.
Hvis en «tilsynelatende» feil ikke oppdages av utvikleren, innebærer det at testeren må bruke tid på å omarbeide koden for å rette feilen når den oppdages. Dette er ikke et ønskelig scenario.
Og som du vet – en utvikler er mest kjent med kode de selv har bygget. Ville det derfor ikke vært best om de oppdaget den først, så tidlig som mulig? I tillegg vil testerne da kunne bruke tid og krefter på å arbeide med feil med høyere prioritet og kritiske feil.
3. En vane med å utsette løsningen av problemet når det først blir oppdaget
Utviklere kan anta at det er mer effektivt å feilsøke senere. Men i virkeligheten blir feilsøkingen enklere når en utvikler oppdager feilen tidlig.
Feilsøkingen etter en feil, samt linjenummeret som forårsaket feilen, vil vises i det mislykkede scenariet når utvikleren oppdager den for første gang.
Hvis feilen derimot blir «skjøvet» til senere, vil det innebære gjennomgang av feilen, grundig feilsøking og tid til omarbeiding.
Fem tips for å utvikle en testtankegang som utvikler innen automatiseringstesting
1. Meld deg frivillig til en testrolle
Det kan være en god idé å melde seg frivillig til en testrolle for å få praktisk erfaring. På denne måten kan utviklere videreutvikle testferdighetene sine.
Og hva kan du gjøre for å få en testrolle?
Svaret er enkelt: Mens du leter etter en slik rolle, kan du lære på egen hånd for å forstå hvordan en effektiv tester «tenker».
2. Lær på egen hånd
Les, diskuter, utfør idémyldring, still spørsmål!
Jeg skal forklare hvordan du kan gjøre dette senere i denne artikkelen.
3. Bygg nettverk
Verksteder og konferanser er gode steder å finne eksperter innen testing. Her kan du diskutere de viktigste ideene og bekymringene dine, og jeg er sikker på at du er heldig nok til å finne noen der som kan hjelpe deg.
4. Finn en mentor
Som jeg nevnte tidligere, var jeg så heldig å finne mentoren min, som fikk meg til å bli glad i testing. Det er svært verdifullt å finne en mentor som brenner for testing, og noen som veileder deg.
5. Vær åpen og lytt til tilbakemeldinger fra testerne dine innen automatisering
Det vil komme tidspunkter der testere som kjører automatiseringskoden din, møter problemer og deler bekymringene sine. Lytt til dem med et positivt utgangspunkt, og følg forslagene deres hvis du mener de er riktige.
Testerne du samarbeider med, vil åpne nye perspektiver på måten du tenker på, og til slutt hjelpe deg med å forbedre måten du skriver kode for automatiseringstesting på.
Hvordan kan du lære mer om testing på egen hånd?
More Articles
Les blogger og forskningsartikler
Les mye om testing, og praktiser det du lærer. Vi er heldige som lever i en tid der all informasjon finnes på internett.
Dermed kan du lese blogger og til og med forskningsartikler for å finne godt innhold å lære av. Og du kan også bidra med det du har lært!
Delta på seminarer og verksteder, og ta sertifiseringer
Du kan delta på seminarer, verksteder og konferanser som forklarer testområdet. Dette er gode steder å lære, dele kunnskap og utføre idémyldring rundt ideene dine. Du får også møte mennesker som brenner for testing.
I tillegg kan du satse på å ta testsertifiseringer som ISTQB, CSTM og flere. På den måten lærer du testmetoder, verktøy, tips og teknikker, slik at du forstår hele testverdenen.
Avslutning
En testers tankegang og kunnskap om testmetoder, verktøy, tips og teknikker er nødvendig for å lykkes som utvikler innen automatiseringstesting. Det er en klar fordel for alle utviklere å forstå hvorfor, når og hvordan man skal teste.
Når et utviklingsteam tester koden sin effektivt før den sendes videre til testing hos QA-teamet, vil det føre til en betydelig forbedring av dynamikken i teamet.
Denne endringen vil være til fordel for alle. Utviklerne kan levere kode av høy kvalitet, mens testerne kan konsentrere seg om å finne kritiske feil som utviklerne kan rette senere.
Resultatet er et produkt av høy kvalitet som leveres til kunden.
Alt dette er mulig ved å lære mer om testing, selv om du er utvikler. Hvis du ikke har begynt ennå, trenger du ikke bekymre deg – det er aldri for sent å lære! Begynn med å ta en titt på podkastbiblioteket vårt! Her er én vi har valgt ut til deg: GENERERINGEN AV AUTONOM AUTOMATISERING OG HVORDAN DET SER UT (MED BERTOLD KOLICS FRA MABL)
Relatert lesning: GODE FREMGANGSMÅTER FOR AUTOMATISERING I DIGITAL TRANSFORMASJON


