Tutoriel de Test de Charge avec Postman
De nombreux services web actuels intègrent des API (interfaces de programmation applicative), permettant l’échange d’informations diverses entre systèmes. Les API servent de connexion robuste entre services essentiels et utilisateurs. Comme pour tester tout composant crucial d’un système, évaluer les API est impératif. L’utilisation d’outils tiers de test API comme Postman facilite les tests manuels et automatisés, incluant des capacités de surveillance des API.
Postman est un outil largement reconnu dans le domaine des outils de test pour valider les requêtes API. Bien que son adoption pour les tests API généraux soit répandue, utiliser Postman pour les tests de charge n’est pas aussi simple.
Dans ce tutoriel de test de charge avec Postman, nous couvrirons ce qu’est Postman, le test de charge avec Postman, et comment effectuer un test de charge avec Postman afin que vous puissiez commencer à tester la charge de vos API avec Postman.
Qu’est-ce que Postman ?
Postman est un outil largement utilisé qui aide les développeurs à tester, concevoir et gérer les API dans un environnement collaboratif et facile d’utilisation. Avec Postman, les développeurs peuvent créer, envoyer et tester facilement des requêtes HTTP, en particulier pour les API RESTful. Il supporte divers types de méthodes HTTP, d’authentifications, et permet d’organiser et d’automatiser les flux de test API, ce qui en fait un outil essentiel dans le processus de développement d’API. Postman est couramment utilisé dans les environnements pilotés par API où les services sont distribués à travers des microservices et des plateformes cloud. Aujourd’hui, Postman est aussi largement utilisé dans les écosystèmes API modernes qui incluent microservices, applications conteneurisées et architectures cloud natives, rendant la validation des API une partie critique du workflow de développement.
Postman est un outil de développement API utilisé dans le cycle de vie du développement logiciel :
- Développement d’API
- Tests d’API
- Documentation d’API
Mais Postman ne se limite pas au développement. Il peut aussi fonctionner comme un navigateur pour envoyer des requêtes et recevoir des réponses. De plus, vous pouvez ajouter des scripts à exécuter avant l’envoi des requêtes et après la réception des réponses, ce qui vous donne plus de contrôle sur vos interactions API. Les requêtes peuvent être sauvegardées dans des collections vous permettant de les exécuter dans un ordre précis quand nécessaire, rendant votre flux de travail plus organisé.
Pour ce qui est des tests d’API, Postman est un excellent outil pour s’assurer que tout fonctionne comme prévu. Il aide à vérifier que votre API récupère, sauvegarde et met à jour correctement les données, en faisant une pièce clé des tests fonctionnels. Cependant, il est important de se rappeler que Postman n’est pas conçu pour les tests de performance. Bien qu’il puisse exécuter de petits tests pour vérifier les temps de réponse, il ne simule pas un trafic réel ni des charges lourdes. Donc, si vous avez besoin de voir comment votre API supporte la pression, vous aurez besoin d’un outil dédié aux tests de charge.
Pour des tests de performance plus approfondis, vous aurez besoin d’un outil spécialisé comme LoadView. Des outils comme LoadView peuvent simuler des conditions réelles pour vous aider à effectuer des tests de stress sur vos APIs et collecter des métriques complètes afin d’assurer qu’elles peuvent supporter un trafic élevé et un usage intense. Ceci est crucial pour garantir que votre API puisse bien performer dans toutes les circonstances, et pas seulement dans des environnements de test contrôlés.
Fonctionnalités de Postman
Postman offre aux utilisateurs une large gamme de fonctionnalités, allant de l’API Postman et des contrôles de workflow aux moniteurs intégrés pour les tests de régression, assurant des capacités complètes de test d’API. Malgré la multitude de fonctionnalités, quelques fonctionnalités clés sont essentielles pour chaque testeur API. Regardons de plus près ces fonctionnalités clés.
- Importer des requêtes – Postman inclut une fonctionnalité d’importation qui permet aux utilisateurs de coller du texte CURL brut, le transformant en une requête formatée avec des détails tels que l’URL de la requête, les en-têtes, le corps de la requête, les paramètres de requête, et les jetons d’autorisation.
- Multiples protocoles et supports – La fonctionnalité client API de Postman vous permet d’envoyer des requêtes REST, SOAP, WSDL et GraphQL.
- Écrire des cas de test – Vous pouvez écrire des cas de test pour exécuter des API et aider à valider les réponses, incluant des assertions pour les réponses JSON/XML ainsi que la vérification des codes de réponse.
- Collections – Postman facilite la création de collections, permettant d’organiser les API dans une structure de dossiers pour différents projets. Il offre la capacité d’exécuter une collection, qui lance ensuite toutes les API incluses dans cette collection spécifique.
- Validation de schéma JSON – Le schéma JSON (JavaScript Object Notation) peut être utilisé pour définir la structure des requêtes et réponses. Ceci aide à organiser et structurer le contenu JSON, améliorant sa clarté et sa lisibilité dans Postman.
- Utilisation de variables d’environnement et dynamiques – Dans Postman, vous pouvez créer des variables, auxquelles peuvent être assignées différentes valeurs. Ceci est utile quand on travaille avec les mêmes API dans plusieurs environnements réels différents.
- Conversion d’API en code – Postman permet de convertir la requête API en code dans tous les langages majeurs comme JavaScript, Golang, Java, PHP, Python et bien d’autres.
Avantages du test de charge avec Postman
- Évaluation des performances : Le test de charge aide à évaluer les performances de vos APIs sous différents niveaux d’utilisateurs concurrents. Il permet de comprendre comment votre système gère des charges accrues et s’il répond aux attentes de performance.
- Test de montée en charge : Les capacités de test de charge de Postman vous permettent de tester la montée en charge de votre API, vous aidant à déterminer sa capacité à gérer des quantités croissantes de trafic et de données.
- Identification des goulets d’étranglement : Le test de charge aide à identifier les points faibles ou les goulots potentiels dans votre infrastructure API. Cette information est cruciale pour optimiser et affiner votre système afin de garantir qu’il gère efficacement l’augmentation des charges.
- Tests de stress : Postman vous permet de simuler des conditions stressantes en générant de fortes charges sur votre API. Cela vous aide à comprendre les points de rupture et les limites de votre système, vous permettant ainsi d’apporter les améliorations nécessaires.
- Test de concurrence : Le test de charge dans Postman vous permet de tester la performance de votre API lorsque plusieurs utilisateurs effectuent des requêtes simultanément. Ceci est important pour les applications qui doivent gérer des interactions utilisateurs concurrentes.
- Rentabilité : En identifiant et en résolvant les problèmes de performance tôt dans le cycle de développement, le test de charge avec Postman peut contribuer à des économies en évitant des temps d’arrêt potentiels ou des corrections coûteuses en production.
- Amélioration de l’expérience utilisateur : En garantissant que votre API peut gérer des charges élevées et performer sous stress, vous pouvez offrir une expérience plus fluide et plus fiable à vos utilisateurs.
Limites des tests de charge avec Postman
Bien que Postman soit excellent pour les tests API et le développement, il présente des limites lorsqu’il s’agit de tests de charge. Une des principales limites est son incapacité à simuler efficacement des niveaux élevés d’utilisateurs concurrents ou des scénarios complexes. L’objectif principal de Postman est le test fonctionnel et la validation plutôt que la performance sous conditions de stress. De plus, son interface graphique et ses capacités de script peuvent ne pas bien s’adapter aux charges massives ou à l’analyse complexe des métriques de performance comparé à des outils dédiés de test de charge comme LoadView. Pour des besoins complets de test de charge, il est recommandé d’utiliser des outils spécialisés conçus spécifiquement pour le test de charge plutôt que de se fier uniquement à Postman.
Test de charge avec l’outil Postman REST/RESTFUL
Lors des tests d’une application back-end, tester la fonctionnalité est une étape standard du processus pour garantir que tout fonctionne comme prévu. Vos applications seront utilisées par beaucoup, voire des centaines ou milliers d’utilisateurs en même temps, donc il est aussi nécessaire de réaliser des tests de performance pour voir comment elles tiennent face à ce trafic. Il faut établir des repères et valider l’application à chaque modification.
Dans le cas où vous utilisez Postman pour tester les fonctionnalités de votre API web et que vous devez générer des tests de charge à partir des collections d’appels API, vous pouvez choisir d’utiliser un outil de test de charge comme LoadView. LoadView offre des tests de charge basés sur un navigateur réel pour les API ainsi que pour les applications web (externes et internes), et les sites web et serveurs.
Configuration du test de charge Postman
Nous allons examiner étape par étape comment configurer un test de charge d’une application web pour une collection Postman.
Étape 1
Avant de commencer, vous devez exporter la collection Postman. Vous pouvez choisir l’option d’obtenir un lien public et l’importer facilement dans LoadView.
- Note : Assurez-vous que la collection Postman utilise uniquement des variables locales car les variables d’environnement ne sont pas stockées dans la collection.
Étape 2
Ouvrez la plateforme LoadView et sélectionnez Créer un nouveau test de charge.
Étape 3
Vous verrez ici les différents types de test de charge disponibles dans LoadView.
Applications web, sites web et API. Pour notre cas d’utilisation, vous sélectionnerez l’option Collection Postman pour démarrer les tests API.
Étape 4
Une nouvelle fenêtre s’ouvrira, c’est ici que vous devrez importer la collection Postman exportée et cliquer sur Créer l’appareil.
Étape 5
Une fois que nous avons créé avec succès un appareil, vous verrez l’écran Scénario de test, où vous pouvez définir le Type de charge. Cela diffère selon l’objectif de votre test.
- Courbe basée sur la charge. Cela exécute vos tests de charge avec un nombre connu d’utilisateurs et augmente le trafic après un temps de chauffe défini.
- Courbe basée sur l’objectif. Cette configuration de test est utilisée lorsque vous cherchez à atteindre un nombre cible de transactions par seconde pour votre API spécifique et lorsque vous augmentez le nombre d’utilisateurs concurrents ciblés.
- Courbe basée sur dynamique. Cette configuration permet de sélectionner des valeurs dynamiques pour le nombre d’utilisateurs, le maximum d’utilisateurs et la durée du test. Ces paramètres peuvent être ajustés en temps réel pendant le test.
Étape 6
Une fois que vous avez créé un scénario de test avec la liste de toutes vos APIs, vous pouvez désormais exécuter vos tests de charge et de stress pour vos APIs.
Après l’exécution du test de charge, vous recevrez des rapports complets, des tableaux de bord et des métriques qui montrent comment votre API et vos systèmes ont performé sous différentes charges. Beaucoup d’équipes corrèlent aussi ces résultats de test de charge avec des plateformes d’observabilité pour surveiller les métriques d’infrastructure, la performance des bases de données, et les dépendances des services lors d’un trafic API élevé.
Intégration du test de charge de la collection Postman avec Jenkins
Après avoir exploré l’intégration et l’exécution des tests de charge des collections Postman avec LoadView, nous pouvons intégrer ces tests dans notre pipeline CI/CD pour recevoir un retour constant et des résultats de performance.
LoadView offre une intégration fluide avec Jenkins, facilitant les tests de stress des sites web, applications web et APIs en utilisant des connexions simultanées via des navigateurs réels depuis un environnement cloud entièrement géré. Le plugin LoadView pour Jenkins permet de tester la charge de toute nouvelle mise à jour ou fonctionnalité supplémentaire.
Examinons les étapes utilisées pour le scénario de test de collection Postman créé précédemment dans LoadView et son intégration avec Jenkins.
Étape 1
Pour intégrer vos tests avec Jenkins, vous utiliserez le même scénario de test Postman de la section précédente.
Étape 2
Créez un UID unique et copiez l’UID d’intégration. Cela sera utilisé comme token de sécurité à intégrer dans Jenkins.
Étape 3
L’identifiant du scénario de test pour notre collection Postman peut être trouvé sur la page de configuration du scénario ou sur la page Historique des tests (Gestionnaire de tests > menu des actions du test > Historique).
Plugin LoadView dans Jenkins
Pour configurer le plugin LoadView, suivez ces étapes :
- Connectez-vous à votre compte Jenkins.
- Dans Jenkins, allez dans Identifiants > Ajouter des identifiants > Jeton de sécurité LoadView (UID). Configurez et validez les identifiants.
- Type – Jeton de sécurité LoadView (UID).
- Portée – Sélectionnez Global.
- ID – Laissez la valeur par défaut ou spécifiez un ID unique.
- Description – Spécifiez une description unique pour distinguer les identifiants.
- UID – Collez l’UID API web de test de charge depuis votre compte LoadView. Une fois l’UID ajouté, cliquez sur Valider l’UID pour s’assurer que Jenkins puisse accéder à l’API LoadView.
- Ensuite, sélectionnez un job et cliquez sur Configurer.
4. Allez dans Construction > Actions post-construction > Ajouter une action post-construction > LoadView – Exécuter le scénario de test de charge. Spécifiez les paramètres du test de charge LoadView pour la construction :
- Identifiants – Sélectionnez la clé API via la description.
- ID du scénario – Collez l’ID du scénario de test que vous voulez utiliser dans la construction. Copiez l’ID à partir de la page scénario dans LoadView.
- Seuil d’erreur – Spécifiez un pourcentage acceptable de sessions avec erreurs survenues durant le test (échec d’accès à la ressource cible, aucun mot-clé/image trouvé, etc.). Si le pourcentage de sessions erronées est supérieur à la valeur spécifiée, la construction sera marquée comme un échec dans Jenkins.
- Temps moyen – Spécifiez une limite pour un temps de réponse moyen mesuré pendant l’exécution du test. Si la limite est atteinte, la construction sera marquée comme échec dans Jenkins.
5. Cliquez sur Enregistrer.
Voir les résultats des tests LoadView
Enfin, nous avons intégré avec succès notre collection Postman avec Jenkins via LoadView. Pendant que notre test de stress s’exécute, le statut est affiché dans la Sortie console Jenkins en temps réel.
Conclusions : Tester la charge de votre API avec Postman
Dans ce guide, nous avons montré comment simuler des utilisateurs concurrents avec votre collection Postman en utilisant LoadView et comment automatiser cette étape via l’intégration Jenkins avec LoadView. Récemment, les outils nécessaires pour évaluer ces applications ont été simplifiés, offrant une aide significative pour tester des systèmes complexes reposant à la fois sur des applications internes et externes. Cette simplification aide à identifier les goulets d’étranglement et les problèmes avec une plus grande clarté.
Chez LoadView, notre objectif est d’être votre partenaire pour tous vos efforts de test de charge, vous soutenant à chaque étape du développement et traitant tout niveau de complexité. Les tests de charge ne doivent pas être compliqués et la plateforme LoadView facilite le processus de test de charge de vos APIs. Vous pouvez intégrer facilement votre collection Postman avec LoadView pour réaliser vos tests de charge.
L’équipe d’experts de LoadView est disponible pour vous soutenir, vous et votre équipe, dans le développement et l’amélioration de votre stratégie de test de charge, et vous trouverez notre plateforme intuitive et facile à utiliser même pour des utilisateurs non techniques. LoadView offre des tests avec navigateur réel, des scripts à clic et point, ainsi que des rapports complets et lisibles qui éliminent les incertitudes liées aux tests de charge et permettent une collaboration efficace entre fonctions de développeurs.
Commencez dès aujourd’hui à tester la charge de vos APIs avec LoadView. Inscrivez-vous pour un essai gratuit et recevez des tests de charge gratuits. Ou inscrivez-vous pour l’un de nos démos privées avec l’un de nos ingénieurs performance. Notre ingénieur vous guidera à travers la plateforme complète LoadView, et nous vous montrerons comment intégrer LoadView dans les collections Postman et automatiser les étapes avec Jenkins.
Élevez vos tests de charge au niveau supérieur
niveau supérieur
Découvrez des fonctionnalités inégalées avec une évolutivité illimitée. Pas de carte de crédit, pas de contrat.