Reading Time: 5 mins

Testen in de wereld van microservices

Testen-in-de-microservices-wereld

Testen in de wereld van microservices

Microservices zijn een alternatieve benadering van applicatieontwikkeling waarbij een grote applicatie geïsoleerd wordt gebouwd, als een suite van granulaire componenten of services. Elk onderdeel heeft een specifieke functionaliteit of een taak of zakelijke doelen en gebruikt nauwkeurige API’s als communicatiemiddel om met andere services te praten.

Waarom microservices?

Een groot deel van de migratie naar de wereld van microservices vindt plaats omdat microservices, in tegenstelling tot een monolithische applicatie, je in staat stellen om services te bouwen met behulp van verschillende technologieën, en de ontwikkelaars in microservices de code niet op één plek hoeven te beheren zoals bij monolithische apps. In plaats van een hele applicatie-update te implementeren, kunnen ze snel code vrijgeven aan de container.

Trouwens, ontwikkelaars die meer applicatiestabiliteit willen tijdens terugkerende code-updates, of een gemakkelijke uitweg uit afhankelijkheden of de mogelijkheid om te schalen zonder de middelen in gevaar te brengen, dragen ook bij aan de oorzaak.

De andere kant van microservices

De charme van microservices komt echter met een behoorlijk prijsaandeel, vooral als het gaat om het bewaken van de applicatie en de tol die het kan eisen van het ontwikkelingsteam dat de verschuiving ondergaat. Ondanks de fouttolerantiemogelijkheden blijft het een probleem om fouten in op microservices gebaseerde toepassingen te identificeren via handmatige bewakings- en testmethoden. Deze ontbering is voornamelijk te wijten aan het ontkoppelde karakter van de architectuur en de ongedefinieerde grenzen

Uitdagingen bij het instellen van microservices

Er zijn maar weinig dwingende uitdagingen die gepaard gaan met de acceptatie van microservices:

Communicatieproblemen : aangezien de microservices hun communicatie zowel intern als extern uitbreiden als ze gegevens of toegang tot gegevens nodig hebben, kunnen deze scenario’s gunstig worden voor fouten in netwerk- en containerconfiguraties, fouten bij aanvragen of antwoorden, netwerkstoringen en fouten in de beveiliging configuraties, configuraties en nog veel meer.

Meerdere beveiligingspoortjes : met veel bewegende onderdelen – bijv. services, componenten, API’s, enz., vergroot het alleen maar het potentiële aanvalsoppervlak. En, in tegenstelling tot de goed gedefinieerde beveiligingsgrenzen die een firewall een monolithische app biedt, is er niet zo’n definitieve grens met cloudgebaseerde microservices-apps.

Handmatige bewaking : hoewel microservices ervoor zorgen dat de toepassing actief is, zelfs als er een netwerkstoring of een systeemstoring is, wordt het ontkoppelde karakter van de architectuur bijzonder complex om fouten te identificeren door middel van handmatige bewaking en testmethoden.

Benaderingen voor het testen van microservices

Het testen van de op microservices gebaseerde applicatie is ingewikkeld omdat de services onafhankelijk werken en de communicatie uitbreiden via API-aanroepen. Het testteam dat is toegewezen om deze services te testen, moet goed op de hoogte zijn van de gegeven service en de afhankelijkheden ervan en dienovereenkomstig een effectieve teststrategie uitrollen.

Er zijn vier conventionele benaderingen om microservices te testen,

  1. Eenheidstesten
  2. Integratietests
  3. Contract testen en
  4. Componenttesten

Lees meer in detail over de microservices-architectuur en de teststrategieën in onze gids hier .

Keerthi Veerappan

An INFJ personality wielding brevity in speech and writing. Marketer @ Zucisystems.