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

Gestion des données de test pour les tests continus

Effectuez des tests fiables avec des données de test synthétiques réutilisables.

Qu'est-ce que la gestion des données de test ?

Les développeurs utilisent des données de test pour valider et optimiser les fonctionnalités de l'application, y compris les chemins d'accès utilisateur courants ou critiques et les cas particuliers. Lorsqu'ils utilisent des données de test réalistes, cela aide également à reproduire les conditions d'erreur et à reproduire les défauts.

Les API d'application doivent faciliter un échange de données électronique fluide en temps réel tout en interagissant avec les API de plusieurs fournisseurs et partenaires. Lors de l'intégration et Test d'API, DevOps et les équipes d'assurance qualité passent souvent un temps démesuré à attendre les données de test provenant des sources de données. Cela entraîne des retards qui peuvent avoir un impact sur le sprint ou sur l'ensemble de la livraison du logiciel.

Pour éviter que vos tests d'application ne se bloquent et pour maintenir l'intégrité référentielle, vous devez accéder à des données de test réalistes à la demande. La gestion des données de test (TDM) offre un moyen de créer et de gérer des ensembles de données sûrs et appropriés que votre entreprise peut utiliser dans plusieurs équipes pour valider la fonctionnalité d'une application.

Les données de test virtuelles ouvrent la voie aux équipes DevOps pour atteindre test continu. La gestion des données de test surveille le trafic réel et les modèles de données pour générer des modèles de données à partir des interactions dans votre système et déduit automatiquement des informations sur l'entrepôt de données pour permettre aux utilisateurs non techniques d'obtenir plus facilement les données de test dont ils ont besoin.

En utilisant des données synthétiques avec vos services virtuels, vous pouvez tester une grande variété de conditions, à la fois des cas de test courants et de coin.

Si vous rencontrez des problèmes pour mettre les bonnes données de test à la disposition de vos équipes d'assurance qualité afin de valider efficacement l'application sous test (AUT) en raison de bases de données backend partagées, vous avez besoin d'une gestion des données de test.

Téléchargez le livre blanc de Parasoft pour des initiatives sur la façon de réduire vos maux de tête de gestion des données de test.

Avantages de la gestion des données de test

Générer des données significatives

L'approche des données de test virtuelles de Parasoft préserve les hiérarchies de données afin que vous puissiez facilement visualiser les dépendances et accéder aux données qui reflètent le monde réel.

Réutiliser les données

Modélisez des ensembles de données existants pour créer des données de test virtuelles que vous pouvez masquer et utiliser à plusieurs reprises dans des instances de test.

Stockez facilement les données

Accédez à votre catalogue de données et stockez-le à partir d'un référentiel distant pour une gestion transparente des données de test.

Utiliser le libre-service

Inutile d'attendre qu'un administrateur de base de données génère les données dont vous avez besoin à partir d'un système centralisé de gestion des données de test. Accédez aux données dont vous avez besoin en quelques clics sur le portail Web.

Soyez pointilleux

Sélectionnez et choisissez exactement les ensembles de données de test dont vous avez besoin. Il peut s'agir de données clonées pour des tests reproductibles, de données corrompues ou inattendues pour des tests d'intégration ou de données pour tester une nouvelle fonctionnalité. La solution de gestion des données de test de Parasoft vous permet de sélectionner précisément les ensembles de données dont vous avez besoin pour vos scénarios de test.

Créer un contexte

Parasoft fournit non seulement les données de test dont vous avez besoin, mais également la solution d'automatisation des tests et la solution de virtualisation des services qui en dépendent. Utilisez vos données de test virtuelles dans le bon contexte pour générer une valeur réelle.

Types de gestion des données de test

Données de production

Cela fournit la couverture de test la plus complète et les testeurs disposent d'une pléthore de données réalistes provenant de leur système de production avec lesquelles travailler. Cependant, cela a un prix : perte d'agilité et coûts de stockage élevés. Dans certaines applications, cette méthode risque également de révéler des données sensibles.

Données en libre-service

Il s'agit de données auxquelles vous pouvez accéder et que vous pouvez utiliser pour effectuer des tests selon vos besoins, à la demande. Il vous permet de réutiliser facilement les données de test dans vos tests automatisés ou vos services virtuels, réduisant ainsi le temps que vous passez à attendre les actualisations des données de la gestion traditionnelle des données de test.

Données masquées

L'utilisation de sous-ensembles ou d'ensembles complets permet aux équipes de développement d'utiliser des données réelles sans s'exposer à des risques dangereux. Les méthodes de masquage des données de test garantissent que toutes les données sensibles sont protégées.

