Découvrez quelle solution de test API est arrivée en tête dans le rapport GigaOm Radar. Obtenez votre rapport d'analyse gratuit >>

Découvrez quelle solution de test API est arrivée en tête dans le rapport GigaOm Radar. Obtenez votre rapport d'analyse gratuit >>
Aller à la section
La virtualisation des services est devenue un élément essentiel des tests de logiciels. Découvrez comment utiliser la virtualisation des services pour accéder facilement aux composants qui entravent le développement et les tests.
Aller à la section
Aller à la section
En tant que composant essentiel de la plupart des stratégies de test de nos clients, nous avons tendance à recevoir de nombreuses questions sur la virtualisation des services. Voici quelques explications.
Virtualisation des services fournit aux équipes un accès facile aux composants contraints qui entravent le développement et les tests. Cela se manifeste généralement par des contraintes environnementales, dans lesquelles des composants techniquement hors de portée des tests sont nécessaires pour permettre une fonctionnalité complète de bout en bout.
Avec la virtualisation des services, vous pouvez supprimer ces contraintes en simulant ces dépendances en aval et en échangeant la fonctionnalité réelle avec un comportement émulé. Lorsque cela est fait correctement, le système se comporte comme si le composant réel était disponible.
Ainsi, vous pouvez éliminer les contraintes de planification en fournissant un accès universel à un environnement de test émulé précis. Et vous pouvez éliminer les goulots d'étranglement des processus en fournissant un accès rapide à des systèmes dépendants évolutifs, indisponibles ou autrement difficiles d'accès. Comme indiqué par l'entrée de virtualisation des services de Wikipedia, ces systèmes dépendants peuvent être :
L'entrée de Wikipedia continue de bien décrire cela:
Plutôt que de virtualiser des systèmes entiers, cette solution virtualise uniquement des segments spécifiques de comportement dépendants essentiels à l'exécution des tâches de développement et de test. Cela fournit juste assez de logique d'application pour que les développeurs ou les testeurs obtiennent ce dont ils ont besoin sans avoir à attendre que le service réel soit terminé et immédiatement disponible.
Par exemple, au lieu de virtualiser une base de données entière (et d'effectuer toute la gestion des données de test associées ainsi que de configurer la base de données pour chaque session de test), vous surveillez la façon dont l'application interagit avec la base de données, puis vous émulez le comportement de la base de données associée requêtes transmises à la base de données, jeux de résultats correspondants renvoyés, etc.).
Pour atteindre la qualité rapidement, il est essentiel d'avoir un accès illimité à un fournisseur fiable et fiable. environnement de test réaliste. Il est important de reconnaître qu'un environnement de test complet inclut l'application testée (AUT) et tous ses composants dépendants tels que les API, les services tiers, les bases de données, les applications et autres points de terminaison.
La virtualisation des services permet aux équipes DevTest de avoir accès à un environnement de test complet, y compris tous les composants système critiques dépendants, ainsi que modifier le comportement de ces composants dépendants d'une manière qui serait impossible avec un environnement de test par étapes, ce qui vous permet de tester plus tôt, plus rapidement et plus complètement. Il vous permet également d'isoler différentes couches de l'application pour le débogage et les tests de performances.
Avec les cycles de développement itératifs rapides d'aujourd'hui, les équipes DevTest ont besoin d'un accès précoce à un environnement de test complet afin de:
La virtualisation de services peut fournir un accès à tout composant dépendant manquant ou contraint dans votre environnement de test: services tiers, API, bases de données, mainframes, ESB et autres composants qui communiquent à l'aide de protocoles de messagerie courants. Les principaux candidats à la virtualisation des services incluent des composants dépendants qui sont à la fois:
Par exemple, un service interne peut être facilement accessible à partir d'un environnement de test par étapes et simple à configurer. D'un autre côté, une file d'attente de messages complexe est probablement plus difficile à gérer dans un environnement de test par étapes et considérablement plus difficile à configurer pour le test. À l'extrême extrémité du spectre, un mainframe ou un système ERP aura de multiples contraintes associées à l'accès DevTest ainsi que des limitations distinctes sur votre capacité à le configurer pour le test. Tirer parti de la virtualisation des services garantit qu’un environnement de test est accessible à la demande. Il élimine les contraintes d'accès et réduit les frais généraux associés à une configuration répétée. Les équipes peuvent tester virtuellement sans limites.
La virtualisation des services vous permet également de contrôler le comportement des composants dépendants. Il est très difficile de modifier la configuration du réseau ou du matériel associé à chaque composant dépendant de l'AUT. Il est également assez courant de faire face à des environnements de test par étapes qui présentent des performances plus lentes que celles que vous rencontreriez en production.
Utilisation de la virtualisation des services, vous avez un meilleur contrôle sur la réponse des dépendances. Cela vous donne un accès à la demande à une gamme beaucoup plus large de comportements de dépendance (tout comme un simulateur de vol). En conséquence, vous pouvez évaluer le risque d'une release candidate plus rapidement et avec plus de précision.
Par exemple, vous pouvez simuler différents comportements de dépendance pour:
Les services virtuels n'ont pas besoin de toujours répondre avec les données réelles du système réel. En fait, il existe de nombreux avantages à fournir des données inattendues à partir de vos services virtuels. Les services virtuels sont séparés de leurs sources de données, ce qui permet une plus grande flexibilité dans la génération de données de réponse qui répondent aux besoins des différentes équipes, tels que:
En simulant les différentes données de service dans ces types de situations, vous pouvez gagner beaucoup plus de flexibilité avec vos tests.
Bien entendu, nous n'avons fait qu'effleurer la surface ici. Le déploiement de la virtualisation des services dans votre organisation présente de nombreux avantages. Entreprises qui utilisent la virtualisation des services signalez moins de défauts, une meilleure couverture des tests, des taux d'exécution des tests plus élevés et un temps consacré aux tests considérablement réduit.
API, microservices et tests non fonctionnels améliorés par l'IA