Qu'est-ce qu'un test SOA ? Tutoriel avec exemple

โšก Rรฉsumรฉ intelligent

Les tests SOA valident une architecture orientรฉe services. Archiune architecture dans laquelle des services faiblement couplรฉs รฉchangent des messages sur un rรฉseau, en vรฉrifiant chaque service individuellement, les intรฉgrations entre eux et le flux mรฉtier complet de bout en bout.

  • (I.e. Archi Les services sont des fonctions mรฉtier rรฉutilisables que n'importe quelle application peut appeler, assembler ou remplacer indรฉpendamment.
  • โ˜‘๏ธ Couches: Les tests ciblent la couche de services, la couche de processus et la couche client de l'application.
  • โœ… Niveaux: Les tests de niveau de service, d'interface et de bout en bout couvrent ensemble les problรจmes.tracts, flux de donnรฉes et scรฉnarios d'affaires.
  • ๐Ÿงช Mรฉthodologie: Des tests de donnรฉes basรฉs sur des scรฉnarios, des stubs, des contrรดles fonctionnels, de sรฉcuritรฉ, de performance, d'intรฉgration et de rรฉgression sont appliquรฉs ร  chaque niveau.
  • ๏ธ Outillage: SoapUI, Virtualisation des services Broadcom, OpenText UFT One et Parasoft SOAtest couvrent les tests fonctionnels, virtuels et de charge.
  • โš ๏ธ Dรฉfis: L'absence d'interfaces, l'isolation multicouche des dรฉfauts, la charge imprรฉvisible et les technologies hรฉtรฉrogรจnes augmentent les coรปts de planification.

Tests SOA

Quโ€™est-ce que les tests SOA ?

SOA (Orientรฉ Services Architest de structure) Il s'agit de tester le style architectural SOA, dans lequel les composants de l'application sont conรงus pour communiquer via des protocoles de communication, gรฉnรฉralement sur un rรฉseau.

Qu'est-ce que SOA ?

SOA est une mรฉthode d'intรฉgration d'applications et de processus mรฉtier afin de rรฉpondre aux besoins de l'entreprise.

In Gรฉnie logicielL'architecture orientรฉe services (SOA) offre agilitรฉ et flexibilitรฉ aux processus mรฉtier. Une modification apportรฉe ร  un processus ou ร  une application peut cibler un composant particulier sans affecter l'ensemble du systรจme.

Les dรฉveloppeurs de logiciels travaillant dans le domaine de l'architecture orientรฉe services (SOA) dรฉveloppent ou achรจtent des modules de programmes appelรฉs services.

Qu'est-ce que le service ?

Le schรฉma ci-dessous illustre une passerelle de paiement proposรฉe comme un service que plusieurs sites de commerce รฉlectronique peuvent appeler.

Passerelle de paiement publiรฉe en tant que service SOA rรฉutilisable appelรฉ par une application de commerce รฉlectronique

  • Un service peut รชtre une unitรฉ fonctionnelle d'une application ou d'un processus mรฉtier, rรฉutilisable par toute autre application ou tout autre processus. (Par exemple, dans l'image ci-dessus, la passerelle de paiement est un service rรฉutilisable par tout site de commerce รฉlectronique. Lorsqu'un paiement doit รชtre effectuรฉ, le site de commerce รฉlectronique appelle ou sollicite le service de passerelle de paiement. Une fois le paiement effectuรฉ sur la passerelle, une rรฉponse est renvoyรฉe au site de commerce รฉlectronique.)
  • Les services sont faciles ร  assembler et les composants faciles ร  reconfigurer.
  • Les services peuvent รชtre comparรฉs ร  des รฉlรฉments de construction. Ils permettent de crรฉer n'importe quelle application nรฉcessaire, et il est facile de les ajouter ou de les supprimer de l'application ou du processus mรฉtier.
  • Les services sont davantage dรฉfinis par la fonction mรฉtier qu'ils remplissent que par des blocs de code.

Services Web

La plupart des services SOA sont exposรฉs en tant que services web ; il est donc important de dรฉfinir les mรฉcanismes dโ€™un appel de service web avant les couches de test.

Service Web fonctionnant comme un composant d'application indรฉpendant disponible sur le Web

Les services Web Ce sont des composants d'application indรฉpendants disponibles sur le web.

Ces services peuvent รชtre publiรฉs, trouvรฉs et utilisรฉs sur le web, et communiquent via Internet. La sรฉquence ci-dessous illustre l'interaction entre un fournisseur, un registre et un consommateur.

Publier, trouver et lier une sรฉquence entre un fournisseur de services, un registre de services Web et un consommateur

  • Le fournisseur de services publie le service sur Internet.
  • Le client recherche un service Web particulier dans le registre des services Web.
  • A URL et la WSDLName Les donnรฉes du service web requis sont renvoyรฉes. En utilisant le WSDL et le URLLa communication entre le fournisseur de services et le demandeur s'effectue par le biais de messages SOAP.
  • Lorsqu'un consommateur appelle un service web, une connexion HTTP est รฉtablie avec le fournisseur.
  • Un message SOAP est crรฉรฉ pour indiquer au fournisseur d'invoquer la logique de service Web requise.
  • La rรฉponse reรงue du fournisseur est un message SOAP intรฉgrรฉ ร  la rรฉponse HTTP. Cette rรฉponse HTTP correspond au format de donnรฉes comprรฉhensible par l'application consommatrice.

Exemple

La capture d'รฉcran ci-dessous montre un bulletin mรฉtรฉorologique fourni par un service externe et intรฉgrรฉ ร  la page d'accueil d'un moteur de recherche.

Service de bulletins mรฉtรฉorologiques achetรฉ auprรจs d'un fournisseur et intรฉgrรฉ ร  la page d'accueil d'un site web

La page d'accueil d'un site web et un moteur de recherche affichent un bulletin mรฉtรฉo quotidien. Plutรดt que de dรฉvelopper cette section soi-mรชme, il est possible d'acheter un service de bulletins mรฉtรฉo auprรจs d'un fournisseur et de l'intรฉgrer aux pages.

Couches de test SOA

L'architecture orientรฉe services (SOA) comprend diverses technologies, et les applications construites avec la SOA comportent diffรฉrents services faiblement couplรฉs. Le diagramme ci-dessous illustre les trois couches qu'un plan de test doit couvrir.

Trois couches de test SOA empilรฉes en couche de services, couche de processus et couche de consommateur

Les tests SOA doivent se concentrer sur 3 couches systรจme.

Couche de services

Cette couche est constituรฉe des services exposรฉs par un systรจme, dรฉrivรฉs des fonctions mรฉtier.

Prenons par exemple un site web de bien-รชtre composรฉ de :

  • Poids Tracker
  • Blood Sugar Tracker
  • Tension artรฉrielle Tracker

TracLes fonctions `ker` affichent les donnรฉes correspondantes et la date de leur saisie. La couche de services comprend les services qui rรฉcupรจrent les donnรฉes correspondantes de la base de donnรฉes :

  • Poids Tracservice ker
  • Blood Sugar Tracservice ker
  • Tension artรฉrielle Tracservice ker
  • Service de connexion

Couche de processus

La couche processus est constituรฉe des processus, c'est-ร -dire l'ensemble des services qui font partie d'une fonctionnalitรฉ unique.

Ces processus peuvent faire partie d'une interface utilisateur (par exemple, un moteur de recherche) ou d'un outil ETL qui extrait des donnรฉes de la base de donnรฉes.

Cette couche se concentre principalement sur les interfaces utilisateur et les processus. L'interface utilisateur du poids tracL'objectif principal est le fonctionnement de ker et son intรฉgration avec la base de donnรฉes.

Les fonctions suivantes sont ร  prendre en considรฉration :

  • Ajout de nouvelles donnรฉes
  • Modification des donnรฉes existantes
  • Crรฉer un nouveau tracker
  • Supprimer des donnรฉes

Couche consommateur

Cette couche comprend principalement les interfaces utilisateur, comme l'illustre la capture d'รฉcran ci-dessous.

Interface utilisateur de niveau consommateur du site web de bien-รชtre qui appelle le systรจme sous-jacent tracservices ker

En fonction de ces couches, les tests d'une application SOA sont rรฉpartis en trois niveaux :

  • Niveau de service
  • Niveau de l'interface
  • Niveau de bout en bout

Les deux approches diffรจrent : une approche descendante est utilisรฉe pour la conception des tests, tandis quโ€™une approche ascendante est utilisรฉe pour leur exรฉcution.

Stratรฉgie pour les tests SOA

Approche de planification des tests

  • Les testeurs SOA doivent comprendre l'architecture complรจte de l'application.
  • L'application doit รชtre dรฉcomposรฉe en services indรฉpendants (un service qui possรจde sa propre structure de requรชte et de rรฉponse et qui ne dรฉpend d'aucun autre service pour former une rรฉponse).
  • La structure de l'application doit รชtre rรฉorganisรฉe en trois composantes : les donnรฉes, les services et les applications frontales.
  • Tous les รฉlรฉments doivent รชtre analysรฉs avec soin et des scรฉnarios d'affaires doivent รชtre รฉlaborรฉs.
  • Les scรฉnarios mรฉtier doivent รชtre classรฉs en scรฉnarios communs et en scรฉnarios spรฉcifiques ร  l'application.
  • A Matrice de traรงabilitรฉ doivent รชtre prรฉparรฉs, et tous les cas de test doivent รชtre tracadaptรฉ aux scรฉnarios d'entreprise.

