Rejoignez-nous le 30 avril : dévoilement de Parasoft C/C++test CT pour l'excellence en matière de tests continus et de conformité | En savoir plus

Testez en continu avec la virtualisation des services

Les services que votre application appelle peuvent ne pas être disponibles pour les tests de charge lorsque vous en avez besoin. La virtualisation des services crée des services virtuels stables qui reproduisent la réalité.

Qu'est-ce que la virtualisation des services ?

La virtualisation des services est une fonction de test logiciel qui peut émuler les dépendances d'une application. Il permet aux équipes DevOps d'utiliser des services virtuels générés par ordinateur à la place de services réels afin de pouvoir tester souvent, tester tôt et réduire les coûts dans diverses situations. Il s'agit notamment des éléments clés du système distribué qui manquent : par exemple, lorsque les composants dépendants sont inaccessibles, la mise à l'échelle des environnements de formation et la création de scénarios d'intégration des partenaires.

L'utilisation de services virtuels à des fins de test est plus rentable que l'utilisation d'environnements de production à ces fins. Les tests d'API avec simulation de point de terminaison éliminent les risques de perte de données, évitent d'utiliser les serveurs coûteux dont le programme réel a besoin pour fonctionner et permettent à l'entreprise de renoncer aux frais de licence excédentaires. Il en résulte des procédures de test rapides, précises et moins lourdes.

Intégrez la virtualisation des services dans les pratiques de test automatisées pour les tests d'intégration continue exigés par les workflows DevOps.

Les avantages de la virtualisation des services

Pour profiter des avantages des initiatives Agile et DevOps, les équipes ont besoin d'un accès instantané à leur environnement de test, sans contraintes. Par application de la virtualisation des services dans les environnements de test, les organisations peuvent réduire ou éliminer la dépendance vis-à-vis de dépendances indisponibles, instables ou coûteuses, telles que des services tiers, des bases de données et des mainframes.

Accédez à tout moment

Accédez aux services dépendants avec lesquels votre application doit interagir pour des tests précis et approfondis, même s'ils sont indisponibles ou incomplets au moment du test.

Isoler les dépendances de service

Lorsque vous ne pouvez pas accéder au service concerné, ses interdépendances associées sont également une boîte noire. La virtualisation des services étudie les comportements réels et réplique ces interdépendances dans l'équivalent virtuel, fournissant des réponses précises.

Assurer la stabilité du test

Des services incomplets ou instables peuvent entraîner des échecs et des retards dans les tests. Un équivalent virtuel est plus stable, offrant une automatisation fiable et une tranquillité d'esprit lors des tests.

Tirez parti des outils sans script

Les testeurs n'ont pas besoin d'écrire des scripts compliqués. Des outils sans script et sans code permettent même aux testeurs novices de participer. Dans les cas occasionnels où les scripts sont indispensables, Parasoft prend en charge une variété de langages de programmation.

Reproduire avec précision le comportement du monde réel

La virtualisation des services de Parasoft étudie les appels réels de l'application aux services en direct pour modéliser avec précision les demandes et les réponses dans la version virtuelle. Une définition de service peut également être appliquée pour une meilleure corrélation.

Effectuer des tests de cas négatifs et de bord efficacement

Il est difficile de faire en sorte qu'un service dépendant se comporte intentionnellement d'une mauvaise manière, mais ces extrêmes doivent être pris en compte pour des tests précis. Parasoft garantit que le service virtuel répond à une variété de conditions de test pour des tests plus approfondis.

Façons d'utiliser la virtualisation des services

Plusieurs domaines peuvent tirer parti de la virtualisation des services pour améliorer la productivité.

Développement Agile/Parallèle

Les pratiques logicielles modernes impliquent plusieurs équipes opérationnelles travaillant séparément sur des éléments de l'environnement, puis les réunissant via des API pour former le produit final. En attendant l'accès à une partie de l'application, les équipes DevOps peuvent utiliser la virtualisation des services pour simuler ces pièces manquantes afin de pouvoir poursuivre le développement de leur application.

Test de performance

Utilisez la virtualisation des services pour vous assurer que votre application peut gérer la pleine capacité nécessaire pour les temps de réponse à forte demande, tels que les ventes de vacances. Souvent, le coût de maintenance d'un environnement de spectacle vivant est proche d'égaler l'environnement de production d'une entreprise. En utilisant la virtualisation des services, les entreprises peuvent simuler les dépendances des API qu'elles testent et réduire considérablement le coût des tests de performances.

