Test engineering, Testautomatisering

Het is lastig om samen aan een project te werken als je elkaars taal niet spreekt. Toch is dat in feite wat er gebeurt wanneer je als tester geen programmeertaal kent. Dan heb je in een Agile omgeving een flinke taalbarrière tussen ontwikkelaar en tester Daarom volgde ik samen met zeven collega’s bij Bartosz de leergang Software Development voor testers. Omdat we echt begonnen bij de basics was het minder pittig en veel leuker dan eerdere trainingen die ik volgde.

Waaróm werkt het niet

Als tester beoordeel je of dat wat gebouwd is voldoet aan de vraag vanuit de business en klantbehoefte. We kijken naar: is het goed gebouwd, maar hebben we ook het juiste gebouwd?  Terwijl een programmeur vooral kijkt of dat wat hij gebouwd heeft werkt. Het is natuurlijk fijn als je deze twee werelden kunt samenbrengen door als tester ook kennis van programmeren te hebben. Omdat je dan niet alleen kunt aangeven als iets niet werkt, maar ook meteen kunt laten zien waar dat volgens jou aan ligt. Je hoeft geen expert te zijn, maar als je code kunt lezen en begrijpen is dat al heel nuttig en bevordert het de onderlinge communicatie en begrip voor elkaars rol.

"Kennis van programmeren maakt communicatie tussen testers en ontwikkelaars makkelijker"

Beginselen van het programmeren

Tijdens onze leergang werkten we met www.codeacademy.com: een website waar je hands-on aan de slag kunt met de beginselen van het programmeren. Heel helder en overzichtelijk! Onze manager John de Goei begeleidde de sessies omdat hij vroeger zelf programmeerde. Twee voorbeelden van de beginselen van het programmeren licht ik hieronder graag toe:

  1. Procedureel programmeren: hierbij ga je uit van een programma met functies en routines. Voordat we aan de slag konden met object georiënteerd programmeren (OOP) moesten we eerst de basics kennen van procedureel programmeren. Onderwerpen die aan bod kwamen waren bijvoorbeeld: Python Syntax, Strings and Console output, functions, list & dictionaries, lists and functions, loops advanced topics in python, introduction to classes en File input en output.
  2. Object georiënteerd programmeren: bij object georiënteerd programmeren (OOP) werk je met classes en een verzameling interacterende objecten. Een class is een beschrijving en kent variabelen en methoden. Een object is een implementatie van een class. In OOP kan elk object data verwerken en berichten ontvangen en versturen naar andere objecten. Vergelijk het met ingrediënten en instructies bij het bakken van een taart:
  • Een recept voor een taart kun je vergelijken met een class
  • De taart die gebakken is kun je vergelijken met een object

De voordelen van OOP zijn onder andere dat je de code kunt hergebruiken. Het is daardoor met OOP veel makkelijker om externe componenten te integreren in je huidige projecten. Daarnaast is de opbouw van OOP-projecten veel structureler en makkelijke te overzien en te begrijpen. Objecten zijn makkelijk te gebruiken. Je hoeft de interne werking van een object niet te kennen om ermee te kunnen werken. Het nadeel is dat er een totaal andere denkwijze voor nodig is.

"Tijdens onze leergang gingen we hands-on aan de slag om de basic programmeerskills te leren"

Robot-race

Onze leergang sloten we af met het programmeren van de mBot: een kleine robot op wielen die geleverd wordt met een softwarepakket erbij zodat je hem zelf kunt programmeren. Tegenwoordig gebruiken ze deze mBot al op scholen om daar kinderen te leren programmeren. Wij gebruikten de mBot om onze opgedane kennis te testen: konden we de mBot programmeren zodat hij een parcours foutloos en snel aflegde? Dat werd natuurlijk een onderlinge competitie maar was vooral een nuttige oefening van de geleerde programmeerskills.

Begin bij het begin en kom verder

Programmeren is en blijft een vak apart; dat werd tijdens deze leergang goed duidelijk! Wat erg fijn was, was dat je bij www.codeacademy.com echt aan het begin begint: dat maakt het heel leerzaam. Met kennis van programmeren kun je als tester een stuk verder komen. Vooral omdat je dan zelf tests kunt programmeren en bij geavanceerder testautomatisering zelf testsets kunt opstellen en automatisch laten draaien.

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