Logo Parasoft

WEBINAIRE

Testez à tout moment et en tout lieu grâce à la virtualisation des services

Les équipes de développement et de test sont confrontées à des difficultés pour valider leurs applications en raison des dépendances instables en aval de leur application. Le manque de données de test, les contraintes des tiers et les coûts d'infrastructure peuvent conduire à l'indisponibilité des services externes pour les tests. Les objectifs de couverture de test manqués provoquent des goulots d'étranglement qui réduisent la qualité des applications et entraînent des défauts de fin de cycle ou des interruptions de production.

En augmentant votre environnement de test avec des services simulés, les équipes peuvent développer plus rapidement et tester plus tôt, de manière plus complète. Quand évaluer les solutions de virtualisation des services, il est important de prendre en compte plusieurs facteurs pour un déploiement et un retour sur investissement réussis. Au cours de cette session, nous discuterons des fonctionnalités et capacités clés qui ont fait leurs preuves dans les déploiements virtuels.

Le goulot d'étranglement des environnements de test instables

Les tests logiciels sont complexes. Imaginez un simple robinet : il faut de l'eau, des tuyaux et tout un système de plomberie. De même, tester une seule API nécessite souvent de configurer l'ensemble du système, y compris les services internes et externes, les bases de données et les systèmes existants. Cela peut être coûteux et chronophage.

Imaginez que vous essayez de tester un robinet sans eau. C'est impossible. En logiciel, cela signifie que si un service dépendant est indisponible ou instable, vos tests s'arrêtent. C'est un problème courant, notamment avec les microservices où différentes équipes gèrent différents composants. Si ces services ne sont pas disponibles ou à jour, vos tests de bout en bout se heurtent à un obstacle.

Les problèmes courants incluent :

  • Indisponibilité du service tiers : S'appuyer sur des services externes (comme des processeurs de paiement ou des services de validation) qui peuvent ne pas disposer de bacs à sable fiables ou qui sont partagés entre de nombreuses équipes, ce qui entraîne des temps d'arrêt.
  • Problèmes de contrôle des données : Même si vous pouvez simuler des services, contrôler les données de test et simuler des cas limites peut s'avérer difficile. Les données peuvent ne pas être synchronisées avec votre automatisation des tests.
  • Incohérences de cadence de dépendance : Dans les architectures de microservices, les équipes travaillent à des rythmes différents. Si vous ne parvenez pas à obtenir les dernières versions des services dépendants, vos tests sont bloqués.
  • Préparation aux tests de performance : Les environnements de test peuvent manquer de données suffisantes ou de latence réaliste, ce qui entrave les tests de performances.

La virtualisation des services répond à ces problèmes en vous permettant de créer des versions simulées de ces dépendances, vous donnant ainsi le contrôle sur leur comportement et leurs données.

Une histoire de réussite concrète : Cox Automotive

Cox Automotive et DealerTrack ont ​​dû faire face à une multitude de défis en raison de l'ampleur de leurs services. Leur système prend en charge l'ensemble du réseau de concessionnaires automobiles, du premier contact client à la livraison du véhicule. Cette complexité a eu des répercussions sur la capacité de test et a entraîné des défauts de production, même minimes.

Leur objectif était de réduire les défauts échappés à moins de 5 %. Ils se sont associés à Parasoft pour mettre en œuvre la virtualisation des servicesL’approche impliquait :

  • Augmenter la productivité des tests : Création de services virtuels pour simuler les dépendances, leur donner plus de contrôle et supprimer les contraintes de disponibilité.
  • Activation de l'automatisation des tests : Garantir que les tests peuvent être exécutés à tout moment en basculant automatiquement vers les services virtuels lorsque les services en direct deviennent instables.
  • Réduction des temps d'arrêt : Minimiser les retards de test causés par les pannes de dépendances.

Les résultats ont été significatifs : la rigueur des tests a augmenté, ils ont atteint leur objectif de réduction des défauts échappés, la disponibilité du système pour les tests a atteint 99.97 % et les temps d'arrêt des tests ont été réduits de plus de 50 %.

Que rechercher dans une solution de virtualisation des services

Lors du choix d'une solution de virtualisation des services, il est important de prendre en compte les besoins actuels et la croissance future. Les solutions se répartissent généralement en deux catégories :

  • Outils légers : Souvent open source (comme WireMock ou Traffic Parrot), ces solutions sont adaptées aux cas d'utilisation simples et permettent une prise en main rapide. Cependant, leur maintenance et leur évolutivité peuvent s'avérer coûteuses, nécessitant souvent une personnalisation interne importante et manquant de support fournisseur.
  • Outils d'entreprise : Ces solutions offrent un support fournisseur, gèrent une gamme plus large de protocoles et de cas d'utilisation complexes, et sont conçues pour des déploiements à grande échelle. Parasoft fait partie de cette catégorie.

Capacités clés pour maximiser le retour sur investissement:

  • Création rapide de services virtuels : La capacité de créer rapidement des actifs virtuels, idéalement en important des fichiers de définition (Swagger, OpenAPI) ou en enregistrant le trafic, est cruciale pour l'adoption initiale.
  • Étendue du support technologique : Recherchez une assistance au-delà du HTTP/REST de base, y compris divers protocoles (MQ, TCP), formats de messages (JSON, XML, Copybook) et technologies émergentes (IoT, microservices).
  • Architecture largement accessible : Pour une adoption à l'échelle de l'entreprise, vous avez besoin d'un moyen de gérer, d'orchestrer et de déployer des services virtuels de manière cohérente. Cela inclut des fonctionnalités telles que la gestion centralisée, l'accès basé sur les rôles et l'intégration aux pipelines CI/CD.
  • Gestion du changement: API et évolution des données. Une bonne solution doit permettre de gérer efficacement ces changements, par exemple grâce à une refactorisation automatisée basée sur des définitions mises à jour ou en permettant aux équipes de gérer leurs propres données de test de manière indépendante.

À retenir

  • La virtualisation des services permet de surmonter les défis liés aux environnements de test instables, indisponibles ou incontrôlables.
  • Il aborde les problèmes liés aux dépendances tierces, au contrôle des données et aux cadences de développement inadaptées.
  • Cox Automotive a considérablement amélioré l'efficacité des tests et réduit les défauts grâce à la virtualisation des services de Parasoft.
  • Lors de la sélection d’une solution, tenez compte de la facilité de création, de l’étendue de la technologie, de l’architecture d’accès et des capacités de gestion des changements.
  • Concentrez-vous à la fois sur les besoins actuels et sur l’évolutivité future pour maximiser le retour sur investissement.

Premiers pas avec la virtualisation des services

Pour faire évoluer efficacement votre pratique de virtualisation des services et maximiser sa valeur, tenez compte de ces quatre domaines :

  1. Création d'actifs virtuels : Permettez à votre équipe de créer des services virtuels rapidement et facilement.
  2. Étendue de la technologie : Choisissez une solution qui prend en charge votre pile technologique actuelle et future.
  3. Architecture d'accès et de déploiement : Assurez-vous que les services virtuels sont facilement accessibles et déployés dans toute votre organisation.
  4. Gestion du changement: Mettez en œuvre des processus pour maintenir les services virtuels à jour sans surcharger vos équipes.

En fin de compte, la virtualisation des services contribue à améliorer la disponibilité, la simulation du comportement (y compris les performances), à réduire les coûts et à fournir un contrôle sur les données.

Parasoft propose une solution de virtualisation de services de niveau entreprise de premier plan. Ils fournissent également un Édition gratuite pour aider les équipes à démarrer.