Gestion des données de test

Les entreprises disposent de vastes quantités de données qui constituent une part importante de leurs interactions avec leurs clients, par exemple une banque. Ces informations peuvent inclure des PII (informations personnellement identifiables) telles que des numéros de sécurité sociale. Il n'est pas approprié de permettre aux testeurs d'avoir accès à des sources de données de production réelles pour leurs besoins. La virtualisation des services donne aux équipes de test la possibilité de générer des données de manière synthétique, par exemple des numéros de sécurité sociale correctement formatés et masqués, qu'elles peuvent ensuite utiliser pour tester les fonctionnalités.

Entrainement d'employé

Les entreprises peuvent utiliser la virtualisation des services pour former leurs employés à une application qu'ils utiliseront au quotidien. Cela évite aux stagiaires d'avoir à se former à la version de production réelle du logiciel, qui peut être liée à plusieurs applications compliquées, et les empêche de modifier ou de supprimer des données sensibles.

Intégration des partenaires

Les entreprises exposent souvent les API aux clients ou aux partenaires commerciaux, y compris les environnements de test pour faciliter l'intégration. La maintenance de ces environnements de test pour les partenaires a un coût, comme tout autre environnement. La virtualisation des services est une excellente technique pour offrir aux partenaires un accès aux environnements sandbox de vos API pour s'intégrer plus facilement à moindre coût.

Meilleures pratiques pour la virtualisation des services

Soyez conscient de la virtualisation des services requise.

Pas besoin de créer tout ou même une grande partie du comportement réel du système que vous virtualisez ; vous n'avez qu'à mettre en œuvre les transactions essentielles. Et n'essayez pas d'émuler des requêtes ad hoc. Si vous rencontrez un mauvais scénario de test à partir d'une entrée erronée, vous pouvez générer une transaction virtualisée qui le réplique.

Reconnaissez les cas de test que vous soutenez.

N'incluez les comportements dans votre service virtuel qu'après avoir compris comment les cas interagissent avec eux. Votre plan de test doit définir précisément les transactions à inclure dans la virtualisation. Laissez le plan de test piloter les transactions que vous allez virtualiser.

Testez le bon système.

Assurez-vous de créer des scénarios de test qui fournissent la validation du système que vous testez, et non la virtualisation des services. Simulez une réplique idéale du composant dépendant. Dans le même temps, la virtualisation doit être suffisamment intelligente pour permettre au client de finaliser un workflow. Par exemple, lors du test de l'interface utilisateur pour une banque, le service virtuel ne doit couvrir que la représentation correcte d'un retrait ou d'un dépôt ; pas besoin de vérifier le solde du compte.

Chaque équipe doit développer ses propres services virtuels.

Chaque équipe a ses propres exigences et lorsqu'elle crée ses propres versions d'actifs virtuels, aucun dommage ne se produit en cas de redondance. Tenter de créer des virtualisations de service que plusieurs équipes doivent utiliser ne génère qu'un autre service limité. La meilleure pratique consiste à ce que l'équipe qui a développé le service réel crée également le service virtuel, car elle possède l'expertise locale.

N'utilisez pas de réponses aléatoires.

Les réponses aléatoires ne produiront pas de test fonctionnel duplicable. Si vous devez faire varier les données que vous recevez d'une certaine demande, le meilleur moyen est de créer un ensemble de réponses non changeant pour un groupe d'entrées comparables. Au lieu de cela, faites varier la diffusion du trafic avec des entrées aléatoires.

Évitez les surcharges de données.

Faire correspondre plusieurs demandes de transaction qui ont exactement la même réponse signifie une maintenance élevée. Par exemple, faites correspondre uniquement le dernier chiffre d'un numéro de compte. Le mappage de plusieurs numéros de compte uniques à une seule transaction résout le problème de la mise en cache de la base de données des tests de performances.

Assurez-vous que votre application résout les échecs.

La plupart des plans de test ont moins de scénarios de couverture de test positifs et plus de scénarios négatifs. Cela aide lorsque les développeurs repèrent des exceptions. Vous pouvez plus facilement reconnaître les situations d'échec dans un cas de test étroit plutôt que dans des situations à l'échelle du système.

