Webinaire en vedette : MISRA C++ 2023 : tout ce que vous devez savoir | Voir le séminaire

Modèle de maturité de la virtualisation des services

Portrait de Grigori Trofimov, architecte de solutions senior chez Parasoft
22 septembre 2023
6 min lire

Voici une couverture complète de la virtualisation des services pour aider les organisations à naviguer dans l'expérience d'adoption et de mise à l'échelle. Définissez des attentes réalistes en vous appuyant sur le modèle de maturité de la virtualisation des services et ses quatre étapes.

Chez Parasoft, nous guidons les clients sur le marché en croissance rapide de la virtualisation des services (SV) depuis sa création. Nous avons capturé cette expérience dans le Modèle de maturité de la virtualisation des services, conçu pour aider les organisations informatiques à définir des attentes réalistes en matière d'adoption et de mise en œuvre de la virtualisation des services.

Adopter et faire évoluer la virtualisation des services

Le adoption de la virtualisation des services peut aller de simples cas d'utilisation ad hoc ou réactifs visant à combler des lacunes spécifiques jusqu'à des efforts coordonnés pour fournir un accès optimisé à l'échelle de l'entreprise à des environnements de test très complexes. Notre modèle de maturité de virtualisation des services définit des attentes réalistes quant à la manière dont les organisations peuvent appliquer au mieux cette technologie extraordinairement passionnante, réduisant ainsi les risques liés aux applications en permettant des tests plus précoces et plus complets.

Le modèle de maturité de la virtualisation des services se compose de quatre étapes définies par l'objectif spécifique de l'équipe à chaque étape.

  1. Ad hoc. L'accent est mis sur l'individu lorsqu'il y a des tentatives ponctuelles pour combler les lacunes qui entravent la capacité d'un individu à accomplir une tâche de développement ou de test spécifique.
  2. Réactif. L'accent est mis sur le projet dans lequel la virtualisation des services est utilisée pour émuler les composants système dépendants et permet aux tâches de développement ou de test du projet de se déplacer vers la gauche.
  3. Proactif. L'accent est mis sur l'environnement de test dans lequel la virtualisation des services fournit un accès cohérent aux environnements de développement et de test qui impliquent des dépendances système difficiles d'accès, incohérentes ou peu fiables.
  4. Géré. L'accent est mis sur la création de scénarios de test dans lesquels plusieurs environnements de test, tels que les conditions de performances, de sécurité ou d'erreur, sont coordonnés pour mettre en œuvre rapidement différents scénarios à chaque étape du SDLC, permettant ainsi plus d'automatisation et de meilleurs résultats de test. Une entreprise mature s’efforcera d’utiliser et d’optimiser SV dans toute l’organisation.

Qu'est-ce que la virtualisation des services ?

La virtualisation de services est une pratique de développement logiciel consistant à simuler le comportement d'un composant d'application sans qu'il soit nécessaire d'en déployer une instance réelle. Le cas d'utilisation le plus courant de la virtualisation des services consiste à simuler des composants tiers ou des systèmes back-end dans des environnements de test. Cela représente une opportunité pour les organisations de développer et de tester des applications complexes plus rapidement et de manière plus complète. Avec l'adoption de la virtualisation des services, les organisations réduisent considérablement les dépenses d'investissement et d'exploitation liées à la gestion des environnements de développement et de test.

En fournissant un accès à tout moment et en tout lieu au comportement des applications dépendantes difficiles à accéder ou à configurer pour le développement et les tests, notamment les bases de données, les mainframes, les applications tierces et les services évolutifs, la virtualisation des services accélère non seulement le développement agile et parallèle, mais permet également des scénarios de test axés sur les objectifs et axés sur l'entreprise qui réduisent considérablement les risques liés aux applications.

La virtualisation des services est le plus souvent utilisée dans les tests, mais certaines organisations peuvent choisir cette approche pour simuler n'importe quel environnement hors production, qu'il s'agisse de ventes, de formation ou d'intégrations de partenaires.

Pourquoi la virtualisation des services est-elle importante ?