Approche dโ€™exรฉcution des tests

  • Chaque composant de service doit รชtre testรฉ.
  • Test d'intรฉgration des composants de service doivent รชtre effectuรฉs pour valider le flux de donnรฉes ร  travers les services et l'intรฉgritรฉ des donnรฉes.
  • Test du systรจme Une modรฉlisation complรจte doit รชtre rรฉalisรฉe afin de valider le flux de donnรฉes entre l'application frontale et la base de donnรฉes.
  • Test de performance doit รชtre effectuรฉ pour un rรฉglage prรฉcis et des performances optimales.

Mรฉthodes de test SOA

1) Tests basรฉs sur les donnรฉes et axรฉs sur des scรฉnarios d'entreprise

  • Il convient d'analyser diffรฉrents aspects commerciaux liรฉs au systรจme.
  • Des scรฉnarios doivent รชtre รฉlaborรฉs en fonction de l'intรฉgration des diffรฉrents services web de l'application, et des services web avec l'application.
  • La configuration des donnรฉes doit รชtre effectuรฉe en fonction des scรฉnarios ci-dessus.
  • La configuration des donnรฉes doit รฉgalement couvrir les scรฉnarios de bout en bout.

2) Talons

  • Des interfaces factices sont crรฉรฉes pour tester les services.
  • Diverses entrรฉes peuvent รชtre fournies via ces interfaces et les sorties peuvent รชtre validรฉes.
  • Lorsqu'une application utilise une interface vers un service externe qui n'est pas testรฉ (un service tiers), un stub peut รชtre crรฉรฉ lors des tests d'intรฉgration.