Laissez le consommateur créer les services virtuels.

Les consommateurs comprennent les comportements sur lesquels ils s'appuient. Dans un environnement SOA (architecture orientée services) normal, le propriétaire du service n'est pas au courant. Ainsi, une relation étroite avec le propriétaire du service est toujours essentielle car, comme mentionné, l'expertise locale peut permettre des services plus intelligents et plus évolutifs.

Exemple de virtualisation des données

La plupart des entreprises stockent des données dans de nombreux emplacements différents, du matériel dans leurs locaux au cloud. Ces informations sont adaptées à partir de plusieurs applications et formats de fichiers. La virtualisation des services permet à n'importe quelle application d'accéder aux données pertinentes quels que soient le format, la source ou l'emplacement.

Dans ce cas, la virtualisation des services est une couche logicielle entre les applications qui accèdent aux systèmes de stockage et les données qu'ils contiennent. La couche interprète la requête ou la demande de données d'une application selon les besoins et fournit des résultats couvrant plusieurs systèmes.

Remarque : La fabrication des données de test peut être difficile en raison de tous les composants logiciels qui reposent sur leur validité. Une fois les données de test consommées, elles ne peuvent plus être réutilisées tant que l'état du système n'est pas rétabli. Avec la virtualisation des services, les données de test virtuelles peuvent être « développées » sur la base d'un petit échantillon et de contraintes déduites. Ces données peuvent être réutilisées et régénérées à la demande.

Capture d'écran de Parasoft Virtualize dans CTP

Comment démarrer avec la virtualisation des services

Capture d'écran des notifications d'événements et de déploiements de virtualisation de service Parasoft.

Pour commencer, il est préférable de discuter avec un professionnel Parasoft de la manière de faire correspondre les besoins de votre entreprise avec l'expertise de virtualisation des services que Parasoft a à offrir. Après avoir déterminé vos besoins, nous assignons une équipe de virtualisation de service pour répondre à ces besoins. L'équipe travaille avec votre entreprise pour développer un plan global et une meilleure approche qui comprend des cas de test pour obtenir les données nécessaires pour résoudre les problèmes avant qu'ils ne surviennent, ce qui est l'un des principaux avantages de la virtualisation des services.

Vous voulez en savoir plus ? Lisez notre guide utile pour trouver le point de départ idéal pour la virtualisation des services de votre équipe et identifier le meilleur modèle de déploiement pour vos besoins. Et consultez nos options de déploiement.

Comment Parasoft vous aide-t-il ?

Facilitez et accélérez les tests en continu grâce à la virtualisation des services. La plate-forme de virtualisation des services de Parasoft permet au développeur ou au testeur d'intégrer des tests automatisés dès le début du développement logiciel tout en fournissant des services virtuels et stables selon les besoins.

Passez facilement d'un seul utilisateur à un déploiement DevOps complet entre les équipes. Réduisez les frais généraux de développement et de test de logiciels en créant des intégrations plus tôt et en stabilisant les dépendances.

Évitez les frais généraux liés aux tests avec les environnements de production. Simulez des services qui seraient autrement inaccessibles ou instables dans les environnements Agile DevOps.

Capture d'écran de la vidéo du modèle de déploiement de la virtualisation des services. Titre des étapes du modèle de déploiement de la virtualisation des services, avec un graphique représentant un centre d'excellence pour la virtualisation des services et une brève description de ce qu'ils font à droite.

Découvrez la valeur de la virtualisation des services

Vous voulez voir dans quelle mesure la virtualisation des services peut bénéficier à vos processus de test ?

Utilisez ce calculateur pratique pour évaluer comment Parasoft peut vous aider à réduire le temps et les coûts des tests d'applications en réduisant les contraintes de l'environnement.

Entrez simplement le nombre de personnes dans vos équipes de développement et de test ainsi que les entrées pour les environnements de test, les défauts et les retards de livraison. Vous obtiendrez un calcul qui projette la valeur des avantages potentiels que vous pourriez tirer de la mise en œuvre de la solution de virtualisation des services Parasoft dans votre organisation.

Graphique abstrait montrant un graphique à secteurs à gauche avec une légende à droite.

Foire aux Questions