Pour atteindre rapidement la qualité, il est essentiel d’avoir un accès illimité à un environnement de test fiable et 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, y compris les API, les services tiers, les bases de données, les applications et autres points de terminaison.

La virtualisation des services permet aux équipes d'accéder à un environnement de test complet, y compris tous les composants système dépendants critiques, et de modifier le comportement de ces composants dépendants d'une manière qui serait impossible avec un environnement de test par étapes, vous permettant ainsi 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, mais nous n'aborderons pas autant ce sujet aujourd'hui.

Qu'est-ce que la virtualisation des services permet d'autre ?

La virtualisation des services fait partie d'une plate-forme complète d'outils d'automatisation des tests qui aide les équipes à accélérer les tests de différentes manières. Par exemple, la virtualisation permet d'activer les activités de test importantes suivantes.

  • Test de performance. Oubliez les tests de performances en simulant les accords de niveau de service de vos systèmes dépendants, vous libérant ainsi de la disponibilité limitée de votre environnement de test de performances physiques ou de l'incapacité de le contrôler entièrement.
  • Test continu. Prenez une longueur d'avance sur la concurrence en accélérant la phase de test de votre pipeline de livraison continue et en automatisant la boucle de rétroaction avec des tests continus pour évaluer votre préparation à la publication.
  • Gestion de l'environnement de tests. Au lieu de faire évoluer du matériel supplémentaire pour des centaines de nouveaux silos de test, tirez parti de la virtualisation des services pour déployer et détruire dynamiquement les environnements de test virtuels.

Avantages pratiques de la virtualisation des services

Le déploiement de la virtualisation des services dans votre organisation présente de nombreux avantages. Les entreprises qui ont adopté les pratiques de test de pointe de la virtualisation des services rapportent :

  • Moins de défauts
  • Meilleure couverture des tests
  • Des taux d’exécution de tests plus élevés
  • Beaucoup moins de temps passé à tester

Évaluation de la faisabilité de la virtualisation des services

La virtualisation des services peut être une bonne solution si vous travaillez avec une application complexe impliquant plusieurs dépendances en aval. Les tests effectués sur des API externes peuvent être affectés par la disponibilité, les limitations de temps ou les frais. Si votre équipe a un délai serré et ne peut pas se permettre de retarder l'accès à ces actifs, la virtualisation des services vous permet de créer des versions simulées qui se comportent comme des versions réelles afin que les tests puissent se poursuivre sans entrave.

Implémenter la virtualisation des services pour réussir

La virtualisation des services est un outil puissant, mais elle nécessite un plan organisé pour être la plus bénéfique. Voici quelques étapes que vous pouvez suivre pour élaborer ce plan.

Construire l'analyse de rentabilisation

Il existe plusieurs méthodes pour élaborer une analyse de rentabilité en vue d’investir dans SV. Ils impliquent tous de faire des calculs sur les principaux problèmes : le temps, l’argent et la qualité.

Par exemple, si vous devez allouer une partie de votre budget pour accéder à un système externe tel qu'une API de traitement des paiements pour tester des applications, vous pouvez éliminer ce coût avec une version virtuelle.

Ou, si votre équipe est obligée d'attendre une fenêtre de temps spécifique pour tester les bases de données de production, une copie simulée de cette base de données pourrait lui permettre d'effectuer son travail plus rapidement, ce qui lui permettrait de gagner un temps précieux et de passer à d'autres tâches.

Un autre domaine clé est la gestion des défauts. Si votre équipe ne détecte des problèmes fonctionnels que lors des tests d'acceptation dans un environnement physique, combien pourriez-vous en découvrir plus tôt en testant plus tôt dans un environnement de test virtuel ? De nombreux problèmes peuvent être identifiés et résolus plus tôt dans le SDLC, ce qui signifie que moins de problèmes atteignent la production, où leur résolution est plus coûteuse et plus longue. C'est un impact significatif !

Consulte la calculateur de valeur de virtualisation de service pour une évaluation de haut niveau des économies de temps et d’argent que vous pourriez réaliser pour votre environnement de test.