3) Tests de rรฉgression

  • Les tests de rรฉgression Cette opรฉration doit รชtre effectuรฉe lors de plusieurs mises ร  jour de l'application, afin de garantir la stabilitรฉ et la disponibilitรฉ des systรจmes.
  • Une suite complรจte de tests de rรฉgression sera crรฉรฉe couvrant les services qui constituent une partie importante de l'application.
  • Cette suite de tests peut รชtre rรฉutilisรฉe pour plusieurs versions du projet.

4) Tests de niveau de service

Les tests de niveau de service comprennent le contrรดle des fonctionnalitรฉs, de la sรฉcuritรฉ, des performances et de l'interopรฉrabilitรฉ des composants. Chaque service doit รชtre testรฉ individuellement au prรฉalable.

5) Tests fonctionnels

Essais fonctionnels devrait รชtre fait ร  chaque intervention pour :

  • Veillez ร  ce que le service apporte la rรฉponse appropriรฉe ร  chaque demande.
  • S'assurer que les erreurs appropriรฉes sont reรงues pour les requรชtes contenant des donnรฉes invalides ou erronรฉes.
  • Vรฉrifiez chaque requรชte et rรฉponse pour chaque opรฉration que le service doit effectuer lors de son exรฉcution.
  • Validez les messages d'erreur lorsqu'une erreur se produit au niveau du serveur, du client ou du rรฉseau.
  • Vรฉrifiez que les rรฉponses reรงues sont dans le bon format.
  • Vรฉrifiez que les donnรฉes reรงues en rรฉponse correspondent aux donnรฉes demandรฉes.

