Ben jij geïnteresseerd in het gebruik en/of toepassen van API mocking voor het vereenvoudigd testen van applicaties? Kom dan naar de gratis toegankelijke workshop over WireMock op woensdag 29 maart om 17.00 uur in Nieuwegein! Uiteraard zorgt newspark voor een maaltijd. Schrijf je direct in.
De workshop
De workshop trappen we af met een korte theoretische inleiding over de meerwaarde van API mocking en wat API mocking nu eigenlijk inhoudt. De workshop is bedoeld voor zowel testautomatiseerders als programmeurs. Enige basiskennis over (REST) API’s is handig, maar niet noodzakelijk. Uiteraard gaan we er wel vanuit dat de deelnemers niet onbekend zijn met het zien van code in dan wel in Java dan wel in C#.
Na het gezamenlijke theoriedeel verdelen we de aanwezigen in twee groepen. iedereen pakt zijn eigen laptop erbij en gaat zelf aan de slag. Aan de hand van korte opdrachten leert iedereen al doende over de mogelijkheden, maar leert ook de valkuilen en beperkingen kennen. De korte opdrachten worden afgewisseld met kleine stukjes aanvullende theorie en voorbeelden.
De eerste groep gaat aan de slag met WireMock voor Java, onder begeleiding van Tobias Verhoog. Terwijl de andere groep aan de slag gaat met WireMock voor .NET onder begeleiding van André Koene. Uiteraard kies jij zelf welke programmeertaal jouw voorkeur heeft.
Aan het eind van de workshop is er gelegenheid tot napraten en met elkaar ervaringen uit te wisselen onder het genot van een drankje.
Wat is WireMock in het kort?
WireMock is een open source-library die kan helpen bij het versnellen en/of vereenvoudigen van jouw test proces, wanneer je te maken hebt met API integraties. API integraties kunnen op diverse vlakken plaatsvinden. Denk onder meer aan het aanroepen vanaf een website/front-end applicatie, maar ook andere API’s of bijvoorbeeld background services.
Voordelen van WireMock
In deze deepdive workshop gaan we uiteraard dieper in op de theorie en de voordelen, maar hier ook alvast een greep uit een aantal voordelen op een rij:
- De belangrijkste: Het helpt ontwikkelaars en testers sneller en efficiënter te werken, mogelijk zelfs met minder frustraties 😉
Dit wordt onder andere bereikt door:
- Reduceren van afhankelijkheden met andere applicaties, teams of zelfs externe organisaties
- Flexibel in creëren en beheersen van testdata
- Creëren van mogelijkheden tot het testen van unhappy flows, denk hierbij aan traag reagerende applicaties, nabootsen van time-outs of het genereren van fout responses
- Gemakkelijk te schrijven/configureren en gemakkelijk te lezen
- Beschikbaar voor zowel Java als .Net (opgedane kennis neem je dus eenvoudig mee naar een eventueel volgend testproject)
- Eenvoudig te integreren in reeds bestaande testframeworks
De scope van de workshop
Tijdens de workshop maken we gebruik van het (door ons aangepaste) opensource materiaal, zoals beschikbaar gesteld door Bas Dijkstra van ontestautomation.com. Dit houdt in dat wij aan de slag gaan met de implementatie van de Wiremock library, om het vooraf opgestelde (unit)test scenario te laten slagen. Zo ontdekken we spelender wijs hoe Wiremock werkt en ingezet kan worden.
De testen die in de opdrachten van de workshop zijn opgenomen, zijn bedoeld om aan te tonen dat je de mock juist hebt geconfigureerd. Feitelijk kan je dit dus zien als (unit) test voor het correct functioneren van jouw mocks.
De interactie tussen een daadwerkelijke system under test (SUT) valt in principe buiten de scope van deze workshop. Het is daarom goed je te realiseren dat je hiermee slechts een deel te pakken hebt, van hoe je deze mocks in de praktijk waarschijnlijk wilt toepassen.
Ondanks dat dit alles buiten de scope van de workshop valt, zijn wij uiteraard bereid te brainstormen over vragen als:
- Hoe roep ik de mock services aan vanuit mijn SUT?
- Hoe maak ik mijn testdata slim aan?
- Moet ik dit in combinatie gebruiken met een BDD framework als RestAsured of Specflow?
- Wat implementeer ik waar in mijn algehele test flow?
- Wat zijn de voordelen van de mogelijkheid om wiremock ook stand-alone laten draaien?
- Kan ik mijn aanroep ook configureerbaar maken zodat ik eenvoudig kan switchen tussen een mock service en de daadwerkelijke service?
- Is mocken van services enkel wenselijk bij systeem- en integratietesten of ook geschikt voor ketentesten?
- Als (micro) services (met Web api interfaces) worden aangeroepen door andere services (die mijn eigen team onderhouden) is het dan nog steeds slim om mocks te maken voor deze services?
- Hoe test ik de daadwerkelijke integraties die ik nu enkel met een ge-mockte service test?
Zo zijn er nog genoeg keuzes om over na te denken, wanneer je aan de slag gaat met een mocking.
Aan het einde van de workshop heb je in elk geval de basiskennis om deze vragen gemakkelijker zelf te kunnen beantwoorden in combinatie met de context in jouw opdracht.
Zien wij jou woensdag 29 Maart?
Kom naar de workshop bij newspark in Nieuwegein en laat je verrassen door het leerzame en interactieve karakter van deze gratis workshop. Verrijk je kennis over het gebruik van WireMock! Schrijf je snel in. Aanvang 17.00 uur en rond 21.00 uur is het afgelopen. Een maaltijd regelen wij voor je.
Wil je deelnemen aan een volgende deepdive? Houd onze website in de gaten, volg ons op LinkedIn en/of abonneer je op onze meetup groep!