Choisir le bon outil de virtualisation de services

La virtualisation des services est un élément clé de tout projet d'automatisation des tests. En créant des environnements de test stables et prévisibles, votre automatisation des tests sera fiable et précise. Cependant, il existe plusieurs approches et outils différents disponibles sur le marché. Que devez-vous rechercher dans une solution de virtualisation de services pour vous assurer que vous maximisez le retour sur investissement ?

Déterminez les principaux objectifs et besoins de l'équipe afin de pouvoir évaluer les capacités et les fonctionnalités qui seront les plus utiles, notamment :

  • Fonctionnalités de base telles que la création de services virtuels sans script
  • Flux de travail optimisés tels que la génération de données de test virtuel
  • Prise en charge de technologies et de protocoles spécifiques utilisés par votre entreprise
  • Extensions, automatisation et intégrations pour les processus CI/CD et DevOps

Voici un guide utile pour vous guider à travers ces considérations afin de faire un choix éclairé sur la solution qui répond le mieux aux besoins de votre équipe.

Planification et mise en œuvre de la virtualisation des services

Après avoir sélectionné l'outil de virtualisation de services qui correspond aux exigences et au budget de votre organisation, procédez à son déploiement au sein de l'équipe. Parasoft a aidé de nombreuses entreprises à suivre ce processus, de la configuration initiale à des cas d'utilisation plus avancés.

Commence avec le édition gratuite de Parasoft Virtualize avec l' vidéos tutorielles pour créer des services virtuels, comprendre les proxys de messages et bien plus encore. À mesure que votre équipe développe l'utilisation des services virtuels, configurez un serveur pour permettre la collaboration et le partage de ces services.

Construire une équipe de virtualisation des services efficace

De nombreuses entreprises qui se concentrent sur la production de logiciels de haute qualité décident de créer un centre d'excellence (COE) pour leur stratégie et leurs processus de test. Un COE contribue à fournir une structure qui encourage la croissance et la réutilisation tout en assurant la gouvernance et la coordination entre plusieurs équipes.

Un exemple est le client de Parasoft, WoodmenLa Vie. Lorsqu'ils ont décidé de moderniser leurs pratiques de test, ils ont mis en place une structure pour garantir que leurs trois équipes clés avaient une compréhension mutuelle des objectifs et de ce qu'il faudrait pour les atteindre. Ils ont également identifié une personne-ressource pour posséder et gérer la création initiale des services et actifs virtuels, qui les a ensuite partagés avec les différentes équipes. De plus, ils se sont concentrés sur l'éducation des développeurs sur la valeur et l'importance de leurs nouveaux processus de test, ce qui a permis à chaque membre de l'équipe de savoir qu'il avait un intérêt dans le succès du programme.

Découvrez comment d'autres entreprises apprécient Cox Automotive et Caesars Entertainment ont constitué leurs équipes et déployé des processus de test efficaces pour atteindre leurs objectifs de qualité.

Résumé

Le modèle de maturité de la virtualisation des services développé par Parasoft vise à aider les organisations de logiciels à adopter et à optimiser efficacement la virtualisation des services. Le modèle de maturité décrit quatre étapes, de l'ad hoc à la gestion, chaque étape illustrant une utilisation, une expertise et une adoption organisationnelle améliorées.

Une étape clé du parcours de maturité consiste à élaborer une analyse de rentabilisation pour la virtualisation des services et à choisir les outils permettant de répondre aux exigences. À mesure que les organisations grandissent, elles continuent de développer des capacités efficaces de virtualisation des services et de les intégrer aux processus existants.

L'établissement d'une analyse de rentabilisation, d'un plan et de l'équipe permet de tirer le meilleur parti de la virtualisation des services. Les avantages incluront des tests d'applications plus rapides et plus complets, une réduction des coûts de gestion des environnements de test et une couverture de test améliorée. La virtualisation des services ouvre également la porte aux tests continus, aux tests de performances et au déploiement dynamique d'environnements de test virtuels.

Comment adopter et mettre à l'échelle la virtualisation des services