Cordons Cordons Cordons Cordons
Intégrations API | Gestion des API

Surmonter les défis courants des tests d'API

Défis des tests d'API

Par Manoj Chaudhary, CTO et SVP Ingénierie


Pour vérifier la fonctionnalité, la fiabilité et la sécurité de leurs interfaces de programmation d'applications (API), les équipes informatiques effectuent une série de tests différents, notamment des évaluations fonctionnelles, de gouvernance, de chaos, de pénétration, de performances, de stress et de longévité. Ci-dessous, nous décrivons les défis courants auxquels les équipes sont confrontées lors de la réalisation de ces tests et proposons nos recommandations pour les résoudre.

Défi : Passer à travers la configuration initiale

La création, le développement et la mise en place d'une infrastructure de test peuvent prendre du temps et il peut être difficile de motiver votre équipe tout au long du processus.

notre recommandation

Expliquer comment le processus de test est rentable sur le long terme peut être essentiel pour motiver une équipe de test. Il est également important de noter à quel point cette phase est critique dans l'ensemble des tests d'API. Lors de la configuration initiale, réfléchissez bien à la manière dont vous allez tester l'API et à ce que ces tests nécessitent dans la conception de votre infrastructure.

Défi : générer et gérer de gros volumes de données de test

Les API avec de nombreux paramètres nécessitent une quantité importante de données (et dans certains cas, des données avec une cardinalité élevée) pour des tests efficaces. La création, la maintenance et la garantie que ces données sont réutilisables peuvent représenter un défi pour les testeurs.

notre recommandation

La clé de la génération et de la configuration des données de test consiste à comprendre les structures de demande et de réponse et les appels d'API associés. Utilisez des outils de gestion des données qui vous permettent de comprendre ces connexions, puis masquez, générez et créez des sous-ensembles de nouvelles données qui correspondent à vos besoins de test.

Défi : Comprendre clairement les objectifs des tests de gouvernance

Essentiels pour les API conçues pour les applications cloud multi-locataires, les tests de gouvernance sont effectués pour aider à protéger l'infrastructure contre la surutilisation, les voisins bruyants et les attaques. Les API ont généralement des règles de gouvernance pour leur utilisation (par exemple, des politiques de stockage, des limites de débit et la taille de la charge utile), mais une absence de connaissances et de compréhension liées à la fois à la logique de l'architecture des API et à ces règles entraîne souvent une incertitude quant aux objectifs de test.

notre recommandation

Créer des règles de gouvernance bien définies et bien écrites ; créez des utilitaires pour votre équipe afin de les modifier au besoin pour rendre les tests plus faciles et plus efficaces.

Défi : Réaliser efficacement des tests de chaos

En 2010, les équipes de développement et d'exploitation de Netflix ont créé cette forme de test lorsqu'elles ont commencé à déplacer l'infrastructure traditionnelle vers l'infrastructure cloud d'Amazon Web Services (AWS). Test de chaos, ou ingénierie du chaos, est une approche hautement disciplinée qui teste l'intégrité du système en simulant et en identifiant de manière proactive les défaillances avant qu'elles n'entraînent des temps d'arrêt imprévus ou une mauvaise expérience utilisateur. Le processus implique :

  • Tester qu'un système fonctionne dans un état stable défini. Tout d'abord, les testeurs doivent identifier une sortie système mesurable qui indique un comportement de travail normal. La création de l'infrastructure et des outils pour définir et mesurer un état stable peut être complexe, selon l'architecture et la portée des applications impliquées.
  • Tests pour déterminer si l'état stable d'un système se maintiendra. Après avoir établi un état stable, les testeurs déterminent s'il continuera dans des conditions de contrôle, expérimentales et réelles.
  • Tests pour un impact minimal sur les utilisateurs. Les testeurs interrompent ou interrompent le service pour déterminer l'impact négatif sur les utilisateurs.
  • Présentation du chaos. Après avoir établi qu'un système fonctionne dans un état stable défini, que l'état stable se maintient et que le "rayon d'explosion" est contenu, les testeurs exécutent leurs applications de test de chaos pour voir comment le système se comporte dans des conditions ou des circonstances de stress particulières. (par exemple, pannes de serveur, matériel défectueux ou connexions réseau interrompues).

notre recommandation

Créez des crochets dans votre application et votre infrastructure qui permettent à votre équipe de test de créer le chaos et d'obtenir facilement des mesures pertinentes pour le rayon d'explosion.

Défi : Engager la bonne équipe pour les tests d'intrusion

Dans les tests d'intrusion, un testeur ayant une connaissance pratique limitée de l'API spécifique l'attaquera pour évaluer le vecteur de menace d'un point de vue externe. Les attaques peuvent cibler l'ensemble de l'API ou certaines fonctions et processus.

notre recommandation

Une équipe interne peut effectuer des tests de pénétration initiaux, mais un testeur de pénétration tiers doit effectuer les tests de pénétration approfondis de suivi.

Avoir des questions? Nous sommes ici pour aider.

Contactez-Nous