En-tête-canalplus

Comment tester efficacement les web services ?

Christophe Cressend
Blog > Automatiser avec Agilitest
Comment tester efficacement les web services ?

L'objectif de cet article est d'expliquer ce qu'est un test web service , comment tester web service et comment créer des tests fonctionnels de webservices avec Agilitest. Nous ne reviendrons pas sur ce qu'est un web service ni sur son rôle dans une architecture orientée services car la littérature est déjà abondante sur le sujet.

Qu'est-ce que le test de webservices

Le test des services Web est un type de test logiciel qui valide Web services. L'objectif des tests de services Web est de vérifier la fonctionnalité, la fiabilité, la performance et la sécurité d'une API (interface de programme d'application). Web Service Les tests sont similaires aux tests unitaires dans certains cas. Vous pouvez tester un Webservice manuellement, créer votre propre code d'automatisation ou utiliser un outil d'automatisation standard comme Agilitest.

Comment tester un Web Service?

Pour tester un web service, vous pouvez soit :

  1. Test manuel
  2. Créez votre propre code d'automatisation
  3. Utilisez un outil d'automatisation standard comme Agilitest pour gagner du temps.

Les tests d'automatisation des services Web comportent les étapes suivantes :

  1. Comprendre le fichier WSDL
  2. Déterminer les opérations que fournit le site web service .
  3. Déterminer le format de la demande XML qui doit être envoyée.
  4. Déterminer le format XML de la réponse
  5. Utiliser un outil ou écrire du code pour envoyer une requête et valider la réponse.

Pourquoi tester les web services

Web services sont généralement étroitement liés aux processus métier pour comprendre l'intérêt de l'automatisation des tests et dans le cadre de campagnes de tests fonctionnels ou de tests d'acceptation. Les possibilités sont infinies mais nous pouvons notamment citer :

  • Des tests sur plusieurs canaux qui permettent d'effectuer une transaction sur un terminal donné (Web sur PC, App sur Android...), puis de vérifier le résultat de l'opération à l'aide d'un site dédié web service.
  • L'inverse est également possible : le test web service permet de vérifier que les données insérées à l'aide d'un web service sont bien visibles dans l'application de l'interface utilisateur.
  • Tests de type annuaire web service qui doivent délivrer les informations nécessaires à un processus global : effectuer des contrôles de sanité de ces services avant de passer à des tests plus globaux permet d'identifier rapidement les causes d'échec.
  • Un autre exemple est celui des contrôles de sanité des services web en production, qui permettent une réponse rapide si le service ne répond plus comme prévu.

C'est dans cette optique que nous avons considéré qu'il était nécessaire d'intégrer la gestion des tests de services web dans Agilitest.

Test des web services avec Agilitest

Multi-canal web service test


Ouverture d'un site de services web canal avec Agilitest

Agilitest permet de tester des services web sur deux technologies dominantes : SOAP, très structuré avec un flux retour en XML et REST, plus récent et très flexible, ayant un flux retour en JSON.

L'ouverture d'un canal se fait de la même manière que tout type d'ouverture de canal dans Agilitest, par l'action"Démarrer un canal". L'utilisateur sélectionne l'adresse de son web service et l'authentification HTTP souhaitée.

Il est également possible d'ouvrir en même temps des canaux sur d'autres applications - pour récupérer des informations supplémentaires et effectuer des contrôles : les canaux de test web service sous Agilitest sont complètement intégrés avec les canaux sur d'autres technologies.

Test graphique web service

Les informations retournées sont visibles dans un visualiseur de services web interne dédié au sein d'Agilitest.

SOAP : Visualisation des webservices disponibles

L'appel d'un service se fait à l'aide de l'action de navigation REST web service ou SOAP web service.

Définition de la méthode d'appel de web service : SOAP ou JSON

L'appel à un REST web service permet de définir quelle "méthode" est utilisée pour récupérer les informations. Il est ensuite possible d'ajouter un en-tête.

Navigation vers un SOAP web service

Le retour d'appel web service s'affiche dans notre visionneuse, et le mode de capture Agilitest est automatiquement activé.

Cela vous permet de sélectionner directement les éléments de réponse que vous souhaitez récupérer. L'utilisation de l'Agilitest locator est identique à ce qui est déjà mis en œuvre sur d'autres technologies : entièrement graphique, bénéficiant de la puissance des expressions régulières... Vous pouvez également glisser-déposer le locator dans l'éditeur pour générer des actions.

Affichage et capture du résultat

Gestion des certificats

Agilitest supporte la gestion des certificats clients pour les actions de tests de services web. Copiez les certificats au format ".pfx" dans le répertoire "assets/certs".

Selon le chemin du certificat dans le répertoire "assets/certs", le certificat sera appliqué aux scripts ATS situés selon la même organisation hiérarchique, par exemple, un certificat à la racine de "assets/certs" sera appliqué pour tous les scripts ATS , un certificat situé dans "assets/certs/ws/functional/domain" sera appliqué pour tous les scripts ATS situés à partir du répertoire "src/ats/functional/domain/".

Une intégration parfaite

Enfin, l'intégration des tests web service dans Agilitest a été rendue parfaitement identique aux autres technologies que nous supportons : très graphique et bénéficiant de toutes les fonctionnalités d'Agilitest : gestion des canal , gestion des variables, sous-scripts et data-driven-testing, etc.

Un ensemble de fonctions techniques plus complexes, telles que la gestion des certificats pour les connexions sécurisées, était nécessaire et a également été mis en œuvre : cela fait d'Agilitest un concurrent sérieux des solutions les plus performantes du marché. La simplicité en plus.

Vous voulez essayer Agilitest ?

Découvrez Agilitest en action. Divisez par 5 le temps nécessaire à la sortie d'une nouvelle version.

Automatiser les tests fonctionnels pour des équipes heureuses.  

  • Des tests manuels aux tests automatisés
  • De l'automatisation des tests à l'automatisation intelligente des tests
  • Trouver les bons outils
ebook-scaling-test-automation-agilitest

Recevez les actualités du monde du test et d'Agilitest dans votre boîte mail

Rejoignez des milliers d'abonnés. Conforme RGPD et CCPA.