Tutoriel de test de charge avec Postman



Beaucoup des services web actuels incorporent des API (interfaces de programmation applicative), permettant l’échange de diverses informations entre les systèmes. Les API servent de lien solide entre les services essentiels et les utilisateurs. Comme pour tout composant crucial du système, il est impératif d’évaluer les API. L’utilisation d’outils tiers de test d’API tels que 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, l’utilisation de Postman pour les tests de charge n’est pas aussi simple.

Dans ce tutoriel de test de charge avec Postman, nous aborderons ce qu’est Postman, le test de charge avec Postman, et comment réaliser un test de charge avec Postman afin que vous puissiez commencer à effectuer des tests de charge 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 à utiliser. Avec Postman, les développeurs peuvent facilement créer, envoyer et tester des requêtes HTTP, en particulier pour les API RESTful. Il prend en charge divers types de méthodes HTTP, d’authentifications, et permet d’organiser et d’automatiser les workflows de test d’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 l’API où les services sont distribués à travers des microservices et des plateformes cloud. Aujourd’hui, Postman est également très utilisé dans les écosystèmes API modernes qui incluent des microservices, des applications conteneurisées et des architectures cloud natives, faisant de la validation des API une partie critique du workflow de développement.

Postman est un outil de développement d’API utilisé dans le cycle de vie du développement logiciel :

  • Développement d’API
  • Test d’API
  • Documentation d’API

Mais Postman ne sert pas uniquement au développement. Il peut également 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 enregistrées dans des collections pour vous permettre de les exécuter dans un ordre spécifique lorsque nécessaire, ce qui rend votre workflow plus organisé.

En ce qui concerne le test des 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, enregistre et met à jour correctement les données, ce qui en fait une partie 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 ou des charges lourdes. Donc, si vous devez voir comment votre API résiste à la pression, vous aurez besoin d’un outil dédié au test de charge.

Pour des tests de performance plus approfondis, vous aurez besoin d’un outil spécialisé de test de charge comme LoadView. Des outils comme LoadView peuvent simuler des conditions réelles pour vous aider à tester la résistance de vos API et à collecter des métriques complètes pour vous assurer qu’elles peuvent gérer un trafic élevé et un usage intensif. Cela est crucial pour garantir que votre API peut 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, garantissant des capacités complètes de test d’API. Malgré la multitude de fonctionnalités, il existe quelques fonctions de base essentielles pour chaque testeur d’API. Examinons plus en détail ces fonctionnalités clés.
 

  • Importation de requêtes – Postman inclut une fonction 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 prise en charge – La fonction client API de Postman vous permet d’envoyer des requêtes REST, SOAP, WSDL et GraphQL.
  • Écriture de cas de test – Vous pouvez écrire des cas de test pour exécuter les API et aider à la validation des réponses, y compris les assertions pour les réponses JSON/XML et la vérification des codes de réponse.
  • Collections – Postman aide à la création de collections, permettant l’organisation des API dans une structure de dossiers pour des projets distincts. Il offre la possibilité d’exécuter une collection, ce qui lance ensuite toutes les API comprises 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 des réponses. Cela aide à organiser et structurer le contenu JSON, améliorant sa clarté et sa lisibilité dans Postman.
  • Utilisation des environnements et variables dynamiques – Dans Postman, vous pouvez créer des variables, et ces variables peuvent se voir attribuer différentes valeurs. Cela est utile lorsque vous travaillez avec les mêmes API dans plusieurs environnements réels.
  • Conversion d’API en code – Postman permet de convertir la requête API en code dans tous les principaux langages comme JavaScript, Golang, Java, PHP, Python et bien plus.

Avantages du test de charge avec Postman

  • Évaluation des performances : Le test de charge aide à évaluer la performance de vos API sous différents niveaux d’activité utilisateur simultanée. Il vous permet de comprendre comment votre système gère les charges accrues et si les attentes en matière de performance sont respectées.
  • Test de scalabilité : Les capacités de test de charge de Postman vous permettent de tester la scalabilité de votre API, vous aidant à déterminer à quel point elle peut gérer des volumes de trafic et de données croissants.
  • Identification des goulets d’étranglement : Le test de charge aide à identifier les potentiels goulets d’étranglement ou faiblesses dans votre infrastructure API. Cette information est cruciale pour optimiser et affiner votre système afin d’assurer qu’il gère efficacement les charges accrues.
  • Test de stress : Postman vous permet de simuler des conditions de stress en générant des charges lourdes sur votre API. Cela vous aide à comprendre les points de rupture et les limites de votre système, vous permettant de faire 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 font 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 à réduire les coûts en évitant les temps d’arrêt potentiels ou les corrections coûteuses en production.
  • Amélioration de l’expérience utilisateur : En s’assurant que votre API peut gérer de fortes charges et bien performer sous stress, vous pouvez offrir une expérience plus fluide et fiable à vos utilisateurs.

