Testautomatisering

Ik ben nu iets meer dan anderhalf jaar softwaretester. In die periode kan ik het aantal keren dat ik iets handmatig heb moeten testen op één hand tellen. Maar telkens wanneer ik iets google met betrekking tot testen, zie ik keer op keer referenties naar dat mensen nog steeds handmatig testen. Ook van collega’s hoor ik dat ze regelmatig handmatige testen uitvoeren. Dat verbaast me! Voor mij voelt het handmatig testen als tijdsverspilling, en niet op de goede manier zoals bij Netflix kijken. In deze blog leg ik je uit waarom en waaraan je je tijd beter kunt besteden.

De mantra

Bij het nadenken over testen heb ik de volgende mantra aangenomen:

“If it’s worth testing, it’s worth automating.”

Dit komt vanuit de basis van testen. We testen om er zeker van te zijn dat de te testen applicatie is wat het bedrijf wil en dat het een bepaald kwaliteitsniveau heeft. Met andere woorden: testen is een hulpmiddel voor kwaliteitsborging.

Wanneer we kwaliteitsborging doen voor een nieuwe functionaliteit, willen we over het algemeen het volgende waarborgen:

  1. De functie is gebouwd volgens de specificaties (vastgesteld door het bedrijf);
  2. De implementatie en specificaties van de functie zijn logisch;
  3. De functie kan niet worden misbruikt (invoervalidatie, beveiliging, enz.);
  4. Alle andere functies blijven van dezelfde kwaliteit (geen regressie).

Drie van deze punten (nummer 1, 3 en 4) kunnen we op een technische manier effectief borgen met geautomatiseerde tests. De laatste (nummer 2) wordt door jou als mens gedaan tijdens het schrijven van de testen. Het schrijven van geautomatiseerde testen is niet alleen een technische taak; jij bent de laatste verdedigingslinie voor eventuele fouten van anderen.

Poll

Wat heeft jouw voorkeur?

Bekijk resultaten

Handmatig testen is tijdverspilling

Het valt niet te ontkennen dat het uitvoeren van een enkele handmatige test sneller is dan het schrijven en uitvoeren van een geautomatiseerde test. Maar een geautomatiseerde test heeft een belangrijk voordeel ten opzichte van een handmatige test: het kan keer op keer herhaald worden met een verwaarloosbare tijdsinvestering.

Een test die gisteren is uitgevoerd, is vandaag alweer verouderd en zou opnieuw uitgevoerd moeten worden. Een geautomatiseerde test voor de tweede keer uitvoeren, is veel sneller dan wanneer je dit opnieuw handmatig moet doen. Hierdoor kun je een geautomatiseerde test elke dag uitvoeren terwijl dit niet mogelijk is met handmatig testen door tijdsdruk en andere prioriteiten. Dit betekent dat een geautomatiseerde test iedere dag voor kwaliteit zorgt; vandaag en in de toekomst. Een handmatige test daarentegen zorgt alleen vandaag voor kwaliteit.

Wanneer ik een geautomatiseerde test schrijf, doe ik dit niet alleen om problemen van vandaag te voorkomen, maar ook om de fouten van morgen te voorkomen.

Conclusie

Als testers is het onze taak om kwaliteit te waarborgen. Wanneer je handmatig test, waarborg je alleen de kwaliteit van een applicatie zoals deze vandaag is, en niet zoals deze er morgen uitziet. Het is simpelweg niet haalbaar om de hele applicatie dagelijks handmatig te testen. Met geautomatiseerde testen kun je alles, iedere dag opnieuw testen. Hiermee voorkom je toekomstige kwaliteitsproblemen.

Wanneer je als softwaretester niet actief bezig bent met het voorkomen van toekomstige problemen, dan doe je niet het werk waarvoor je bent aangenomen en verspil je dus je tijd.

Wil je ons nieuwste Paarsz magazine per post ontvangen? Laat dan je gegevens achter.

Ontwerp zonder titel (19)

Werken bij Bartosz?

Vincent Verhelst

Geïnteresseerd in Bartosz? Dan ga ik graag met jou in gesprek. We kunnen elkaar ontmoeten met een kop koffie bij ons op kantoor. Of tijdens ontbijt, lunch, borrel of diner op een plek die jou het beste uitkomt. Jij mag het zeggen.

Mijn Paarsz