Données erronées

Ces données contiennent des erreurs pour déclencher intentionnellement votre logiciel afin d'exposer des défauts. Vous devez vous assurer que votre application valide correctement les entrées et enregistre les erreurs de manière appropriée.

Données synthétiques (virtuelles)

Vous n'avez pas à sacrifier la variabilité des données en choisissant des données générées synthétiquement plutôt que des données de production. Les capacités de modélisation et de génération de données de Parasoft vous permettent d'étendre un petit ensemble de données pour répondre à la variété dont vous avez besoin pour assurer une couverture de test complète. Il est plus efficace d'utiliser un outil pour générer automatiquement des données de test virtuelles qui s'alignent sur un modèle des données réelles. Les données sont alors plus faciles à masquer, modifier et manipuler pour divers besoins de test. Des équipes distinctes peuvent exploiter plusieurs copies sans écraser l'ensemble de données principal.

Sous-ensembles de données

La génération de données synthétiques est excellente, mais générer des données suffisamment diversifiées signifie que vous devez gérer beaucoup de données. Certains cas d'utilisation nécessiteront des sous-ensembles spécifiques de données adaptés à chaque besoin. La solution de données de test de Parasoft vous permet d'ajouter des contraintes aux données de test dont vous avez besoin, ce qui facilite la fourniture exacte des données pour des besoins de test spécifiques.

Façonner les données

Les systèmes peuvent se comporter très différemment selon la forme des données de test utilisées. Seule l'utilisation de petites charges utiles peut risquer de passer à côté de problèmes graves qui surviennent lorsque les systèmes sont soumis à des données de formes et de tailles variées. La solution de données de test de Parasoft vous permet de moduler la forme des données générées pour vous assurer que vos tests couvrent des scénarios où votre application doit faire face à des charges utiles importantes.

Données de chemin positif

Cela ne comporte aucune erreur ou conditions exceptionnelles. Ces données permettent aux tests de suivre un chemin utilisateur typique qui devrait s'exécuter sans exception et produire une sortie prévisible. Si ce "chemin heureux" ne fonctionne pas correctement, le logiciel ne répond pas aux exigences.

Meilleures pratiques de gestion des données de test

Le processus d'obtention, de possession et de sécurisation des données de test est à la fois une exigence et une responsabilité. Sans données de test appropriées, vous ne pouvez pas obtenir une couverture de test élevée, mais vous devez vous assurer que les données de test ne contiennent aucune information sensible susceptible d'introduire un risque.

Vous avez besoin de données réalistes pour tester de manière exhaustive chaque aspect de votre code. Mais les bonnes données sont difficiles d'accès, difficiles à sécuriser et difficiles à stocker. La solution de données de test virtuelles de Parasoft résout ces problèmes de gérance des données, et plus encore.

Générez des données de test plus rapidement. Fournir des données de test à une équipe d'assurance qualité est un besoin critique qui prend du temps ; les développeurs pourraient mieux consacrer leur temps au développement de code. Automatisez la génération et le provisionnement des données de test pour éliminer les retards et permettre un accès en libre-service. Cela permet à l'équipe DevOps de créer des centres de données et des modèles, et aux équipes de test de les partager et de les contrôler.

Répondre aux besoins de plusieurs équipes. Lorsque vous utilisez des données virtuelles, vous pouvez fournir des ensembles de données appropriés, pertinents et utiles à chaque équipe DevOps afin que chacun puisse progresser dans les tests tout au long du cycle de vie du logiciel. Faites une copie pour conserver les valeurs d'origine. L'équipe peut réutiliser les données et les réinitialiser à un état connu, si nécessaire.

Assurer la répétabilité de la résolution des problèmes. Lorsque l'équipe d'assurance qualité effectue ses tests, elle peut rencontrer des problèmes. En partageant leur ensemble de données de test avec les développeurs, ils peuvent reproduire le problème de manière fiable dans l'environnement de développement afin que les développeurs et les testeurs les identifient et les traitent.

Assurer une gouvernance et une gestion efficaces des données. Les données de test du matériel et des environnements de production réels ne sont pas toujours accessibles. Les données de test virtuelles peuvent refléter les plates-formes et les hiérarchies de données réelles tout en masquant les informations sensibles pour garantir la conformité aux réglementations telles que PCI DSS et GDPR.