6) Tests de sรฉcuritรฉ

Les tests de sรฉcuritรฉ du service web constituent un aspect important des tests au niveau du service de l'application SOA, car ils garantissent la sรฉcuritรฉ de l'application.

Les facteurs suivants doivent รชtre pris en compte lors des tests :

  • Le service web doit respecter la norme industrielle dรฉfinie par WS-Security.
  • Les mesures de sรฉcuritรฉ doivent fonctionner parfaitement.
  • Cryptage des donnรฉes et signatures numรฉriques sur les documents.
  • Authentification et autorisation.
  • Les injections SQL, les logiciels malveillants, les attaques XSS, CSRF et autres vulnรฉrabilitรฉs seront testรฉs sur le systรจme. XML.
  • Attaques par dรฉni de service.

7) Tests de performances

Des tests de performance du service doivent รชtre effectuรฉs car les services sont rรฉutilisables et plusieurs applications peuvent utiliser le mรชme service.

Les facteurs suivants sont pris en compte lors des tests :

  • Les performances et les fonctionnalitรฉs du service doivent รชtre testรฉes sous une forte charge.
  • Il convient de comparer les performances du service lorsqu'il fonctionne individuellement et lorsqu'il est intรฉgrรฉ ร  l'application.
  • Test de charge Des tests du service doivent รชtre effectuรฉs pour vรฉrifier le temps de rรฉponse, dรฉtecter les goulots d'รฉtranglement, vรฉrifier l'utilisation du processeur et de la mรฉmoire, et prรฉvoir l'รฉvolutivitรฉ.

8) Tests de niveau d'intรฉgration

  • Les tests de niveau de service garantissent le bon fonctionnement de chaque service individuellement ; ils ne garantissent pas le fonctionnement des composants couplรฉs.
  • Les tests d'intรฉgration sont rรฉalisรฉs en se concentrant principalement sur interfaces.
  • Cette phase couvre tous les scรฉnarios commerciaux possibles.
  • Il convient de procรฉder une nouvelle fois ร  des tests non fonctionnels de l'application au cours de cette phase. Les tests de sรฉcuritรฉ, de conformitรฉ et de performance garantissent la disponibilitรฉ et la stabilitรฉ du systรจme ร  tous les niveaux.
  • Les protocoles de communication et de rรฉseau doivent รชtre testรฉs pour valider la cohรฉrence de la communication des donnรฉes entre les services.

9) Tests de bout en bout

Cette phase garantit que l'application est conforme aux exigences mรฉtier, tant sur le plan fonctionnel que non fonctionnel.

Les รฉlรฉments ci-dessous seront assurรฉment testรฉs pendant tests de bout en bout:

  • Tous les services fonctionnent comme prรฉvu aprรจs l'intรฉgration
  • Gestion des exceptions
  • Interface utilisateur de l'application
  • Flux de donnรฉes appropriรฉ ร  travers tous les composants
  • Processus d'affaires

Dรฉfis liรฉs aux tests SOA

