Découvrez comment intégrer facilement l'analyse statique, les tests unitaires et d'autres méthodes de test de logiciels C et C++ dans votre pipeline CI/CD. Inscrivez-vous pour la démo >>

Automatisation pour la virtualisation et les tests SOA

Par Rami Jaamour

16 septembre 2010

3  min lire

In un autre post, nous avons discuté des nécessités de l'adoption de la virtualisation des services. Il s'agit d'un suivi avec un regard sur l'automatisation, que j'ai trouvé critique pour atteindre l'extensibilité et la configuration facile, indispensables à toute solution de virtualisation de services.

Pour commencer, vous pouvez gagner beaucoup de temps et de tracas en utilisant une interface graphique pour personnaliser les stubs avec différents cas d'utilisation de demande / réponse, conditions d'erreur, retards, etc.:

 

Paramétrage et scripts basés sur les données

Pour configurer rapidement des réponses avec une grande variété de valeurs, vous pouvez configurer le stub pour qu'il utilise des entrées générées automatiquement pour des opérations spécifiées ou lui fournir une plage de valeurs stockées dans une source de données. De plus, si vous disposez de scripts ou de code représentant une réponse personnalisée, vous pouvez l'intégrer directement dans l'environnement émulé. Cela vous permet d'étendre le stub pour imiter n'importe quel niveau de traitement, quelle que soit sa complexité ou sa sophistication.

Pour tirer le meilleur parti de la virtualisation, vous devez la combiner avec la gestion des données de test pour fournir une simulation de données. Cette approche permet aux utilisateurs de simplifier le processus de compréhension des données disponibles en exploitant les enregistrements effectués lors de la création de services virtuels. La technologie de gestion des données de test de Parasoft génère automatiquement des modèles de données à partir des interactions dans votre système et déduit automatiquement des informations sur les données pour permettre aux utilisateurs non techniques d'obtenir plus facilement les données de test dont ils ont besoin.

Parasoft Virtualiser fournit les outils pour prendre des modèles de données et masquer les données sensibles, générer des données supplémentaires à utiliser dans leurs services virtuels, ainsi que des instantanés des données pour facilement avancer et reculer dans le temps. Cette approche des données de test est nettement plus accessible que les solutions de gestion des données de test traditionnelles car la majorité de la complexité du TDM traditionnel provient de la dérivation du modèle de données, alors que dans l'écosystème Parasoft, cela se produit automatiquement.

Emplacements de déploiement

L'automatisation peut être utilisée pour déployer les stubs localement ou les rendre disponibles en tant que service afin que différentes équipes ou partenaires commerciaux puissent collaborer pour faire évoluer leurs composants au sein de l'architecture distribuée. Si l'actif émulé change à mesure que l'application évolue (par exemple, le WSDL d'un service émulé est étendu pour inclure une nouvelle opération), le stub associé n'a pas besoin d'être recréé; il peut être mis à jour.

Parasoft Virtualize vous permet de configurer des serveurs Virtualize dédiés, des machines fonctionnant en permanence qui hébergent les actifs virtuels spécifiés afin de fournir aux membres de l'équipe appropriés et aux parties prenantes du projet un accès continu et stable aux ressources virtualisées. Avec un tel serveur, l'équipe bénéficie d'un accès et d'une gestion centralisés aux actifs virtuels. Ces serveurs Virtualize sont accessibles et gérés à distance à partir des diverses installations de bureau Virtualize de votre équipe.

Stratégies de déploiement

Vous pouvez également utiliser l'automatisation pour tirer parti de différentes stratégies de déploiement. Une option consiste à rendre les stubs disponibles pour un accès continu. Une autre consiste à les intégrer dans une suite de tests de bout en bout. Parasoft fournit une interface Web permettant aux développeurs et aux testeurs de sélectionner et d'accéder aux actifs virtuels dans le contexte d'environnements de test. Les membres de l'équipe peuvent examiner et provisionner des environnements de test préconfigurés qui peuvent inclure différentes combinaisons d'actifs réels et virtuels (définis sur différents états avec divers profils de performances, ensembles de données, etc.). L'administrateur de virtualisation peut décider quels environnements sont disponibles pour différents utilisateurs et quelles configurations et options chaque environnement fournit

Exemple de déploiement de la suite de tests de bout en bout

Par exemple, pour valider un service d'approbation de prêt qui exécute un flux de travail de processus métier en plusieurs étapes (y compris l'appel d'un service d'approbation de gestionnaire et d'un autre service de notation de crédit externe), vous pouvez créer un scénario avec les tests suivants:

  • Test 1: Envoyez une demande à un service d'approbation de prêt pour lancer le processus.
  • Test 2: Agissez comme un talon pour écouter le service de notation de crédit entrant sur HTTP et répondre avec la notation souhaitée pour le scénario (émuler la réponse du service de notation de crédit).
  • Test 3: Agir comme un stub pour consommer le message d'approbation du gestionnaire sur une file d'attente JMS et répondre par une approbation, un refus, etc.
  • Test 4: Obtenez une réponse asynchrone du processus de prêt avec le résultat final du prêt et validez-le.
  • Test 5: Exécutez une requête sur une base de données relationnelle pour vérifier si la demande de prêt a été correctement auditée dans la base de données.
  • Test 6: Supprimez les données d'application de la base de données afin de les restaurer à leur état d'origine et rendre le scénario de test répétable.

Par Rami Jaamour

Recevez les dernières nouvelles et ressources sur les tests de logiciels dans votre boîte de réception.