Exploitation de la modélisation et des sous-ensembles. Pour vous assurer que vos données de test sont adaptées à votre objectif, vous pouvez utiliser la modélisation et le sous-ensemble. La source de données que vous utilisez doit être à la fois précise et valide, mais elle doit également couvrir les cas particuliers et les chemins d'accès utilisateur moins courants. Certaines données doivent entraîner des défaillances de l'utilisateur pour garantir que le processus valide également les scénarios d'erreur.

 

Protégez les données sensibles avec le masquage. Pour les applications qui traitent des informations sensibles, telles que des dossiers médicaux ou des informations financières comme les cartes de crédit, le masquage des données protège contre les violations et garantit la conformité réglementaire. Cependant, ce processus ajoute fréquemment des coûts opérationnels et allonge les cycles de test.

Préserver la qualité des données. Les équipes d'exploitation s'efforcent de fournir les types de données de test appropriés, tels que des ensembles de données synthétiques ou des données de production masquées, aux groupes de développement de logiciels. Lorsque les groupes TDM évaluent les exigences pour différents types de données de test, ils doivent également garantir la qualité des données. Ils doivent préserver la qualité dans trois domaines principaux :

Âge des données. Les équipes DevOps ne peuvent souvent pas répondre aux demandes de tickets en raison des efforts et du temps nécessaires pour formuler les données de test. Ainsi, les données peuvent devenir obsolètes. Cela peut avoir un impact négatif sur la qualité des tests avec les problèmes coûteux et tardifs qui en résultent. La solution TDM doit se concentrer sur la réduction du temps nécessaire pour actualiser l'environnement, ce qui rend la dernière version des données de test plus accessible.

Exactitude des données. Lorsque les testeurs ont besoin d'un certain nombre d'ensembles de données à un moment précis pour les tests d'intégration de systèmes, cela peut remettre en question le processus TDM. Par exemple, tester un processus de procédure de paiement peut nécessiter que le processus fédère la gestion des stocks, la gestion de la relation client et les applications financières. Le processus TDM doit permettre de fournir plusieurs ensembles de données au même moment et de les réinitialiser simultanément entre les séquences de test.

Taille des données. En raison des limitations de stockage, les développeurs doivent souvent travailler avec des sous-ensembles de données qui, par nature, peuvent ne pas satisfaire à toutes les exigences de test fonctionnel. L'utilisation de sous-ensembles peut entraîner l'absence de cas aberrants, ce qui, ironiquement, peut augmenter les coûts d'infrastructure au lieu de les réduire en raison d'erreurs liées aux données d'entreprise. La stratégie de test optimale consiste pour les développeurs à fournir des copies de données de test pleine grandeur, puis à partager des blocs de test communs entre les copies, n'utilisant ainsi qu'une infime fraction de l'espace du sous-ensemble. Le résultat est que les équipes TDM réduisent fréquemment les coûts d'exploitation des sous-ensembles, à la fois les coûts de résolution des erreurs et de préparation des données, en réduisant aussi souvent le besoin de sous-ensembles de données.

Lisez l'une des histoires de réussite des clients de Parasoft, montrant comment ses méthodes fonctionnent avec succès dans le monde réel.

Défis des données de test

Pour les applications axées sur des expériences client personnalisées, la concurrence pour gagner des clients est féroce. Les gestionnaires de données de test qui orchestrent les opérations commerciales en contact avec les clients et back-end nécessitent des volumes de données de test pour garantir la robustesse.

Exemples

Voici quelques exemples de situations auxquelles votre équipe QA peut être confrontée.

"Aider! Quelqu'un d'autre a modifié/supprimé mes données backend !"

Si plusieurs personnes partagent des ensembles de données de test, il y a un risque que quelqu'un les modifie et les rende inutilisables par d'autres membres de l'équipe. Créez des ensembles de données en double pour des utilisateurs individuels afin d'éviter ce problème.

"Je dois recharger mon magasin de données principal avant chaque test, ce qui entraîne des temps d'attente pour les tests."

Lorsque l'ensemble de données de test est disponible dans un environnement de test virtualisé, le testeur a désormais le contrôle de ses propres données de test et n'a plus à attendre le rechargement à partir du magasin de données réel.

"Mon AUT est en train de migrer vers un nouvel environnement de test et mes datastores backend requis ne sont pas disponibles."

Isolez l'AUT et les données de test nécessaires dans un environnement de test virtuel pour permettre aux tests de se poursuivre sans interruption jusqu'à ce que le nouvel environnement soit entièrement opérationnel.

"Les développeurs ont changé la disposition de la base de données et maintenant mes données de test ne fonctionnent pas."