L'application de ces mรฉthodes est rarement simple, et les difficultรฉs dรฉcrites ci-dessous se retrouvent dans presque tous les programmes SOA.

  • Absence d'interfaces pour les services.
  • Le processus de test s'รฉtend sur plusieurs systรจmes, ce qui engendre des besoins complexes en matiรจre de donnรฉes.
  • L'application รฉtant un ensemble de composants variรฉs qui ont tendance ร  รฉvoluer, les tests de rรฉgression sont plus frรฉquents.
  • Du fait de son architecture multicouche, il est difficile d'isoler les dรฉfauts.
  • Puisqu'un service est utilisรฉ par diffรฉrentes interfaces, la charge est difficile ร  prรฉvoir, ce qui rend la planification des tests de performance complexe.
  • L'architecture orientรฉe services (SOA) est un ensemble de technologies hรฉtรฉrogรจnes. Tester une application SOA requiert des personnes aux compรฉtences variรฉes, ce qui augmente les coรปts de planification et d'exรฉcution.
  • L'application intรฉgrant plusieurs services, les tests de sรฉcuritรฉ prรฉsentent leur lot de difficultรฉs. La validation de l'authentification et de l'autorisation s'avรจre complexe.

Outils de test SOA

De nombreux outils de test SOA sont disponibles sur le marchรฉ pour aider les testeurs ร  tester les applications SOA. Voici quelques-uns des outils de test SOA les plus populaires.

1) SoapUI

SoapUI est un outil de test fonctionnel open source pour les services et Test d'API.

  • Application de bureau
  • Prend en charge plusieurs protocoles : SOAP, REST, HTTP, JMS, AMF, JDBC
  • Les services Web peuvent รชtre dรฉveloppรฉs, inspectรฉs et invoquรฉs.
  • Peut รฉgalement รชtre utilisรฉ pour les tests de charge, Tests d'automatisationet tests de sรฉcuritรฉ
  • Les talons peuvent รชtre crรฉรฉs par MockServices
  • Les requรชtes et les tests de service Web peuvent รชtre gรฉnรฉrรฉs automatiquement via son client de service Web.
  • Intรจgre des outils de reporting
  • Dรฉveloppรฉ par SmartBear, qui expรฉdie ร  la fois le open-source SoapUI distribution et commercial ReadyAPI รฉdition

2) Virtualisation des services Broadcom (anciennement iTKO LISA)

LISA est une suite logicielle offrant une solution de test fonctionnel pour les systรจmes distribuรฉs tels que l'architecture orientรฉe services (SOA). Ce produit, initialement dรฉveloppรฉ par iTKO, a รฉtรฉ repris par CA Technologies et est aujourd'hui commercialisรฉ sous le nom de Broadcom Service Virtualization.

  • Peut รฉgalement รชtre utilisรฉ pour les tests de rรฉgression, d'intรฉgration, de charge et de performance.
  • Peut รชtre utilisรฉ pour concevoir et exรฉcuter des tests.

3) UFT Un (anciennement HP Service Test)

Service Test est un outil de test fonctionnel qui prend en charge les tests d'interface utilisateur et de services partagรฉs. Ses fonctionnalitรฉs de test d'API ont รฉtรฉ intรฉgrรฉes ร  Unified Functional Testing, dรฉsormais commercialisรฉ par OpenText as UFT One.

  • Un seul script permet de rรฉaliser ร  la fois les tests fonctionnels et de performance des services.
  • Intรฉgrรฉ ร  Quality Center, maintenant vendu sous le nom de OpenText ALM / Centre de qualitรฉ.
  • Une quantitรฉ massive de services et de donnรฉes peut รชtre gรฉrรฉe.
  • Prend en charge les tests d'interopรฉrabilitรฉ en simulant les environnements clients JEE, AXIS et DotNet.

4) Parasoft SOAtest

