Handmatige testen (IT)Manual QA Engineer

Wat is handmatige test van integraties tussen systemen? Welke typische problemen kunnen zich voordoen en hoe kunnen ze worden opgelost?

Slaag voor sollicitatiegesprekken met de Hintsage AI-assistent

Antwoord.

Handmatige test van integraties is het proces van het controleren van de interactie tussen verschillende modules, services of externe systemen handmatig, zonder automatische scripts.

Achtergrond van de vraag:

In de vroege dagen van IT-productontwikkeling werden alle systemen monolithisch gebouwd, maar met de groei van het bedrijf en het aantal externe services werden integratietests essentieel. Testers vroegen zich af: hoe kunnen we ervoor zorgen dat gegevens en acties correct tussen systemen worden doorgegeven — bijvoorbeeld dat een succesvolle betaling zowel in de facturerings- als in het boekhoudsysteem wordt weergegeven.

Probleem:

De grootste uitdaging is het ontbreken van een volledig functionele omgeving: integraties kunnen afhankelijk zijn van externe services, onbetrouwbare API's of externe beperkingen. Bovendien kan handmatige testen op elk knooppunt van de integratie zeer arbeidsintensief zijn, en is het gemakkelijk om een fout te maken in de volgorde van stappen of belangrijke cascade-effecten te missen.

Oplossing:

  • Gebruik testomgevingen met "stubs" (mock/stub) om herhaalbaarheid van de test te waarborgen.
  • Structureren testcases, stap-voor-stap controles van berichten, logs, statussen opschrijven.
  • Controleer eerst grensgevallen, time-outs, herhaalde oproeppogingen van integraties, en de reactie van het systeem op fouten.

Belangrijke kenmerken:

  • De noodzaak om de bedrijfslogica van beide integrerende partijen te begrijpen.
  • Rekening houden met asynchroniciteit en fouten in statusoverdracht.
  • Ondersteuning van veerkracht tegen gedeeltelijke falen.

Vragen met een twist.

Wat zijn testdoubles en waarom zijn ze nodig bij handmatige test van integraties?

Testdoubles zijn simulaties van integratiecomponenten (bijv. mock, stub, fake). Bij handmatige testen zijn ze nodig om scenario's te oefenen waarbij het echte externe systeem niet beschikbaar is of waarbij oproepen kosten met zich meebrengen.

Kun je zeggen dat de integratie is getest als de testcases alleen de happy path dekken?

Nee. Het is absoluut noodzakelijk om edge cases te testen: verbindingsfouten, onjuiste dataformaten, time-outs, onverwachte antwoorden.

Is het voldoende om alleen het verzenden/ontvangen van gegevens te controleren of moet er nog meer worden gedaan?

Het is belangrijk om de juistheid van de INHOUD van de gegevens, hun transformatie en het gedrag van het systeem bij verschillende fouten op de interface te controleren.

Typische fouten en anti-patronen

  • Alleen met "eigen" deel van het systeem werken zonder het gedrag aan de partnerzijde te controleren.
  • Negatieve scenario's negeren.
  • Logs niet analyseren of geen geschiedenis van integratiefouten bijhouden.

Voorbeeld uit het leven

Negatief geval

Een tester controleert de integratie tussen CRM en het factureringssysteem alleen op succesvolle ordertoevoeging. Ze controleert de synchronisatiefout en de gemiste transactie niet.

Voordelen:

  • Snelle dekking van de belangrijkste scenario's.

Nadelen:

  • Een fout bij een integratiefout zal pas worden ontdekt met echte gegevens.

Positief geval

De tester creëert een set tests met het uitschakelen en inschakelen van de internetverbinding, met het invoegen van ongeldige tokens. Valideert de logs van beide zijden.

Voordelen:

  • Kritieke fouten werden ontdekt vóór de release.
  • Tijd bespaard op ondersteuning.

Nadelen:

  • Meer arbeidsintensieve voorbereiding van de omgeving en scenario's.