Handmatige testen (IT)Handmatige tester (QA Manual)

Hoe voer je handmatige API-testen uit en welke valkuilen zijn er bij deze benadering?

Slaag voor sollicitatiegesprekken met de Hintsage AI-assistent

Antwoord.

Handmatig API-testen is het proces van het controleren van de werking van een applicatieprogrammeerinterface zonder automatisering, met behulp van gespecialiseerde tools zoals Postman, Swagger of curl.

Achtergrond van de vraag

De eerste API's werden handmatig getest vanwege de afwezigheid van automatisering en de relatieve eenvoud van de interfaces. Tegenwoordig blijft handmatig testen, ondanks de automatisering, belangrijk, vooral voor basiscontroles van nieuwe of onzekere methoden.

Probleem

De belangrijkste moeilijkheden zijn:

  • de noodzaak van een nauwkeurig begrip van de structuur van invoer- en uitvoergegevens (JSON, XML, enz.)
  • de complexiteit van het reproduceren van complexe scenario's (authenticatie, afhankelijkheid van de systeemstatus)
  • het risico om verborgen bugs te missen die niet duidelijk zijn via de UI

Oplossing

Succesvolle test vereiste:

  • aandachtige omgang met de API-documentatie
  • het creëren van sets handmatige verzoeken die verschillende parameters en foutscenario's dekken
  • het testen van zowel positieve als negatieve scenario's (gegevensvalidatie, autorisatiecontroles)

Belangrijke kenmerken:

  • De mogelijkheid om snel een nieuwe of gewijzigde endpoint te controleren zonder te wachten op geautomatiseerde tests
  • Flexibiliteit in de analyse van anomalieën en fouten wanneer het resultaat niet duidelijk is
  • Visuele controle over alle fasen van het verzoek en het antwoord

Misleidende vragen.

Kan handmatig API-testen alleen met de UI worden uitgevoerd, zonder tools zoals Postman?

Nee, omdat veel fouten zich alleen op het niveau van gegevensoverdracht manifesteren en niet via de UI worden weergegeven, zijn speciale tools nodig voor een volledige controle.

Is het voldoende om slechts één correct verzoek te verzenden om de werking van de API-endpoint te testen?

Nee, het is belangrijk om niet alleen geldige verzoeken te testen, maar ook alle randgevallen, ongeldige en zeldzame scenario's; anders worden bugs niet gevonden.

Moet men negatieve scenario's apart testen of is dat overbodig werk?

Het is absoluut noodzakelijk. Het is belangrijk om ervoor te zorgen dat het systeem fouten correct verwerkt en ongeldige verzoeken afwijst, anders komen beveiliging en stabiliteit in gevaar.

Typische fouten en anti-patterns

  • Alleen "ideale" scenario's testen (ontbreken van controles op ongeldige waarden)
  • Het negeren van de systeemstatus - controles op al bestaande gegevens of een niet-geconfigureerde database
  • Geen validatie van headers, foutstatustussen, niet-standaardgevallen

Voorbeeld uit het leven

Negatief geval

De tester controleert alleen een succesvolle POST-aanroep naar de API "gebruiker aanmaken" - verzendt geldige JSON, ontvangt 200 OK en beschouwt de test als voltooid.

Voordelen:

  • Snelle controle van het basisscenario

Nadelen:

  • Fouten die verband houden met ontbrekende velden, onjuist e-mailformaat, herhaald aanmaken van dezelfde gebruiker gemist
  • Geen zekerheid dat de API de juiste foutcode zal retourneren

Positief geval

De tester controleert systematisch de API "gebruiker aanmaken":

  • succes voor geldig verzoek
  • fouten bij het overslaan van verplichte parameters
  • fout bij herhaald aanmaken
  • controleert verschillende HTTP-codes, foutberichten, e-mailvalidatie

Voordelen:

  • Garandeert correcte werking van de API in verschillende situaties
  • Minimaliseert het aantal bugs in productie

Nadelen:

  • Vereist meer tijd voor voorbereiding en controle van testdata