Limites des tests de charge avec Postman

Bien que Postman soit excellent pour le test et le développement d’API, il présente des limites en matière de test de charge. Un inconvénient majeur est son incapacité à simuler efficacement des niveaux élevés d’utilisateurs simultanés ou des scénarios complexes. Postman se concentre principalement sur les tests fonctionnels et la validation plutôt que sur la performance sous conditions de stress. De plus, son interface graphique et ses capacités de script peuvent ne pas bien évoluer pour des charges massives ou une analyse détaillée des métriques de performance comparé à des outils dédiés comme LoadView. Pour des besoins de tests de charge complets, il est recommandé d’utiliser des outils spécialisés conçus spécifiquement pour cela plutôt que de se fier uniquement à Postman.

 

Test de charge avec l’outil REST/RESTFUL Postman

Lorsque vous testez une application back-end, tester la fonctionnalité fait partie du processus standard afin de s’assurer que tout fonctionne comme prévu. Vos applications seront utilisées par de nombreux, voire des centaines ou des milliers d’utilisateurs en même temps, il est donc nécessaire d’effectuer des tests de performance pour voir comment elles résistent à ce trafic. Nous devons mesurer et valider l’application à chaque modification.

Dans le cas où vous utilisez Postman pour tester la fonctionnalité 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 un test de charge basé sur de vrais navigateurs pour les API, ainsi que les applications web (externes et internes), les sites web et serveurs.

Configuration du test de charge Postman

Nous allons examiner étape par étape comment configurer un test de charge pour une application web à partir d’une collection Postman.

Étape 1

Avant de commencer, vous devez exporter la collection Postman. Vous pouvez choisir l’option Obtenir le lien public et l’importer facilement dans LoadView.

  • Remarque : Assurez-vous que la collection Postman utilise uniquement des variables locales car les variables d’environnement ne sont pas stockées dans la collection.
Postman Collection Export

É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 commencer les tests API.

Load testing type Postman

Étape 4

Une nouvelle fenêtre s’ouvrira, et c’est ici que vous devrez importer la collection Postman exportée et cliquer sur Créer l’appareil.

Postman Collection Request

Étape 5

Une fois que nous avons créé un appareil avec succès, vous verrez l’écran Scénario de test, où vous pouvez définir le Type de charge. Cela varie 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 un objectif. Cette configuration de test est employée lorsque vous cherchez à atteindre un nombre désiré de transactions par seconde pour notre API spécifique et à augmenter jusqu’aux utilisateurs concurrents ciblés.
  • Courbe basée sur le dynamique. Cette configuration vous permet de sélectionner des valeurs dynamiques pour le nombre d’utilisateurs, le nombre maximum d’utilisateurs et la durée du test. Ces paramètres peuvent être ajustés en temps réel pendant le test.
Postman Collection Load Types

Étape 6

Une fois que vous avez créé un scénario de test avec la liste de toutes vos API, vous pouvez maintenant exécuter vos tests de charge et de stress pour vos API.

Après l’exécution du test de charge, vous recevrez des rapports complets, des tableaux de bord et des métriques montrant comment votre API et vos systèmes ont performé sous différentes charges. De nombreuses équipes corrèlent également ces résultats de tests de charge avec des plateformes d’observabilité pour surveiller les métriques de l’infrastructure, les performances de la base de données, et les dépendances de service lors d’un trafic API élevé.

Intégration du test de charge Postman Collection avec Jenkins

Après avoir exploré l’intégration et l’exécution des tests de charge Postman Collection avec LoadView, nous pouvons intégrer ces tests dans notre pipeline CI/CD pour recevoir un retour d’information cohérent 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 API en utilisant des connexions simultanées dans de vrais navigateurs depuis un environnement cloud entièrement géré. Le plugin LoadView pour Jenkins permet de tester en charge toute nouvelle mise à jour ou fonctionnalité supplémentaire.

