Skip to content

Blog

Van tester tot Quality Engineer

  • Home
  • Blog
  • Van tester tot Quality Engineer

De rol van tester binnen een team heeft de afgelopen 10 jaar de grootste transitie ondergaan in vergelijking met andere teamrollen zoals een developer of een scrum master.

  • Van alleen verantwoordelijk zijn voor de kwaliteit van de applicatie naar quality coach van het team.
  • Van handmatig testen middels Excel sheets naar het schrijven van geautomatiseerde  testen.
  • Van het testen van een monoliet naar het testen van een gedistribueerd systeem in de cloud.  
  • Van nachtelijk test runs tot continue test runs de gehele dag door. 
  • Van defects loggen naar het ontwikkelen van testing frameworks
  • Van voorkomen dat er product met fouten naar productie gaat naar bijdragen dat een kwalitatief goed product zo snel mogelijk in productie genomen kan worden.

Hierdoor is de rol van een tester wezenlijk veranderd. Niet alleen zijn/haar kennis en kunde is van een ander niveau, maar vooral de rol ansich heeft een hele nieuwe invulling gekregen. In deze blog neem ik je mee hoe een tester zich de afgelopen jaren heeft moeten transformeren naar een Quality Engineer.

“De slager die zijn eigen vlees keurt”

Gestructureerd testen heeft vorm gekregen door testmethoden als TMap en het Test-Framework. De basis van deze methoden bestaat uit het definiëren van testgevallen middels testontwerptechnieken, zoals grenswaarden- en datacombinatie-analyse. De gewenste dekkingsgraad werd bepaald door dekkingsgraad technieken zoals decision coverage en condition coverage.

Zo’n 10 jaar geleden vond men het het erg belangrijk dat testers onafhankelijk werkten van de ontwikkelaars. Er werd gesteld dat ontwikkelaars de testers zouden kunnen beïnvloeden en daardoor de testen gaan schrijven naar hoe de ontwikkelaars het hadden gebouwd i.p.v hetgeen wat in de specificaties stond beschreven. Testers mochten geen aanpassingen aan code doen en ontwikkelaars mochten niet met testen bemoeien. 

Hierdoor waren er speciale testafdelingen ver weg van de ontwikkelaars. Of bureau-eilanden specifiek voor testers en ontwikkelaars. Dit vond voornamelijk plaats binnen Waterval- projecten waar het Agile-werken nog onbekend was. Dit alles om te onder het mom van: "de slager die zijn eigen vlees keurt"

Wil jij ook als Quality Engineer werken? Bekijk dan onze vacatures 

Computer niet aanraken: "test in uitvoering"

Veelal werden de testgevallen vastgelegd in excel sheets. In deze sheets stonden veel herhalende handelingen beschreven, zoals: Log in op site, klik op button, controleer tekst etc. Deze herhalende handelingen lenen zich uitstekend om te automatiseren. Logisch dus ook dat de eerste geautomatiseerde testen gebaseerd waren op het automatiseren van deze Excelsheets. 

Deze geautomatiseerde testen werkten op basis van gesimuleerde gebruikers interacties. Werd tijdens de uitvoer van zo'n test de muis per ongeluk aangeraakt, dan raakte het testscript meermaals de positie op het beeldscherm kwijt waardoor de test faalde. Meerdere beeldschermen hadden een A4'tje: "niet aanraken test in uitvoering".

Het automatiseren van deze  Excelsheets vormden de basis van de eerste geautomatiseerde testframeworks zoals Fitnesse. Tien jaar geleden was dit binnen Trivento de tool om testen mee te automatiseren. Echter testen geschreven in Fitnesse zijn lastig onderhoudbaar, het sluit niet aan bij het testen van gedistribueerde systemen, beperkte debug mogelijkheden etc.

Tegenwoordig  kiest Trivento Cypress.io als preferred testframework. Juist omdat Cypress.io wel aan deze voorwaarden voldoet. 

What's in a name

“Tester” is geen juiste benaming meer voor hetgeen een tester tegenwoordig als taken uitvoert. Daarom spreken wij binnen Trivento van Quality Engineers. Het belangrijkste verschil is dat Quality Engineer veel meer doet dan enkel testen bedenken en het al dan niet geautomatiseerd uitvoeren. 

Een taak van de Quality Engineer is het opstellen van een teststrategie. Hierin staat beschreven wat en hoe er getest gaat worden. Dit wordt uiteraard opgesteld in nauwe samenwerking met het gehele team. Testen is naar onze mening een team verantwoordelijkheid en dient ervoor te zorgen dat het team vertrouwen heeft in de kwaliteit van het product.

Geautomatiseerd testen vragen om programmeer skills. Automatiseren is programmeren! Als de testen slecht geprogrammeerd worden, heeft dit grote invloed op de onderhoudbaarheid, het doen of uitbreiden van aanpassingen op de testen. Het resultaat hiervan zijn flaky testen (testen die willekeurig falen of slagen), testen welke false-positives afgeven (test slaagt, maar moet eigenlijk falen) of testen met een ‘te’ lange doorlooptijd. Dit met alle gevolgen van dien, zoals bijvoorbeeld het uitzetten van testen.

Waar het team voorheen uit meerdere testers bestond om testen te schrijven en uit te voeren is dit nu verschoven naar een team verantwoordelijk onder begeleiding van een Quality Engineer. De testen worden geautomatiseerd gerund in de CI/CD pipeline en het programmeren van de testen kan tegenwoordig ook gedaan worden door de ontwikkelaars. De Quality Engineer coacht het team in het gebruik van het testframework én de controles welke uitgevoerd moeten gaan worden. 

Hierbij bewaakt de Quality Engineer dat het juiste wordt getest op het juiste niveau zoals vastgelegd in de teststrategie.

Quality Engineer is de klusjesman van het team

Ondanks dat de rol van Quality Engineer wezenlijk verschilt met die van een traditionele  tester zijn er ook nog overeenkomsten. Want kennis van testontwerptechnieken en dekkingsgraadtechnieken zijn uiteraard nog steeds relevant voor Quality Engineers. 

Waar in het verleden geruime tijd was om testgevallen te definiëren gebeurt dit nu gelijktijdig met het opstellen van de geautomatiseerde testscripts. Door deze kennis paraat te hebben kunnen de testscript vanaf het begin af aan gestructureerd worden opgezet. 

Een andere overeenkomst, en nog niet eerder genoemde taak van een Quality Engineer, is het uitvoeren van Exploratory testen. Dit is het gelijktijdig leren, ontdekken en testen van de applicatie. Middels deze methodiek verkrijgt de Quality Engineer veel domeinkennis over de applicatie en hierdoor fungeert hij/zij vaak als vraagbaak voor het team.

Kortom, de Quality Engineer is onmisbaar binnen het team

In vergelijking met 10 jaar geleden is de huidige rol van Quality Engineer dus veel meer verweven binnen het team. Je moet kunnen optreden als zowel een traditionele tester als een ontwikkelaar. De Quality Engineer kan meehelpen bij het ontwikkelen van de applicatie, en het team helpt met de testen.

In elk traject zijn Quality Engineers vanaf dag één betrokken om de kwaliteit van de producten te waarborgen. Quality Engineering staat voor samen verantwoordelijkheid nemen voor de kwaliteit van het it-product.

Lijkt het jou ook leuk om de rol van Quality Engineer te vervullen en ons team te komen versterken? Bekijk dan onze vacature: https://www.trivento.nl/werken-bij/quality-engineer