Parasoft SOAtest est une suite d'outils de test et d'analyse dรฉveloppรฉe pour les tests d'API et d'applications pilotรฉes par API.

  • Prend en charge les services Web, REST, JSON, MQ, JMS, TIBCO, HTTP et les technologies XML.
  • Des tests fonctionnels, unitaires, d'intรฉgration, de rรฉgression, de sรฉcuritรฉ, d'interopรฉrabilitรฉ, de conformitรฉ et de performance sont possibles.
  • Des รฉbauches peuvent รชtre crรฉรฉes ร  l'aide de Parasoft Virtualiser, qui sont plus capables que SoapUI Services fictifs.

Cas d'utilisation des tests SOA

L'exemple pratique ci-dessous applique la stratรฉgie, les mรฉthodes et les outils dรฉcrits ci-dessus ร  un seul site de commerce รฉlectronique, phase par phase.

Prenons l'exemple d'un site web de commerce รฉlectronique qui contient les fonctions et sous-fonctions ci-dessous.

Traitement de la commande

Le schรฉma ci-dessous dรฉcompose le traitement des commandes en sous-fonctions qui deviennent des services.

Le traitement des commandes est dรฉcomposรฉ en sous-fonctions telles que la crรฉation d'une commande, la vรฉrification des stocks et la modification du statut d'une commande.

PHASE 1

Dans la premiรจre phase des tests SOA, la phase de stratรฉgie de test, l'application est dรฉcomposรฉe en services et en fonctions mรฉtier.

Examinons ci-dessous les services proposรฉs dans l'application.

  • Crรฉer une commande
  • Vรฉrifier le statut du client
  • Modifier le statut de la commande
  • Vรฉrifier le statut de la commande
  • Vรฉrifier l'inventaire

Les fonctions mรฉtier sont identiques aux fonctions du site web.

Remarque : Le document de stratรฉgie de test contiendra la liste des services et des fonctions qui doivent รชtre testรฉs.

PHASE 2

Il s'agit de la phase de planification des tests. Cas de test Des textes sont rรฉdigรฉs pour chaque niveau.

Niveau de bout en bout. Des cas de test sont rรฉdigรฉs pour chaque cas d'utilisation et flux mรฉtier. Vous trouverez ci-dessous des exemples de cas de test.

  • Crรฉer une commande avec un utilisateur actif.
  • Crรฉez une commande avec un utilisateur inactif.
  • Crรฉez une commande avec un produit disponible dont la quantitรฉ commandรฉe est infรฉrieure ร  la quantitรฉ disponible.
  • Crรฉez une commande avec un produit disponible dont la quantitรฉ commandรฉe est supรฉrieure ร  la quantitรฉ disponible.
  • Crรฉez une commande avec plusieurs articles.
  • Annulez complรจtement une commande.
  • Annulation partielle d'une commande.

Niveau d'intรฉgration. Des cas de test sont rรฉdigรฉs pour l'intรฉgration de la base de donnรฉes et de l'interface utilisateur. Vous trouverez ci-dessous des exemples de cas de test.

  • Crรฉez une nouvelle commande avec un seul article. Vรฉrifiez que la commande est crรฉรฉe sur la base de donnรฉes.
  • Crรฉez une nouvelle commande avec un seul article. Vรฉrifiez que le prix calculรฉ pour la commande est correct.
  • Crรฉez une nouvelle commande avec un seul article. Vรฉrifiez que la quantitรฉ du produit disponible est bien rรฉduite du montant de la commande.
  • Vรฉrifiez que le statut de la commande affichรฉ dans l'interface utilisateur correspond ร  celui enregistrรฉ dans la base de donnรฉes.
  • Annulez la commande et vรฉrifiez que le statut de la commande est modifiรฉ dans la base de donnรฉes.
  • Lors d'un premier paiement, vรฉrifiez que les informations de paiement saisies dans l'interface utilisateur sont bien enregistrรฉes dans la base de donnรฉes.
  • Pour renvoyer des paiements, vรฉrifiez que les dรฉtails du paiement dans la base de donnรฉes sont affichรฉs sur l'interface utilisateur.

Niveau de service. Chaque service est testรฉ dans toutes les conditions de donnรฉes. Voici quelques exemples.

