Reading Time: 7 mins

Een snelle introductie tot API-testen

Een snelle introductie tot API-testen

Een snelle introductie tot API-testen

Wat is API?

Een applicatie heeft drie lagen: een datalaag, een API-laag en een UI-laag (User Interface). API of Application Program Interface vormt de crux van een applicatie omdat de bedrijfslogica er meestal in is opgeslagen. Zonder dit zouden frontend-gebruikers geen interactie hebben met de backend en zouden services niet werken.

In het algemeen gebruikt API twee benaderingen: SOAP & REST. De werking van API is in beide bijna hetzelfde, dwz het vergemakkelijken van de overdracht van berichten tussen frontend en backend met behulp van HTTP-berichten zoals GET, PUT, en de tekst van deze berichten is meestal in JSON en XML voor REST- en SOAP-API’s.

Vroeger, toen de API voor het eerst werd geadopteerd door Salesforce, werd deze voornamelijk gebruikt voor in-house services en applicaties. Maar door de jaren heen hebben bedrijven het belang ervan ingezien, een spil zijn die diensten aanbiedt aan andere applicaties van derden, vooral in een microservices-benadering van softwareontwikkeling. Daarom is het onpraktisch om vandaag een applicatie zonder API te bedenken.

Het huidige scenario is belangrijk om te begrijpen waarom het testen van API van vitaal belang is voor een bedrijf.

Waarom is API-testen nodig ?

Zoals we eerder hebben besproken, werken API’s intern samen met veel onderdelen van de applicatie en met systemen van derden om het bedrijfsproces te stroomlijnen. Als de API niet goed werkt en de fout niet wordt gedetecteerd, is het zeer waarschijnlijk dat een hele applicatie en een netwerk van bedrijfsprocessen die erop verankerd zijn, kapot gaan.

Terwijl ontwikkelaars functionele tests uitvoeren van API’s waaraan ze werken, is API’s veel meer dan alleen functionaliteit. Het benadrukt het testen van de bedrijfslogica, gegevensreacties en beveiliging, en prestatieknelpunten. Terwijl u zich voorbereidt op de lancering van uw toepassing, moeten API-testen deel uitmaken van uw algemene teststrategie. Het testteam moet continue API-tests uitvoeren parallel aan de ontwikkeling om defecten vroegtijdig te vinden en op te lossen voor een naadloze gebruikerservaring.

Nu API moet worden getest op alle bovenstaande criteria, zullen we de soorten API-testen in de volgende sectie zien.

Volgens een onderzoek door SmartBear over testprofessionals in 2019, heeft 91% van de respondenten momenteel een formeel API-testproces of is dit van plan in de nabije toekomst .

Welke soorten API-tests moeten worden uitgevoerd?

API-testen omvat verschillende QA-activiteiten, zoals het valideren van reacties, het afhandelen van API-aanroepen en het verifiëren van outputs met behulp van meerdere parameters. De rol van een tester neigt naar het vinden van gegevensnauwkeurigheid, HTTP-statuscodes, gegevensindeling en foutcodes.

De meest voorkomende taak voor een tester is het verifiëren van de reactiestatuscode van het team dat de API heeft gebouwd. Alle API-statuscode Dat een wereldwijde norm volgt, zijn onderverdeeld in 5 waarden. De testers moeten controleren of de codes zijn gespecificeerd in vereisten en voldoen aan internationale normen.

De 5 waarden zijn

1xx (informatief): aanvraag ontvangen en wordt nog steeds verwerkt

2xx (geslaagd): Verzoek succesvol ontvangen, begrepen en geaccepteerd

3xx (Redirection): Er moet verdere actie worden ondernomen om het verzoek te voltooien

4xx (Client Error): Aan het verzoek kan niet worden voldaan of bevat een verkeerde syntaxis

5xx (serverfout): de server heeft een schijnbaar geldig verzoek niet uitgevoerd

Laten we eens kijken welke soorten API-tests moeten worden uitgevoerd,

SOORTEN API-TESTS

API-belasting testen:

API’s moeten worden getest op functionaliteit en prestaties met variërende belastinginvoer en controleren of de API de verwachte uitvoer genereert. De volgende metrische gegevens moeten worden gemeten in de API-laadtest om te begrijpen hoe een API zou reageren op verschillende laadscenario’s.

  • Reactietijden
  • Controleer zware omstandigheden
  • Doorvoer

API-beveiligingstests:

API-beveiligingstests worden uitgevoerd om de API’s te beschermen tegen beveiligingsrisico’s. De testvereisten omvatten authenticatie, machtigingen, encrypties, toegangscontroles die altijd veilig moeten zijn. Zelfs een enkele leemte in de API-beveiliging zou ernstige bedreigingen vormen voor de rest van de componenten die eraan gekoppeld zijn.

