Als je ontwikkelaar van testautomatisering bent of een carrière daarin overweegt, heb je je dan ooit afgevraagd of testvaardigheden essentieel zijn voor je werk? Dit artikel helpt je die vraag te beantwoorden.
Dit is hoe het leren van een “testersmentaliteit” mij hielp een betere ontwikkelaar van testautomatisering te worden.
Mijn verhaal: tegelijkertijd werken als ontwikkelaar van testautomatisering en tester
Mijn eerste baan na de universiteit was als testspecialist bij IBM. Ik was enthousiast, voornamelijk omdat ik bij mijn droombedrijf was gaan werken. Toch voelde ik diep vanbinnen dat er iets ontbrak. Al snel realiseerde ik me dat dit kwam doordat mijn passie tijdens mijn studiejaren altijd bij codeontwikkeling had gelegen.
Om mijn doel als programmeur na te streven, sprak ik daarom tijdens mijn eerste werkdagen met mijn projectleider om betrokken te raken bij de ontwikkeling van testautomatisering. Tot mijn vreugde stemde hij daar meteen mee in! Hij voegde er echter aan toe dat ik mijn rol als testspecialist daarnaast moest blijven vervullen.
De afspraak was als volgt: ik werkte als testspecialist voor één reeks componenten en als ontwikkelaar van testautomatisering voor een andere belangrijke productcomponent.
Een paar dagen later deed ik een verrassende ontdekking!
Ik ontdekte dat het feit dat ik tester was, mijn ontwikkelvaardigheden had verbeterd. Terwijl ik code ontwikkelde, begon ik als een tester te denken. Ik begon na te denken over testdekking, meerdere testpaden, bruikbaarheidsaspecten, leesbaarheidsaspecten en meer!
Mijn eerste deskundige testmentor
Ook kreeg ik in deze beginperiode de kans om samen te werken met een testexpert aan een technisch artikel over toegankelijkheidstesten, dat zou worden ingediend bij een internationale technologieconferentie.
Terwijl we ons artikel samenstelden op basis van onze ervaring met en lessen over het onderwerp, vond ik mijn eerste testmentor.
Omdat ik nieuw was in het testvak, had ik veel vragen. Mijn collega en mentor hielp me met mijn vragen door me zo goed mogelijk te begeleiden. Hij had een passie voor testen! Die liefde voor testen werkte aanstekelijk, en ik raakte er ook door aangestoken!
Netwerken met testliefhebbers
Raad eens wat er daarna gebeurde—we woonden de technologieconferentie bij waar ons artikel was geselecteerd!
Tijdens de technologieconferentie ontmoetten we een gepassioneerde gemeenschap van testliefhebbers zoals mijn mentor. Ik was onder de indruk van de manier waarop mensen testen respecteerden en van hoe zij van plan waren om in hun carrière te groeien. We ontmoetten mensen, wisselden aantekeningen uit en leerden tips en trucs over testen!
Een samenvatting
Het lot bracht me in mijn eerste baan bij het testen, hoewel ontwikkeling van testautomatisering mijn oorspronkelijke passie was.
Gaandeweg ontdekte ik hoe testen me had geholpen een betere ontwikkelaar te worden! Uiteindelijk merkte ik hoe de "testmentaliteit” me in staat stelde hoogwaardige testscripts voor testautomatisering te ontwikkelen.
Ik had geluk dat ik de kans kreeg dit perspectief te leren door tegelijkertijd als tester en ontwikkelaar van testautomatisering te werken.
Test je code: blink uit als ontwikkelaar
Tijdens mijn ervaring met het tegelijkertijd werken als tester en ontwikkelaar van testautomatisering ontdekte ik dat een ontwikkelaar die zijn testvaardigheden verbetert, uiteindelijk leert om "betere" code te ontwikkelen.
Hoe eerder bugs in de code immers worden gevonden, hoe goedkoper dat is. Dus als je als ontwikkelaar die bug kunt zien voordat je de code aan het testteam overdraagt, bespaart dat je inspanning.
Wanneer je bovendien als een ideale tester gaat denken, geef je prioriteit aan het perspectief van het zakelijke gebruik van het product, wat erg belangrijk is. Je gaat "buiten de gebaande paden" denken.
Bijvoorbeeld:
Voordat ontwikkelaars hun code aan het QA-team overdragen, moeten ze goed geplande unittests uitvoeren. Daarmee voorkomen ze dat onnodige defecten het systeem binnendringen op integratie- of systeemniveau.
Tijdens unittests testen ontwikkelaars afzonderlijke eenheden van de broncode om te zien of deze aan de vereisten voldoen en de code werkt zoals bedoeld.
Daarnaast kan een ontwikkelaar betrokken raken bij integratietesten.
Integratietesten zijn een testvorm waarbij ontwikkelaars gerelateerde systemen of code-eenheden testen om te controleren of verschillende aspecten van het raamwerk goed werken wanneer ze worden geïntegreerd.
Wat kunnen redenen zijn waarom ontwikkelaars testvaardigheden vaak over het hoofd zien?
De redenen kunnen de volgende zijn:
1. De eerdere overtuiging dat testen alleen door testers moet worden uitgevoerd
Ze denken misschien dat softwaretesten weinig met hen te maken hebben of dat zij weinig met softwaretesten te maken hebben.
2. Ze nemen aan dat hun focus alleen op het verfijnen van het raamwerk moet liggen
Ontwikkelaars die zich alleen richten op het verfijnen van het raamwerk en de documentatie, in plaats van op het ontdekken van bugs in de software, krijgen later meestal een onaangename verrassing.
Als een „schijnbaar” defect door de ontwikkelaar wordt gemist en een tester het ontdekt, kost het tijd om de code opnieuw te bewerken om het defect te verhelpen. Dit is geen voorkeurscenario.
En zoals je weet: een ontwikkelaar is het meest vertrouwd met code die hij of zij zelf heeft gebouwd. Zou het daarom niet het beste zijn als de ontwikkelaar het defect zelf zo vroeg mogelijk ontdekte? Bovendien kunnen testers dan hun tijd en moeite besteden aan fouten met een hogere prioriteit en kritieke fouten.
3. De gewoonte om het oplossen van het probleem uit te stellen wanneer het voor het eerst wordt gezien
Ontwikkelaars nemen misschien aan dat later debuggen efficiënter is. In werkelijkheid is debuggen echter eenvoudiger wanneer een ontwikkelaar het defect eerder ontdekt.
De foutopsporing en het regelnummer dat de bug heeft veroorzaakt, worden in het mislukte scenario weergegeven wanneer de ontwikkelaar het probleem voor het eerst opmerkt.
Als het defect daarentegen wordt „doorgeschoven” naar een later moment, zijn defectbeoordelingen, grondige foutopsporing en tijd voor herontwikkeling nodig.
Vijf tips om als ontwikkelaar van geautomatiseerde tests een testmentaliteit te ontwikkelen
1. Meld je vrijwillig aan voor een testrol
Het zou een goed idee zijn om jezelf vrijwillig aan te melden voor een testrol om praktijkervaring op te doen. Zo kunnen ontwikkelaars hun testvaardigheden aanscherpen.
En wat kun je doen om een testrol te krijgen?
Het antwoord is eenvoudig: terwijl je naar zo’n rol zoekt, kun je jezelf bijscholen om te begrijpen hoe een efficiënte tester „denkt”.
2. Leid jezelf op
Lees, bespreek, brainstorm en stel vragen!
Ik leg later in dit artikel uit hoe je dat kunt doen.
3. Bouw een netwerk op
Workshops en conferenties zijn uitstekende plaatsen om experts op het gebied van testen te vinden. Hier kun je je belangrijkste ideeën en zorgen bespreken, en ik weet zeker dat je het geluk zult hebben iemand te vinden die je kan helpen.
4. Zoek een mentor
Zoals ik eerder al zei, had ik het geluk mijn mentor te vinden, die ervoor zorgde dat ik van testen ging houden. Het is zeer waardevol om een mentor te vinden die gepassioneerd is over testen en je begeleidt.
5. Sta open voor feedback en luister naar beoordelingen van je testers van geautomatiseerde tests
Er zullen momenten komen waarop testers die je code voor geautomatiseerde tests uitvoeren problemen ondervinden en hun zorgen delen. Luister met een positieve intentie naar hen en handel naar de suggesties als je vindt dat ze terecht zijn.
Je collega-testers openen nieuwe mogelijkheden in de manier waarop je denkt en helpen je uiteindelijk de manier te verbeteren waarop je code voor geautomatiseerde tests schrijft.
Hoe kun je jezelf bijscholen over testen?
Lees blogs en onderzoeksartikelen
Lees veel over testen en breng in de praktijk wat je leert. We hebben het geluk dat we in een tijdperk leven waarin we alle informatie op internet kunnen vinden.
Je kunt blogs en zelfs onderzoeksartikelen lezen om waardevolle inhoud te vinden waar je van kunt leren. En je kunt je opgedane kennis ook delen!
Woon seminars en workshops bij en behaal certificeringen
Je kunt seminars, workshops en conferenties bijwonen die uitleg geven over het testdomein. Dit zijn uitstekende plaatsen om te leren, kennis te delen en over je ideeën te brainstormen. Je ontmoet er ook mensen die gepassioneerd zijn over testen.
Daarnaast kun je ervoor kiezen om testcertificeringen te behalen, zoals ISTQB, CSTM en meer. Zo leer je testmethodologieën, hulpmiddelen, tips en technieken om alles over de testwereld te begrijpen.
Samenvatting
Een testmentaliteit en kennis van testmethodologieën, hulpmiddelen, tips en technieken zijn noodzakelijk om uit te blinken als ontwikkelaar van geautomatiseerde tests. Het is inderdaad voordelig voor elke ontwikkelaar om te begrijpen waarom, wanneer en hoe er getest moet worden.
Wanneer een ontwikkelingsteam zijn code efficiënt test voordat deze wordt overgedragen aan het QA-team om te testen, zal de dynamiek binnen het team aanzienlijk verbeteren.
Deze verandering komt iedereen ten goede. Ontwikkelaars kunnen code van hoge kwaliteit opleveren en testers kunnen zich richten op het vinden van kritieke fouten die de ontwikkelaars later kunnen oplossen.
Het resultaat is een product van hoge kwaliteit dat aan de klant wordt geleverd.
Dit alles is mogelijk door meer over testen te leren, zelfs als je ontwikkelaar bent. Als je nog niet bent begonnen, maak je dan geen zorgen: het is nooit te laat om te leren! Begin door onze podcastbibliotheek te bekijken! Hier is er een die we voor je hebben uitgekozen: DE GENERATIE VAN AUTONOME AUTOMATISERING EN HOE DIE ERUITZIET (MET BERTOLD KOLICS VAN MABL)
Gerelateerd artikel: BEST PRACTICES VOOR AUTOMATISERING IN DIGITALE TRANSFORMATIE