Examinons les étapes utilisées pour le scénario de test Postman collection créé précédemment dans LoadView et comment il s’intègre 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. Il sera utilisé comme jeton de sécurité pour l’intégration dans Jenkins.

Postman Jenkins Integration UID

Étape 3

L’ID 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 (Test Manager > menu des actions de test > Historique).

Postman Collection Test History

Plugin LoadView dans Jenkins

Pour configurer le plugin LoadView, suivez ces étapes :

  1. Connectez-vous à votre compte Jenkins.
  2. Dans Jenkins, allez à Identifiants > Ajouter des identifiants > Jeton de sécurité LoadView (UID). Configurez et validez les identifiants.
    • Type – Jeton de sécurité LoadView (UID).
    • Périmètre – Sélectionnez Global.
    • ID – Laissez l’identifiant par défaut ou spécifiez-en un unique.
    • Description – Indiquez une description unique pour distinguer les identifiants.
    • UID – Collez l’UID API web de test de charge de votre compte LoadView. Une fois l’UID ajouté, cliquez sur Valider UID pour vous assurer que Jenkins peut accéder à l’API LoadView.
  3. Sélectionnez ensuite un job et cliquez sur Configurer.
Jenkins LoadView Security Token

4. Allez dans Build > Actions post-build > Ajouter une action post-build > LoadView-Exécuter le scénario de test de charge. Spécifiez les paramètres de test de charge LoadView pour la build :

  • Identifiants – Sélectionnez la clé API via la description.
  • ID du scénario – Collez l’ID du scénario de test que vous souhaitez utiliser dans la build. Copiez l’ID depuis la page du scénario dans LoadView.
  • Seuil d’erreur – Spécifiez un pourcentage acceptable de sessions avec erreurs survenues lors du test (échec d’accès à la ressource cible, mots-clés/image non trouvés, etc.). Si le pourcentage de sessions d’erreur est supérieur à la valeur spécifiée, la build 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 build sera marquée comme un échec dans Jenkins.

5. Cliquez sur Enregistrer.

Voir les résultats du test LoadView

Enfin, nous avons intégré avec succès notre collection Postman avec Jenkins en utilisant LoadView. Pendant que notre test de stress est en cours, le statut s’affiche dans la Sortie Console de Jenkins en mode temps réel.

Postman Jenkins Console Output
Postman Jenkins LoadView Test Performance Results

Conclusions : Testez la charge de votre API avec Postman

Dans ce guide, nous avons expliqué comment simuler des utilisateurs simultanés avec votre collection Postman à l’aide de 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 dépendant d’applications internes et externes. Cette simplification aide à identifier les goulets d’étranglement et les problèmes avec une meilleure clarté.

Chez LoadView, notre objectif est de vous accompagner dans tous vos efforts de test de charge, en vous soutenant à chaque étape du développement et en gérant tout niveau de complexité. Le test de charge ne doit pas être compliqué et la plateforme LoadView rend le processus de test de charge de vos API facile. Vous pouvez intégrer sans effort votre collection Postman avec LoadView pour effectuer vos tests de charge.

L’équipe d’experts LoadView est disponible pour vous soutenir, vous et votre équipe, lors du développement et de l’amélioration de votre stratégie de test de charge, et vous trouverez que notre plateforme est intuitive et facile à utiliser même pour les utilisateurs non techniques. LoadView offre des tests dans de vrais navigateurs, un scripting point-and-click, et des rapports complets et lisibles qui éliminent les conjectures des tests de charge et permettent une collaboration efficace entre les fonctions de développement.

Commencez dès aujourd’hui à tester la charge de vos API avec LoadView. Inscrivez-vous pour l’essai gratuit et recevez des tests de charge gratuits. Ou inscrivez-vous à l’un de nos démos privées avec l’un de nos ingénieurs performance. Notre ingénieur vous guidera sur la plateforme complète LoadView, et nous vous montrerons comment intégrer LoadView dans les collections Postman et automatiser les étapes avec Jenkins.

Passez votre test d’utilisateurs concurrents au
niveau supérieur

Découvrez des fonctionnalités inégalées avec une évolutivité illimitée. Aucun carte de crédit, aucun contrat.