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.
Découvrez comment la solution Parasoft Continuous Quality permet de contrôler et de gérer les environnements de test pour fournir des logiciels de haute qualité en toute confiance. Inscrivez-vous pour la démo >>
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'exécution des tests d'intégration et d'API, les équipes DevOps et QA 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 réaliser des tests continus. 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.
Il s'agit de la couverture de test la plus complète et les testeurs obtiennent les données en exécutant un système de production. 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.
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 services virtuels, réduisant ainsi le temps que vous consacrez à la gestion des données de test.
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 garantissent que toutes les données sensibles sont protégées.
Ces données contiennent des erreurs pour déclencher intentionnellement le logiciel afin d'exposer des défauts. Vous devez vous assurer que l'application fournit des messages d'erreur appropriés à l'utilisateur ou corrige correctement les formats de données incorrects.
Vous ne devez pas simplement créer une copie des données de production et essayer de la modifier manuellement. Lorsque les testeurs créent manuellement des données de test, elles sont sujettes à une erreur humaine. 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.
Il s'agit d'une partie de la base de données de production ou virtuelle. Celles-ci sont nettement plus agiles que les copies complètes. Ils peuvent permettre des économies sur les dépenses de CPU, de matériel et de licence, mais l'utilisation de cette méthode peut ne pas fournir une couverture de test adéquate. C'est généralement suffisant pour les tests de validation initiaux, mais vous aurez peut-être besoin d'un pipeline de données plus complet pour des tests d'intégration approfondis.
Ces données vous permettent de tester les nombreuses façons dont le logiciel peut mal fonctionner et s'écarter du flux de travail prévu. Il est important de tester les conditions dans lesquelles les utilisateurs peuvent entrer des données inattendues ou emprunter un chemin inattendu pour s'assurer que le logiciel réagit et gère les erreurs correctement.
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.
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 afin que chacun puisse progresser dans les tests. 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.
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.
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é.
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.
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.
Ceci est fortement déconseillé en raison du risque que cela pourrait introduire. Vous ne voulez pas risquer de modifier ou de corrompre les données de production pour répondre à vos besoins de test. Vous ne voulez pas non plus enfreindre les lois sur la confidentialité. Et vous ne voulez pas limiter vos tests à des scénarios de "chemin heureux". Il est préférable de modéliser les données de production et de créer une version virtuelle appropriée qui s'aligne sur les règles de données mais protège toutes les informations sensibles. Ensuite, vous pouvez facilement créer des ensembles de données de test qui couvrent davantage de cas d'utilisation pour des tests répétés.
Pour capturer les données de test, les développeurs surveillent et enregistrent les données et les transactions, ou les extraient directement du lac de données. DevOps doit ensuite gérer les ensembles de données et tous les modèles générés par l'enregistrement, et manipuler la structure de données pour répondre aux besoins de test. Parasoft facilite cela grâce à une interface Web légère et conviviale qui gère le masquage des données de test, les enregistrements, les sous-ensembles et la génération tout au long du cycle de vie du logiciel.
Documentation associée