Test engineering, Testautomatisering, Tooling

In deze nieuwe rubriek vertellen we je alles over onze favoriete testtoolsz! Wat houdt de tool in? Wat zijn de voor- en nadelen? En welke tips helpen jou op weg met dit hulpmiddel? We trappen af met Robot Framework. Daarover laten we in deze blog onze experts Gerwin Laagland en Sebastiaan Molenaar aan het woord. Het gemak in gebruik, de snelle adoptiemogelijkheden, de veelzijdigheid én de sterke integratie met je continuous delivery-proces, zorgen ervoor dat deze tool voor hun beiden favoriet is.

Wat is dit voor een tool en waarvoor gebruik je ‘m precies?

Robot Framework – ook wel Robot genoemd – is een testtool die op dit moment helemaal hot en happening is. Bij Bartosz gebruiken we het voornamelijk bij ketens waarbij meerdere platformen betrokken zijn. Want daar is Robot Framework ideaal voor: het is een flexibele tool die héél breed toepasbaar is. Meestal is het namelijk zo, dat testtools maar op één platform inzetbaar zijn, waardoor je er meerdere tegelijkertijd nodig hebt. Of het ook een hele vooruitstrevende tool is? Niet per se. De tool is in 2005 ontwikkeld door Nokia en bestaat dus al langer, maar de enorme populariteit is van de laatste jaren. Dat betekent dat de bereikbaarheid van deze oplossing steeds groter wordt. Wat ons betreft een positieve ontwikkeling.

"De brede toepassing van Robot Framework komt vanuit de populariteit van Python, dat als platform-onafhankelijke taal een bepaalde cultuur aanmoedigt."

Wat zijn de voordelen van Robot Framework?

Dat zijn er een veel. Ten eerste draait het op Python. Python is een programmeertaal die vaak wordt gebruikt om websites en software te bouwen, machine learning (AI) en gegevensanalyse uit te voeren. Voor Robot betekent deze Python-motor dat er een breed scala aan bibliotheken ontwikkeld kan worden door de community zelf. De brede toepassing van Robot Framework komt vanuit de populariteit van Python, dat als platform-onafhankelijke taal een bepaalde cultuur aanmoedigt.

Daarnaast is de tool modulair. Concreet betekent dit vooral dat je zelf kan kiezen om bibliotheken wel of niet ‘in te pluggen’ of te gebruiken in je automatisering. Je begint met een basisopzet, daarna ben je vrij om erbij te pakken wat je nodig hebt voor je eigen project. Als framework geeft Robot je de mogelijkheid om je eigen inrichting te kiezen en biedt het goede mogelijkheden om code efficiënt toe te passen en te hergebruiken.

Nog een voordeel is dat de tool op basis van open source is ontwikkeld. Dat betekent dat er zonder vorm van licentie gebruik van kan worden gemaakt. Het feit dat het ‘gratis’ is, zorgt voor nog altijd groeiende populariteit en veel goodwill.

Ten slotte is er ontzettend veel informatie online te vinden. Hierdoor is er veel transparantie en kun je veel kennis opdoen over het gebruik van de tool. Dat is goed voor de adopteerbaarheid en je kunt altijd terugvallen op die kennis.

Zijn er ook nadelen aan het gebruik van Robot Framework?

Je moet als gebruiker ervoor waken dat je gaat ‘verdwalen’ in je eigen bouwwerk. Robot Framework geeft je de vrijheid om je eigen projecten in te delen. Hierdoor creëer je een ‘perfect’ labyrint, maar dat zorgt er ook voor dat je snel de draad kwijt kunt raken. Het is dus raadzaam om van meet af aan een goede structuur aan te brengen.

Daarnaast kleeft er ook een nadeel aan open source: je bent in sommige gevallen namelijk afhankelijk van de beschikbaarheid van developers of andere software waarmee de open source oplossing onderhouden wordt. Het kan bijvoorbeeld voorkomen dat het niet goed bijgehouden wordt, waardoor plugins of bibliotheken niet meer bruikbaar zijn. Dan moet je op zoek naar alternatieven. Bedenk dus vooraf dat dit een reëel risico is.

Tot slot is Robot Framework niet geschikt voor unit testen. Unittest frameworks zijn namelijk ingericht om het ‘kleinste’ stukje code te testen dat logisch geïsoleerd kan worden. Hier is vaak specifieke tooling voor ontwikkeld afhankelijk van de taal, bijvoorbeeld JUnit (Java). Robot is niet in staat om deze kleinste logische unit van code te testen. In plaats daarvan test het ‘componenten’ waarbij je dus al meerdere stukken code of functionaliteiten aan elkaar hebt gekoppeld. Robot Framework is dus meer geschikt om een hele applicatie te testen dan als ‘code’ testtool waarbij je maar klein stukjes van de oplossing naloopt.

_6008748

Welke tips geven jullie aan nieuwe gebruikers?

Om het meest uit de tool te halen, raden we je aan onderstaande punten altijd mee te nemen in je voorbereiding:

  • Bedenk hoe je Robot wilt positioneren in jouw project. Waar wil je het precies voor gebruiken? Wat is de toegevoegde waarde? Dit zijn belangrijke vragen om jezelf te stellen, vooral omdat de tool zo breed inzetbaar en modulair is. Begin met een structuur, zodat je er het meest profijt uit haalt.
  • Vul je kennis aan op het gebied van codeonderhoud. Op welke manier zorg ik voor het beste onderhoud van alle blokjes en stukjes van de code? Je kunt bijvoorbeeld letten op de herbruikbaarheid en leesbaarheid ervan.
  • Leer een configuratie management tool als git te gebruiken. Dit is door de industrie een geaccepteerde manier om code te managen en centraal deelbaar te maken. Hierdoor heb je meer mogelijkheden om met andere mensen te werken aan dezelfde testoplossingen, zonder dat dit meteen tot onderlinge conflicten leidt.
  • Het is aan te raden om een basiscursus Python te volgen. Het framework draait hier immers op, dus met deze kennis op zak begin je een stuk relaxter.

Ben je benieuwd wat deze testtool nog meer te bieden heeft? Aarzel niet om contact op te nemen met Gerwin of Sebastiaan. Ze vertellen je er graag meer over!

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

    werkenbij overall

    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