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 >>

Améliorez la collaboration des développeurs à l'aide de la virtualisation des services

Par Chris Colosimo

28 août 2017

4  min lire

Avec la virtualisation des services, vous pouvez simplifier le processus de simulation et créer une bibliothèque de services virtuels réutilisables qui partagent les fonctionnalités de base, de sorte que vous pouvez cesser de créer des services virtuels encore et encore.

Il n'y a rien de plus frustrant pour un développeur que de devoir constamment reconstruire les choses à partir de zéro. Un principe fondamental de la conception orientée objet est de pouvoir créer un objet ou un point référençable pour chaque élément d'effort, de sorte que vous n'ayez jamais à vous répéter.

Malgré ce principe de base, lorsqu'il s'agit de se moquer, les développeurs se retrouvent régulièrement à répéter le même processus encore et encore.

Mais pourquoi? Lorsqu'un développeur écrit du code d'application, il communique souvent avec les mêmes API externes et effectue le même appel au même service de différentes manières. Le problème avec les simulations traditionnelles est qu'elles sont écrites au niveau du code et qu'elles sont spécifiquement conçues pour fonctionner avec la fonction en cours de développement. En tant que tel, chaque fois que la fonctionnalité doit être exercée, une nouvelle maquette doit être créée.

Lors de l'utilisation d'un cadre de simulation traditionnel, il est difficile de partager des simulations qui ont déjà été créées, non seulement parce qu'on ne sait pas où elles existent dans la base de code, mais aussi parce qu'il est difficile de comprendre à quelle exigence une simulation spécifique est liée. à. En tant que tel, ce qui finit par arriver, c'est que les membres individuels de l'équipe créent souvent le même simulacre que la personne assise juste à côté d'eux. Il s'agit simplement d'un gaspillage d'efforts et d'une perte de temps pour un développeur.

Où est mon simulacre?

Il devient également difficile de collaborer une fois qu'un développeur a créé une maquette. Il n'existe pas de tableau de bord magique où vous pouvez publier des notifications sur les simulacres qui ont été créés pour garder l'équipe informée.

J'étais récemment dans une organisation de soins de santé qui utilisait la moquerie comme pratique de développement courante et qui avait un fournisseur de services qui était toujours hors ligne, ce qui en faisait une cible commune pour la moquerie. En tant que tel, chacun des développeurs individuels avait créé une interface fictive pour celui-ci dans sa propre base de code. Ils étaient tous légèrement différents mais atteignaient le même objectif. En interviewant les développeurs, j'ai découvert qu'environ 20 des mêmes simulacres existaient. Ce fut même une surprise pour eux. Interrogé sur le travail en double, la réponse, à voix basse, n’était pas totalement inattendue: «Nous sommes trop occupés pour communiquer.»