API end-to-end testen:

E2E-tests worden uitgevoerd om de gegevensvalidatie over API-verbindingen te garanderen. Deze test verifieert dat systeem als geheel de juiste API-aanroepen doet en desgewenst antwoorden krijgt.

API-integratietesten:

Omdat veel apps afhankelijk zijn van API’s van derden, is het essentieel om deze integraties goed te testen en defecten te identificeren in dezelfde fase waarin ze worden ontwikkeld. Het doel van deze test is om de functionaliteit, prestaties en beveiligingsaspecten van API te verifiëren.

Handmatige versus geautomatiseerde API-tests

Hoewel handmatig testen kan worden uitgevoerd door uw eigen code te schrijven om te testen, vereist het geautomatiseerd testen van API dat u standaardbenaderingen zoals TDD, BDD gebruikt. In de wereld van DevOps lijkt Agile, geautomatiseerde API-testen de juiste keuze, omdat het tegelijk met ontwikkeling kan worden uitgevoerd.

Met Behaviour Driven Testing kunnen testers testscripts schrijven met behulp van eenvoudige augurk-taal.

Voorbeeld van gedragsgestuurd testen:

Scenario: gebruiker verwijderen

Gezien ik de verwijderservice wil uitvoeren

Wanneer ik het VERWIJDER-verzoek indien

Dan valideer ik de verwijderstatuscode

En ik valideer de inhoud van de verwijderreactie

U kunt geautomatiseerde API -testen gebruiken om ,

  • API functionele tests
  • Testdekking analyseren
  • API-prestatietests
  • Regressietesten
  • Belasting testen
  • Herhaalde testontwerpen

Handmatig testen is zeer geschikt voor:

  • Bruikbaarheidstesten
  • Verkennende testen

Het is van cruciaal belang om het juiste testframework, tools en oplossingen te hebben voor succesvolle API-automatiseringstests. In onze volgende sectie zullen we de top 3 API-testtools zien die tegenwoordig veel worden gebruikt.

API-testtools

POSTBODE

Toepassing onder test: API

Ondersteunde platforms: Windows, macOS, Linux.

Prijzen: gratis – $ 12/gebruiker/maand

Postman is een uitstekende keuze voor uw testteam als ze niet willen coderen in een geïntegreerde ontwikkelomgeving met dezelfde tech-stack als uw ontwikkelaars. Het biedt een gebruiksvriendelijke interface en kan snel worden gebruikt met behulp van een chromen plug-in.

Testteams kunnen het gebruiken voor zowel geautomatiseerd als verkennend testen. Het heeft Run-, Test-, Document- en Monitoring-functies en maakt het gemakkelijk om informatie te delen – alle verzoeken en verwachte responspakketten met het team.

SOAP-gebruikersinterface

Toepassing onder test: API

Ondersteunde platforms: Windows, macOS, Linux.

Prijzen: gratis – $ 659/jaar

SOAP UI is een speciale API-testtool waarmee gebruikers REST- en SOAP-API’s en webservices snel kunnen testen. Het stelt gebruikers in staat om snel en gemakkelijk tests te maken met slepen en neerzetten, aanwijzen en klikken en subsidies voor herbruikbaarheid van scripts in enkele stappen.

Als uw team aangepaste codes moet maken, maakt SOAP UI dit mogelijk met Groovy. Pro-pakket maakt gegevensgestuurd testen mogelijk: gegevens geladen uit bestanden en databases en Excel om te begrijpen hoe consumenten omgaan met de API’s

Wees gerustgesteld

Toepassing onder test: API

Prijzen: Open source

Voor teams die JAVA gebruiken, is Rest-assured de eerste keuze voor API-testen. Iedereen zonder voorkennis van HTTP kan dit gebruiken om op HTTP gebaseerde REST-services te testen. Het is een gebruiksvriendelijke tool die goed kan worden geïntegreerd met uw op Java gebaseerde automatiseringsframework.

Het biedt ingebouwde functionaliteiten zodat gebruikers niets vanaf het begin hoeven te coderen. Een van de het belangrijkste voordeel is dat het BDD (Behavior-driven development) ondersteunt, wat het testen van API’s eenvoudiger maakt met behulp van gewone augurk-taal – Given/When/Then-syntaxis

Laatste woord

API-testen hebben de afgelopen twee jaar gestaag aan belang gewonnen, volgens Google Trends. In de wereld van Agile & Microservices, de componenten die webapplicaties vormen, zowel in frontend als backend, worden afzonderlijk gebouwd en worden alleen met behulp van API’s aan elkaar gekoppeld. Dit benadrukt dat goed gepland API-testproces is een must om de goede werking van de software te garanderen.

Keerthi Veerappan

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