Compte tenu de l’échelle que les applications atteignent, avec jusqu’à des millions d’utilisateurs actifs à un moment donné, comment est-il possible que ces API restent performantes et ne plantent pas ? Comment les grandes organisations abordent-elles ce défi technique critique ? La réponse est le test de performances de l’API.
Les tests de performance des API sont un vaste domaine. Ce bref article vous aidera à comprendre le quoi, le pourquoi et le comment des tests de performances des API et vous familiarisera avec le jargon essentiel.
Qu’est-ce que le test de performances des API ?
Les tests de performances d’API sont un énorme parapluie avec de nombreux sous-ensembles de tests d’API différents. D’une manière générale, il existe deux principaux types de tests d’API :
Tests fonctionnels
Les tests fonctionnels vérifient le fonctionnement de l’API. Par exemple, un test peut servir à s’assurer que l’API renvoie la sortie souhaitée pour une entrée donnée. Ces tests sont généralement effectués lors du développement d’une API ou après la découverte d’un bug.
Tests de performance non fonctionnelle
Le test de performance est un type de test d’API non fonctionnel. Ces tests sont effectués après le développement de l’API et l’objectif est de tester l’API avec des « scénarios du monde réel » virtuels. Examinons de plus près certains types courants de tests de performances d’API.
Test de charge
Dans le test de charge, un système client-serveur entre l’API (serveur) et l’utilisateur (client) simule plusieurs utilisateurs accédant à l’API en même temps. Ces utilisateurs créés virtuellement (VU) sont la « charge » dans les tests de charge.
Le test de charge répond à des questions telles que :
- Comment un nombre donné d’utilisateurs du site Web affectera-t-il les performances du site Web?
- Combien d’utilisateurs simultanés un site Web ou une application peut-il gérer ?
- Où sont les goulots d’étranglement dans mon application Web ?
- Quel est le point de rupture pour mon site web ?
- Quand le système sera-t-il à court de ressources?
Voici d’autres types de tests de performance :
- Test de pointe. Les tests de pointe soumettent une application logicielle à une augmentation soudaine de la charge utilisateur.
- Tests d’endurance. Cela teste la façon dont une application logicielle répond à des niveaux accrus et prolongés de trafic utilisateur.
- Test de volume. Le test de volume, également parfois appelé test d’inondation, teste une application logicielle sur de grands ensembles de données pour voir comment elle réagit.
- Tests d’évolutivité. Les tests d’évolutivité permettent de voir comment votre application ou votre système évolue vers le haut et/ou vers le bas jusqu’à différents niveaux d’utilisateurs.
C’était un bref aperçu de « Quoi ». Regardons maintenant « Pourquoi ».
Pourquoi vous devez effectuer des tests de performances d’API : études de cas et ressources
Au fur et à mesure que votre entreprise en ligne se développe, la base d’utilisateurs augmente également. Une API est beaucoup plus susceptible de planter à un moment donné s’il n’y a pas de surveillance et de maintenance régulières.
Une étude de cas célèbre Février 2020 Royaume-Uni Heathrow Disruption est un exemple solide de la raison pour laquelle les tests de charge des logiciels sont essentiels. Vous pouvez également consulter cet article pour en savoir plus sur l’importance des tests de charge dans le développement logiciel et vous référer à cet article pour comprendre les avantages économiques des API de test de performances.
En termes simples, les tests de performances des API vous aident à éviter les temps d’arrêt, avec tous les problèmes correspondants que cela cause. Parlons maintenant du « comment » des tests de performances d’API.
Comment faire des tests de performances d’API avec LoadView Testing par Dotcom-Monitor
Notre plate-forme LoadView offre diverses solutions à la demande pour une variété de tests d’API Web, de pages Web et d’applications Web mises en œuvre et exécutées en quelques minutes via un tableau de bord convivial.
Chez LoadView, nous fournissons des tests de charge sans tracas basés sur le cloud dans des navigateurs réels, ce qui signifie qu’aucune application externe ou bibliothèque / framework n’est nécessaire. LoadView Testing simplifie les tests de performances des API. Voici comment.
Fonctionnement de LoadView
LoadView utilise un réseau mondial de serveurs d’injecteurs de charge (LI) pour générer des charges utilisateur afin de tester les performances du site Web. LoadView fournit des fonctionnalités permettant de créer et de charger des tests sur diverses cibles. Voici quelques-uns des types de tests de charge fournis par LoadView :
- HTTP/S (en)
Testez l’accessibilité, les performances, le contenu correct, les erreurs, les liens rompus, etc. - Site internet
Simulez le chargement simultané d’une page en ligne par des utilisateurs. Choisissez parmi Chrome, Microsoft Edge et Firefox et les navigateurs mobiles tels que iOS, Android, Windows et BlackBerry. - Applications Web
Créez des scripts de test avec EveryStep Web Recorder pour comparer les applications Web à des utilisateurs simultanés effectuant des actions spécifiques sur de vrais ordinateurs (Chrome et Edge) et appareils mobiles. - Médias en streaming
Testez les performances et la disponibilité de vos flux audio et multimédias. - SOAP Web API
Vérifiez les performances, la disponibilité et les réponses des services Web SOAP. - REST Web API
Vérifiez le contenu des réponses, la disponibilité et les performances des services Web REST. - Collections de facteurs
Testez les API Web en important Postman Collections dans LoadView. - Sélénium
Testez les applications Web en exécutant votre projet de test Selenium avec des milliers d’utilisateurs simultanés de divers endroits du monde.
Configurations de test de charge LoadView
Type de charge
Avec LoadView, vous pouvez choisir Courbe de pas de charge, Courbe basée sur les objectifs ou Courbe réglable dynamique. Ces options de courbe de charge vous permettent de réguler le volume d’utilisateurs simultanés pour correspondre à des scénarios réels et fournir des résultats de test plus réalistes.
Durée du test
La durée et les limites du test déterminent le nombre simultané de sessions utilisateur et la durée du test. Lisez notre documentation sur les limites de capacité LoadView pour plus d’informations sur les limites de test.
Comportements des utilisateurs
Pour simuler la façon dont les visiteurs réels se déplacent sur votre site Web, les comportements des utilisateurs sont utilisés. Vous pouvez choisir entre des choix réguliers, maximum ou personnalisés. Lorsque l’option de simulation d’utilisateur normal est utilisée, des délais aléatoires de l’ordre de trois à six secondes sont ajoutés pour simuler le comportement des utilisateurs normaux. Le test est effectué aussi rapidement que possible lorsque vous sélectionnez « maximum ». Vous pouvez utiliser cette fonction pour exécuter des tests de contrainte sur votre système et déterminer où et quand il atteint sa capacité maximale.
L’option « personnalisé » vous donne la même possibilité de sélectionner des délais aléatoires que l’option Normal, mais permet des délais plus courts et plus longs, allant de zéro à 30 secondes, pour une plus grande personnalisation.
Emplacements géographiques
Pour imiter des situations utilisateur plus réalistes en fonction de l’endroit où les gens accèdent généralement à votre site Web, vous pouvez choisir parmi une variété de zones géographiques et diviser les utilisateurs virtuels entre les zones avec LoadView. Choisissez parmi plus de vingt endroits à la fois.
Résumé du test
Les administrateurs de test peuvent consulter des graphiques qui montrent comment les temps de réponse ont changé en fonction de la charge et du nombre d’utilisateurs. Le plan d’exécution des tests, les temps de réponse moyens, le nombre de sessions, le nombre d’erreurs par type et la consommation du processeur par chacun des injecteurs de charge sont quelques-uns des graphiques que vous pourrez consulter.
Les erreurs sont également affichées ici, ainsi que des informations sur le type de problème rencontré et quand il s’est produit pendant le test. Les données brutes d’un test donné peuvent être téléchargées sous forme de fichiers CSV, que vous pouvez utiliser pour créer des rapports ou des présentations personnalisés pour les parties prenantes et les membres de l’équipe.
Si vous ne l’avez pas déjà fait, vous pouvez commencer votre essai gratuit de la plateforme LoadView ici. Et si vous souhaitez une démonstration individuelle, réservez un moment avec l’un de nos ingénieurs de performance. Nous serons heureux d’avoir de vos nouvelles.