Non. Dรฉtails des commandes ร‰tat de la commande
1 Crรฉer une commande. Nombre d'articles = 1 Quantitรฉ en commande < Quantitรฉ sur base de donnรฉes
2 Crรฉer une commande. Nombre d'articles > 1 Quantitรฉ commandรฉe < Quantitรฉ enregistrรฉe dans la base de donnรฉes
3 Crรฉer une commande. Nombre d'articles = 1 Quantitรฉ sur commande > Quantitรฉ sur base de donnรฉes
4 Vรฉrifier l'รฉtat des commandes Statut sur la base de donnรฉes = Actif
5 Vรฉrifier l'รฉtat des commandes Statut sur la base de donnรฉes = Expรฉdiรฉ
6 Vรฉrifier l'รฉtat des commandes Statut sur la base de donnรฉes = Annulรฉ
7 Vรฉrifier l'รฉtat des commandes ID de commande = invalide
8 Vรฉrifier la disponibilitรฉ des produits Quantitรฉ de produit >0
9 Vรฉrifier la disponibilitรฉ des produits Quantitรฉ de produit =0
10 Vรฉrifier la disponibilitรฉ des produits Identifiant du produit = invalide

PHASE 3 โ€” Exรฉcution des tests

L'exรฉcution des tests utilise une approche ascendante : les tests au niveau du service sont effectuรฉs en premier, puis ceux au niveau de l'intรฉgration, et enfin les tests de bout en bout.

1) Niveau de service

Considรฉrons que le SoapUI Cet outil est utilisรฉ pour tester l'application. Le WSDL et URL sont affichรฉs dans la fenรชtre de test de SoapUILa requรชte pour chaque service s'affiche dans la fenรชtre de requรชte. En modifiant les donnรฉes conformรฉment aux cas de test du niveau de service, des requรชtes sont crรฉรฉes pour chaque cas de test.

Cas de test Demander Rรฉponse attendue
Crรฉer une commande. Nombre d'articles = 1, quantitรฉ commandรฉe < quantitรฉ en base de donnรฉes x2 2 o3251 Rรฉussi
Crรฉer une commande. Nombre d'articles > 1, quantitรฉ commandรฉe < quantitรฉ enregistrรฉe dans la base de donnรฉes y1 1 y2 3 o3251 Rรฉussi
Crรฉer une commande. Nombre d'articles = 1, quantitรฉ commandรฉe > quantitรฉ dans la base de donnรฉes x23 200 nul Infructueux
Vรฉrifier le statut de la commande. Statut dans la base de donnรฉes : Active o9876 Actif Rรฉussi
Vรฉrifier le statut de la commande. Statut dans la base de donnรฉes : Expรฉdiรฉe o9656 Expรฉdiรฉ Rรฉussi
Vรฉrifier le statut de la commande. Numรฉro de commande = Invalide y5686 nul Infructueux
Vรฉrifier la disponibilitรฉ du produit. Quantitรฉ de produit > 0 d34 34 Oui Rรฉussi
Vรฉrifier la disponibilitรฉ du produit. Quantitรฉ de produit = 0 y34 0 Non Rรฉussi
Vรฉrifier la disponibilitรฉ du produit. L'identifiant du produit est invalide. sder Infructueux

2) Niveau d'intรฉgration

Les tests d'intรฉgration sont exรฉcutรฉs sur l'interface utilisateur et la base de donnรฉes. Crรฉez une commande avec un seul article :

  • Un utilisateur ouvre le site Web.
  • L'utilisateur va passer une commande.
  • L'utilisateur sรฉlectionne un produit et une quantitรฉ valides, puis enregistre sa commande.
  • Un message confirmant la bonne rรฉception de la commande devrait s'afficher.
  • L'utilisateur ouvre la base de donnรฉes et vรฉrifie si les dรฉtails de la commande correspondent ร  ceux saisis sur le site web.

3) Niveau de bout en bout

