Koorden Koorden Koorden Koorden
API-integraties | API-beheer

Veelvoorkomende uitdagingen bij API-testen overwinnen

API-testuitdagingen

Door Manoj Chaudhary, CTO en SVP Engineering


Om de functionaliteit, betrouwbaarheid en beveiliging van hun Application Programming Interfaces (API's) te controleren, voeren IT-teams een reeks verschillende tests uit, waaronder functionele, governance-, chaos-, penetratie-, prestatie-, stress- en levensduurbeoordelingen. Hieronder schetsen we veelvoorkomende uitdagingen waarmee teams worden geconfronteerd bij het uitvoeren van deze tests en bieden we onze aanbevelingen om ze aan te pakken.

Uitdaging: de eerste installatie doorlopen

Het creëren, ontwikkelen en operationeel krijgen van een testinfrastructuur kan tijdrovend zijn en het kan moeilijk zijn om uw team gedurende het hele proces te motiveren.

onze aanbeveling

Uitleggen hoe het testproces op de lange termijn loont, kan van cruciaal belang zijn bij het motiveren van een testteam. Het is ook belangrijk op te merken hoe cruciaal deze fase is in het algemeen API-testen. Denk bij het uitvoeren van de eerste installatie goed na over hoe u de API gaat testen en wat die tests vereisen in uw infrastructuurontwerp.

Uitdaging: Genereren en beheren van grote hoeveelheden testdata

API's met veel parameters vereisen een aanzienlijke hoeveelheid gegevens (en in sommige gevallen gegevens met een hoge kardinaliteit) voor effectief testen. Het creëren, onderhouden en ervoor zorgen dat deze gegevens herbruikbaar zijn, kan een uitdaging zijn voor testers.

onze aanbeveling

De sleutel tot het genereren en opzetten van testgegevens is het begrijpen van de request- en responsstructuren en de bijbehorende API-aanroepen. Gebruik hulpprogramma's voor gegevensbeheer waarmee u deze verbanden kunt begrijpen en maskeer, genereer en subset nieuwe gegevens die passen bij uw testbehoeften.

Uitdaging: De doelstellingen voor het testen van governance duidelijk begrijpen

Cruciaal voor API's die zijn gebouwd voor multi-tenant cloud-applicaties, worden governance-tests uitgevoerd om de infrastructuur te beschermen tegen overmatig gebruik, luidruchtige buren en aanvallen. API's hebben doorgaans governanceregels voor hun gebruik (bijv. opslagbeleid, snelheidslimieten en payload-grootte), maar een gebrek aan kennis en begrip met betrekking tot zowel de API-architectuurlogica als deze regels resulteert vaak in onzekerheid over de testdoelstellingen.

onze aanbeveling

Maak goed gedefinieerde en goed geschreven governance-regels; bouw hulpprogramma's voor uw team om ze zo nodig aan te passen om het testen eenvoudiger en efficiënter te maken.

Uitdaging: Effectief chaostesten uitvoeren

In 2010 creëerden de ontwikkelings- en operationele teams van Netflix deze vorm van testen toen ze begonnen met het verplaatsen van de traditionele infrastructuur naar de cloudinfrastructuur van Amazon Web Services (AWS). Chaos testen, of chaos techniek, is een zeer gedisciplineerde aanpak die de systeemintegriteit test door proactief fouten te simuleren en te identificeren voordat ze leiden tot ongeplande downtime of een slechte gebruikerservaring. Het proces omvat:

  • Testen of een systeem werkt in een gedefinieerde stabiele toestand. Ten eerste moeten testers een meetbare systeemuitvoer identificeren die normaal werkgedrag aangeeft. Het creëren van de infrastructuur en tools voor het definiëren en meten van een stabiele toestand kan complex zijn, afhankelijk van de architectuur en het bereik van de betrokken applicaties.
  • Testen om te bepalen of de stabiele toestand van een systeem standhoudt. Na het tot stand brengen van een stabiele toestand bepalen testers of het zal blijven onder controle, experimentele en reële omstandigheden.
  • Testen voor minimale impact op gebruikers. Testers breken of verstoren de service om de negatieve impact op gebruikers te bepalen.
  • Introductie van chaos. Nadat is vastgesteld dat een systeem in een gedefinieerde stabiele toestand werkt, dat de stabiele toestand standhoudt en dat de "straalstraal" is beperkt, voeren testers hun chaostesttoepassingen uit om te zien hoe het systeem zich gedraagt ​​​​onder bepaalde stressomstandigheden of -omstandigheden (bijv. servercrashes, defecte hardware of verbroken netwerkverbindingen).

onze aanbeveling

Bouw haken in uw applicatie en infrastructuur waarmee uw testteam chaos kan creëren en gemakkelijk relevante statistieken voor de explosieradius kan krijgen.

Uitdaging: het juiste team inschakelen voor penetratietesten

Bij penetratietests zal een tester met beperkte praktische kennis van de specifieke API deze aanvallen om de bedreigingsvector vanuit een extern perspectief te beoordelen. Aanvallen kunnen gericht zijn op de gehele API of bepaalde functies en processen.

onze aanbeveling

Een intern team kan de eerste penetratietesten uitvoeren, maar een externe penetratietester moet de follow-up diepe penetratietesten uitvoeren.

Vragen hebben? We zijn hier om te helpen.

Ons Contacten