Semble familier? (J'aurais aimé avoir une bonne statistique ici pour que vous vous sentiez mieux.)

Mais les simulations sont nécessaires, comme tout développeur ou testeur l'expliquera, car vous devez avoir la capacité de vous dissocier du reste du monde lors de votre développement. Les simulacres sont un moyen d'entourer votre application d'un environnement protégeable - mais la solution a ses défis inhérents, notamment:

  • Reconstruire chaque maquette à partir de zéro est fastidieux et fait perdre du temps
  • Essayer de découvrir des simulacres existants est difficile
  • Les simulacres existent sans but - ils ne sont pas liés à des API spécifiques, ni réutilisables
  • Les gens sont trop occupés pour communiquer même s'ils ont besoin de collaborer

Entrez : virtualisation des services. Avec cette pratique de test, vous pouvez simplifier le processus de simulation et créer une bibliothèque de services virtuels réutilisables qui partagent les fonctionnalités de base. Ainsi, vous pouvez arrêter de créer des services virtuels encore et encore.

Utilisation de la virtualisation des services

Regardons un exemple. Disons qu'il existe un service existant qui fournit des informations sur l'identité d'une personne en prenant un numéro de compte entrant et en renvoyant une réponse pour cette personne, et il y a un nouveau service virtuel qui doit être développé dans lequel, en fonction d'un numéro de compte, il retourne détails financiers.

Avec la virtualisation des services, une grande partie du service d'origine peut être exploitée lors de la création du nouveau service virtuel. La seule chose qui séparera les deux services est le schéma et les données. Et à mesure qu'une organisation crée de plus en plus de services virtuels, le référentiel d'artefacts qu'elle peut réutiliser s'agrandit également. Cela résout le défi initial d'avoir à créer le même service virtuel encore et encore.

Partage de services virtuels

Contrairement aux simulacres, les services virtuels sont hautement partageables et les modules internes peuvent également être réutilisés. Les services virtuels, ou fichiers pva, peuvent être stockés au format XML et peuvent facilement être archivés dans le contrôle de code source. Si le service simule une fonctionnalité spécifique pour une API particulière, vous pouvez rechercher l'artefact dans le contrôle de code source ou plus facilement sur un serveur de virtualisation partagé. Comme une équipe croît dans leur utilisation de la virtualisation des services, ils peuvent tirer parti des capacités de partage de serveur existantes en connectant leur bureau directement au serveur à la recherche de l'artefact dont ils ont besoin, en le ramenant directement sur leur bureau et en commençant immédiatement à l'utiliser. Cela résout le défi de découvrir les services virtuels qui ont été créés et d'y accéder immédiatement.

Lier ensemble des services virtuels

Parasoft Virtualiser fournit également un marché d'artefacts privés et publics créés à partir de cas d'utilisation courants de la virtualisation. Cela vous permet de démarrer rapidement et de créer une base de connaissances interne dans toute votre organisation, ce qui simplifie la création de services virtuels à l'avenir. Lorsque vous commencez à tirer parti des services virtuels, vous pouvez facilement lier ce service virtuel avec son API initiale à des conventions de dénomination ou via une description ou un balisage.

Vos partenaires de développement peuvent ensuite rechercher tous les actifs virtuels qui ont été créés pour les API qu'ils souhaitent simuler directement dans le navigateur Web et voir exactement ce qui a été créé et immédiatement déployé sur leur bureau:

Cela résout le défi de lier les services virtuels avec leurs API et leurs exigences spécifiques.

Collaboration avec les services virtuels

Enfin, compte tenu de toutes les solutions ci-dessus, votre équipe peut créer un flux de travail durable, permettant aux développeurs et aux testeurs d'avoir des options lorsqu'ils réalisent qu'une simulation est nécessaire. Au lieu d'avoir à passer du temps à faire des allers-retours, ils peuvent interroger l'écosystème Parasoft pour une maquette adaptée à leurs besoins spécifiques, et s'il en existe un, ils peuvent y accéder instantanément. Sinon, ils peuvent créer un service virtuel que l'équipe peut réutiliser et qui sera détectable par toute personne qui en aura besoin à l'avenir. Cela résout le défi de la collaboration en corrélation.

Alors quoi maintenant?

Vous pouvez utiliser la version gratuite de Parasoft Virtualiser, la virtualisation Edition communautaire, pour commencer à collaborer avec votre infrastructure virtuelle. Tout ce que j'ai mentionné ci-dessus est disponible là-bas, et vous pouvez commencer avec le début d'un téléchargement - les actifs peuvent être archivés dans le contrôle de code source, promus vers un serveur d'équipe partagé et téléchargés sur le marché privé de votre équipe. Bonne virtualisation!

Par Chris Colosimo

Chef de produit chez Parasoft, Chris élabore des stratégies de développement de produits pour les solutions de test fonctionnel de Parasoft. Son expertise en accélération SDLC grâce à l'automatisation l'a conduit à des déploiements majeurs en entreprise, tels que Capital One et CareFirst.

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