Les flux mรฉtier et les cas d'utilisation sont exรฉcutรฉs sur l'interface utilisateur. Crรฉer une commande avec plusieurs articles :

  • Un utilisateur ouvre le site Web.
  • L'utilisateur va passer une commande.
  • L'utilisateur se renseigne sur un produit valide et sa quantitรฉ, puis l'ajoute ร  son panier.
  • D'autres produits valides sont ajoutรฉs avec les quantitรฉs souhaitรฉes et la commande est enregistrรฉe. Le paiement est effectuรฉ via un nouveau mode de paiement et la commande est validรฉe.
  • Un message indiquant ยซ Commande passรฉe avec succรจs ยป devrait s'afficher.
  • Un testeur doit vรฉrifier que le flux complet s'exรฉcute sans distorsion des donnรฉes.

FAQ

Les niveaux sont identiques, mais les services SOA sont plus grossiers et gรฉnรฉralement routรฉs via un bus de services d'entreprise ; les tests d'intรฉgration ciblent donc ce bus. Les microservices sont plus fins et dรฉployables indรฉpendamment, ce qui met l'accent sur la connectivitรฉ.tract et tests de rรฉsilience.

AvectracLes tests t vรฉrifient qu'un fournisseur respecte toujours le format des requรชtes et des rรฉponses attendu par ses clients, gรฉnรฉralement par rapport au WSDL ou au schรฉma. Ils se situent ร  l'interface entre le niveau de service et le niveau d'intรฉgration et permettent de dรฉtecter les changements incompatibles avant une intรฉgration complรจte.

Un stub รฉcrit manuellement suffit pour obtenir une rรฉponse fixe. La virtualisation justifie l'investissement en licences lorsque la dรฉpendance est mesurรฉe, soumise ร  une limitation de dรฉbit ou conserve un รฉtat, car elle permet de reproduire une latence rรฉaliste, des codes d'erreur et des variations de donnรฉes qu'un stub statique ne peut pas reproduire.

Oui. Les couches et les niveaux sont indรฉpendants du protocole. Les services SOAP sont validรฉs par rapport au WSDL et aux rรจgles WS-Security, tandis que les services REST sont validรฉs par rapport ร  une dรฉfinition OpenAPI, aux codes d'รฉtat et ร  l'authentification par jeton. La plupart des suites logicielles prennent en charge les deux.

Les modรจles d'apprentissage automatique gรฉnรจrent des charges utiles de requรชtes ร  partir d'un schรฉma, classent les services en fonction de l'historique des dรฉfauts afin que les suites de rรฉgression s'exรฉcutent en premier sur les plus risquรฉes, et regroupent les rรฉponses d'erreur sur plusieurs couches pour dรฉterminer l'origine d'une dรฉfaillance dans une architecture multicouche.

Copilot gรฉnรจre les charges utiles des requรชtes ร  partir d'un WSDL ou d'un schรฉma, รฉcrit le code d'assertion, crรฉe des services simulรฉs et produit les รฉtapes du pipeline. Le testeur doit nรฉanmoins fournir les rรจgles mรฉtier, les conditions de donnรฉes nรฉgatives et les messages d'erreur attendus que le modรจle ne peut pas dรฉduire.

Code La couverture รฉtant rarement disponible pour l'ensemble de services hรฉtรฉrogรจnes, les รฉquipes mesurent la couverture opรฉrationnelle (chaque opรฉration effectuรฉe), la couverture des messages (chaque chemin de rรฉussite et d'รฉchec) et la couverture des scรฉnarios mรฉtier. tracmodifiรฉ ร  travers la matrice construite lors de la planification des tests.

La capacitรฉ ร  lire des fichiers WSDL, XSD et des donnรฉes XML ou JSON, ร  รฉcrire des requรชtes SQL pour vรฉrifier les donnรฉes au repos, ร  utiliser un client API avec aisance et ร  comprendre l'intergiciel de messagerie utilisรฉ est essentielle. Des notions de script sont utiles car la plupart des suites logicielles finissent par รชtre automatisรฉes.

Rรฉsumez cet article avec :