Utilisez la modélisation pour analyser si la source de production a été modifiée, puis mettez à jour vos jeux de données de test pour qu'ils correspondent à la dernière configuration.

"Un maillon de la chaîne entre mon AUT et mon magasin de données principal est rompu."

Lorsque l'environnement de test est instable, cela peut avoir un impact sur les activités quotidiennes d'un testeur, rendant les données inaccessibles. Virtualisez les dépendances backend pour éviter qu'elles ne constituent un goulot d'étranglement et permettez au testeur de créer des données de test à la demande.

"Je veux modifier mes données backend, mais je ne peux pas car cela affectera négativement les autres testeurs."

La modification des données dans une banque de données partagée peut corrompre l'ensemble de données pour les autres, entraînant des résultats inattendus qui nécessitent un débogage en raison d'échecs de test faussement positifs. Permettre à chaque testeur de créer et de gérer son propre jeu de données de test virtuel évite la pollution des données croisées.

Démarrer avec un processus de gestion des données de test

Gagnez en indépendance et contrôlez davantage vos activités quotidiennes en mettant les données de test entre les mains des testeurs grâce à un processus de gestion des données de test efficace et de haute qualité.

  • Créez automatiquement des modèles de données pour générer et définir des données de test et mettez-les facilement à jour aussi souvent que nécessaire.
  • Extrayez des données de n'importe quelle source, créez des données synthétiques et masquez toutes les données sensibles pour les utiliser avec des services virtuels.
  • Stockez et gérez les données dans le référentiel de données intégré pour un accès rapide et facile.
  • Prenez un instantané des données pour avancer et reculer facilement afin de définir des conditions et des points spécifiques dans le temps.

Outils de données de test virtuel Parasoft

Les solutions complètes de Parasoft créent et gèrent des données de test virtuelles à brancher et jouer dans sa solution de test automatisée afin que vous puissiez tester en continu.

Parasoft SOAtest

Cette approche moderne de la gestion des données de test utilise un navigateur Web et des diagrammes visuels afin que même les testeurs novices et les développeurs d'applications puissent accéder aux ensembles de données qu'ils souhaitent et les intégrer de manière transparente dans des workflows de test automatisés.

Parasoft Virtualiser

Créez des données synthétiques pour couvrir un large éventail de conditions diverses. Utilisez ces données pour répliquer ou cloner un environnement de test authentique, même sous charge, afin de vous assurer que l'application fonctionne comme prévu.

Parasoft CTP

Des tests continus, des données et des actifs virtuels accessibles via une interface Web permettent une coordination transparente avec les architectes, les développeurs et les testeurs, offrant ainsi une transparence dans le processus de test. Gagnez en visibilité sur l'environnement de test et le processus de test pour détecter et diagnostiquer rapidement les échecs de test.

Foire aux questions

Dans les cycles de développement logiciel Agile DevOps modernes, le codage et les tests sont étroitement intégrés dans une boucle continue. Malheureusement, cela signifie que les testeurs et les développeurs doivent préparer les données dont ils ont besoin sans compromettre l'intégrité et la sécurité des données. Ces besoins sont universels dans toutes les industries, mais sont particulièrement utiles dans les cas où les données réelles sont rares et où les testeurs doivent les masquer avant de les utiliser.

La gestion virtuelle des données de test et les outils de gestion des données de test définis permettent de garantir que les utilisateurs implémentent et utilisent le logiciel en toute confiance. Lorsque les développeurs intègrent des données de test virtuelles dans les pipelines CI/CD, cela fait des tests logiciels continus une réalité et reproduit des situations réelles sans compromettre la sécurité ou la confidentialité des données.

Bien sûr, mais à quel prix ? La migration et le masquage des données de production vers des environnements inférieurs est un processus qui prend beaucoup de temps, même avec l'automatisation, et introduit le risque d'exposition des données sensibles en cas d'erreur de l'utilisateur. Pour de nombreuses organisations, c'est quelque chose que les développeurs et les testeurs vivent au quotidien. L'approche de Parasoft pour tester les données vous garantit d'obtenir la variabilité des données dont vous avez besoin, à la vitesse que vous attendez, sans aucun des risques.

Pour capturer les données de test, vous utilisez des proxys de message pour surveiller et enregistrer les transactions via vos systèmes intégrés. Parasoft comprend le modèle de données des données capturées qui vous permet de gérer, masquer, étendre, sous-ensemble et réinitialiser selon les besoins. Parasoft rend cela facile avec une interface Web légère et conviviale.