test data management concept
Dans le dernier tutoriel, nous nous sommes concentrés sur comment préparer le banc d'essai pour minimiser les défauts de l'environnement de test . Dans la continuité du même tutoriel, aujourd'hui nous allons apprendre comment configurer et maintenir l'environnement de test etGestion des données de testtechniques.
Processus de configuration de l'environnement de test
Le facteur le plus important pour l'environnement de test est de le répliquer aussi près que possible de l'environnement de l'utilisateur final. En règle générale, les utilisateurs finaux ne sont pas censés effectuer eux-mêmes la configuration ou l'installation, car un produit ou un système complet leur est expédié. Par conséquent, par cette définition, même les équipes de test n'ont pas besoin d'effectuer explicitement de telles configurations.
Si de telles configurations sont nécessaires à des fins de test purement (mais seront configurées pour les utilisateurs finaux), les administrateurs doivent être identifiés. Les administrateurs qui configurent l'environnement de développement doivent être les mêmes que ceux qui configurent l'environnement de test.
Si l'équipe de développement elle-même prend l'initiative de l'installation / de la configuration, elle doit aider à faire de même, même dans l'environnement de test.
Par exemple, si vous devez tester une application (avec son middleware associé à installer et à configurer) sur un système sur différentes plates-formes OS, etc. - la meilleure façon de résoudre ce problème est d'utiliser virtualisation ou environnements Cloud .
Avoir un système maître dans lequel toutes les applications et les intergiciels nécessaires sont correctement installés et configurés. Faites ensuite de ce système une image maître en la capturant et en clonant plusieurs instances à partir de cette même image pour que chaque utilisateur ait l'impression d'avoir un système dédié avec l'application à tester.
Ci-dessous, une représentation graphique de ce qu'un processus d'environnement de test impliquerait:
Processus de configuration de l'environnement de test
Ce que vous apprendrez:
Maintenance d'un environnement de test
Tant de choses ont été dites sur la préparation de l'environnement de test, malgré les défis, c'est sans aucun doute plus qu'un motif pour nécessiter la maintenance ou normaliser l'environnement de test. Souvent, un testeur perd du temps de test en raison de problèmes d'environnement ou de configuration.
Avec une augmentation rapide des systèmes d'exploitation et de la gamme de matériels et de logiciels, l'environnement doit être de nature presque dynamique, afin de faire face aux besoins. Les équipes de test peuvent s'assurer qu'elles fournissent un produit de haute qualité avec un bon processus de gestion des tests, ce qui contribuerait à une utilisation optimale des ressources disponibles de manière limitée.
Indicateurs clés pour assurer une maintenance efficace de l'environnement de test
En tant qu'environnements de test, la plupart du temps contiennent des plates-formes et des piles hétérogènes, voici quelques conseils clés pour assurer une maintenance efficace de l'environnement de test.
# 1) Partage et distribution efficaces de l'environnement:
Comme déjà mentionné précédemment, l'un des principaux défis de la préparation de l'environnement de test est que de nombreuses équipes ou personnes doivent utiliser le même ensemble de ressources à des fins de test. Par conséquent, un mécanisme de partage approprié doit être développé qui répond aux besoins de toutes les équipes et personnes sans retarder les horaires.
Ceci peut être réalisé en maintenant un référentiel ou un lien d'information dans lequel toutes les données concernant:
- qui utilise l'environnement,
- lorsque l'environnement est libre d'utilisation et
- comment la distribution du temps d'utilisation de l'environnement, est entrée avec précision.
En déterminant de manière proactive où les besoins en ressources sont importants par rapport à leur disponibilité limitée, une grande quantité de chaos est automatiquement annulée.
Le deuxième aspect consiste à revoir les besoins en ressources des équipes pour chaque cycle de test et recherchez les ressources qui ne sont pas très utilisées. Analysez si ces ressources particulières peuvent être remplacées par de nouvelles ressources ou systèmes éventuellement nécessaires.
# 2) Contrôles de santé mentale:
Certaines exigences de test nécessitent une configuration ou une configuration de test complète qui implique des étapes élaborées qui sont extrêmement longues à consommer. C'est notamment le cas lors de la test de bout en bout qui implique deux composants ou plus pour travailler ensemble. Par conséquent, le même environnement de test peut devoir être réutilisé par plusieurs équipes.
Dans de tels cas, avoir une bonne compréhension de l'ensemble de l'environnement dans son ensemble, rassembler les types de tests effectués par différentes équipes, brossera un tableau raisonnable pour aider à fournir ces ressources spécifiques aux équipes respectives.
Compte tenu des facteurs ci-dessus, des tests de cohérence de base peuvent être effectués pour accélérer les tests pour les équipes individuelles ou les alerter immédiatement si l'environnement doit subir des modifications ou des correctifs à la suite de ces contrôles de cohérence.
# 3) Suivi de toute panne:
Tout comme chaque équipe qui possède un environnement de test a le sien, une organisation dispose de tous les environnements de test possibles gérés par une équipe d'assistance mondiale.
De plus, tout comme les équipes possédant leur environnement de test ont leur propre temps d'arrêt local en cas de mise à niveau du micrologiciel / logiciel, les équipes mondiales doivent également s'assurer que tous les environnements respectent les dernières normes qui peuvent impliquer des pannes de courant ou du réseau.
Par conséquent, les responsables de la maintenance de l'environnement de test doivent garder un œil sur les pannes de ce type qui pourraient survenir et informer l'équipe de test à l'avance pour planifier leur travail en conséquence.
# 4) Virtualisez autant que possible:
Ceci est encore une fois très pertinent lorsque des tests doivent être effectués en partageant l'environnement et qu'il y a un besoin urgent d'optimisation des ressources. Dans de telles circonstances, la réponse est l'utilisation d'un environnement virtualisé tel qu'un cloud à des fins de test.
Lors de l'utilisation d'un tel environnement, tout ce que les testeurs doivent faire est de fournir un instant et cette instance, une fois provisionnée, formera un banc de test indépendant ou un environnement de test contenant toutes les ressources diverses telles qu'un système d'exploitation dédié, une base de données, un middleware, des cadres d'automatisation. , etc. requis pour les tests.
Une fois les tests terminés, ces instances peuvent être détruites, réduisant ainsi considérablement les coûts pour une organisation. Les environnements cloud sont particulièrement utiles pour les tests de vérification fonctionnelle, les zones de test d'automatisation.
# 5) Test de régression / automatisation:
java vs c ++ qui est mieux
Au fur et à mesure que de nouvelles fonctions et fonctionnalités sont développées, tests de régression doivent être exécutées pour ces fonctions à chaque cycle de validation. Par conséquent, même si à l'arrière, les environnements de test pour les tests de régression semblent fonctionner sur la même configuration de test avec les mêmes données, en réalité, ils évoluent constamment à chaque version en fonction des fonctionnalités implémentées également.
Chaque cycle de lancement de produit comporterait une ou plusieurs séries de tests de régression. Ainsi, établir des environnements de test de régression pour chaque cycle de lancement de produit et les réutiliser au cours du cycle refléterait définitivement la stabilité de l'environnement de test.
Le développement de cadres d'automatisation et l'utilisation de l'automatisation pour les tests régressifs contribuent également à améliorer l'efficacité d'un environnement de test, car l'automatisation supposera que l'environnement est stable et que les défauts générés sont purement orientés fonctionnalité / code.
# 6) Gouvernance générale:
Lorsqu'il y a des problèmes avec le matériel ou les logiciels de l'environnement de test, ces problèmes doivent être dirigés vers les bonnes personnes pour s'assurer que les correctifs ne peuvent pas être résolus en interne par ceux qui gèrent le laboratoire.
Par exemple, si un test est à l'origine d'un défaut qui comprend une limitation du micrologiciel ou du logiciel utilisé dans l'environnement actuel, cela ne peut généralement pas être résolu uniquement par les responsables de la maintenance de l'environnement.
Par conséquent, le consommateur (qui est le testeur dans ce cas) doit être invité à émettre des demandes de service appropriées. Ceux-ci doivent être dirigés vers le fournisseur ou l'équipe approprié et une coordination doit être effectuée régulièrement avec eux pour s'assurer que la prochaine version a résolu le problème particulier.
Un autre aspect de la gouvernance serait de fournir de temps à autre des rapports détaillés sur l'environnement à la direction ou aux parties prenantes, ce qui contribue à faire émerger la transparence et constitue une bonne base pour toute analyse.
Préparation des données de test
Examinons maintenant la dernière partie d'un Création du banc d'essai - qui implique la configuration des données de test . Avec une si grande partie de l'environnement de test, la véritable essence de l'environnement de test, sa robustesse et son efficacité peuvent être mesurées avec les données de test. Par définition, les données de test sont tout type d'entrée donné au code logiciel testé.
Même si nous passons beaucoup de temps à concevoir des cas de test, la raison pour laquelle les données de test sont importantes est qu'elles garantissent une couverture complète des tests pour tous les types de scénarios, améliorant ainsi la qualité. Certaines données de test peuvent être nécessaires pour tout test de chemin heureux ou positif.
Certaines autres données peuvent être conçues pour des erreurs ou des tests négatifs, ce qui est très utile pour découvrir les performances de l'application lorsqu'elle est placée dans des situations anormales.
Les données de test sont généralement créées avant le début de l'exécution du texte car chaque environnement de test a son propre ensemble de complexités ou la préparation des données elles-mêmes peut être un processus de longue haleine. Ainsi, généralement, les sources de données de test peuvent être l'équipe de développement interne ou les utilisateurs finaux consommant le code ou la fonctionnalité.
Par exemple,Test fonctionnel
Prenons un exemple où vous devez effectuer des tests fonctionnels ou des tests en boîte noire. Ici, l'objectif est que le code doive répondre fonctionnellement aux exigences spécifiées.
Dans de tels cas, la préparation des cas de test doit généralement couvrir les types de données suivants:
- Données de chemin positif: Avec le document de cas d'utilisation de développement comme référence, il s'agit des données généralement synchronisées avec l'exécution des scénarios de chemin positif.
- Données de chemin négatives: Il s'agit de données généralement considérées comme «invalides» par rapport au bon fonctionnement fonctionnel du code.
- Données nulles: Ne pas fournir de données lorsque l'application ou le code attend ces données.
- Données erronées: Déterminer les performances du code lorsque les données sont fournies dans un format non conforme.
- Données sur les conditions aux limites: Testez les données fournies par l'index ou le tableau pour déterminer le fonctionnement du code.
Les données de test jouent un rôle clé dans l'identification des endroits où un produit ou une fonctionnalité peut complètement casser. Ayez toujours l'habitude d'interroger et de valider le type de données fournies à l'environnement de test au cours des différentes phases de test.
Gestion des données de test
Lorsque les données de test jouent un rôle si important pour garantir la qualité du produit, il est raisonnable de dire que leur gestion et leur rationalisation jouent également un rôle tout aussi important dans l’assurance qualité de tout produit devant être mis à la disposition des clients.
Besoin de gestion des données de test et des meilleures pratiques:
#1) Un grand nombre d'organisations ont des objectifs commerciaux en évolution rapide pour répondre aux besoins des utilisateurs finaux et il est donc inutile de mentionner que les données de test appropriées sont essentielles pour déterminer la qualité des tests. Cela impliquera de configurer le type exact de données pour les environnements de test respectifs et de surveiller les modèles de comportement.
Comme indiqué précédemment, une grande partie du temps d’une équipe de test est consacrée à la planification des données de test et des tâches associées. Plusieurs fois, les tests de toute fonctionnalité ont tendance à être considérablement entravés en raison de la non-disponibilité des données de test appropriées, ce qui pose un défi critique en ce qui concerne la couverture complète des tests.
#deux) Parfois aussi pour certaines exigences de test les données de test doivent être constamment actualisées . Cela lui-même provoque beaucoup de retard dans le cycle en raison de retouches constantes qui augmentent également le coût de l'application sur le marché.
À certains autres moments, si le produit expédié est impliqué dans différentes unités de groupe de travail dans une grande organisation, la création et l'actualisation des données de test nécessitent un niveau complexe de coordination entre ces groupes de travail.
# 3) Même si les équipes de test doivent créer toutes sortes de données qui sont possibles pour garantir des tests adéquats, les organisations doivent également considérer que cela signifierait que tous les différents types de données doivent être stockés dans une sorte de référentiel.
Bien que disposer d'un référentiel soit une bonne pratique, le stockage données indésirables non seulement augmenterait considérablement l'espace de stockage pour stocker ces gros morceaux de données, mais rendrait également de plus en plus difficile la récupération des données appropriées pour les tests en question s'il n'y a pas de maintenance de version et d'archivage de ce référentiel.
La plupart des organisations sont généralement confrontées à ces défis communs en ce qui concerne les données de test. Par conséquent, certaines stratégies de gestion doivent être mises en place pour minimiser le degré de ces défis.
Voici ci-dessous quelques méthodologies suggérées pour la gestion des données de test et gardez-les pertinentes pour les besoins de test. Les pratiques suivantes sont très basiques et génériques et fonctionnent généralement pour la plupart des organisations. La manière dont il est adopté est purement discrétionnaire des organisations respectives.
Stratégies de gestion des données de test
# 1) Analyse des données
Généralement, les données de test sont construites en fonction des cas de test à exécuter. Par exemple, dans une équipe de test système, le scénario de test de bout en bout doit être identifié sur la base de laquelle les données de test sont conçues. Cela pourrait impliquer une ou plusieurs applications pour fonctionner.
Disons dans un produit qui gère la charge de travail - cela implique que l'application de contrôleur de gestion, les applications middleware, les applications de base de données fonctionnent toutes en relation les unes avec les autres. Les données d'essai requises pour celui-ci pourraient être dispersées. Une analyse approfondie de tous les différents types de données qui peuvent être nécessaires doit être faite pour assurer une gestion efficace.
# 2) Configuration des données pour refléter l'environnement de production
Il s'agit généralement d'une extension de l'étape précédente et permet de comprendre ce que sera l'utilisateur final ou le scénario de production et quelles données sont nécessaires pour celui-ci. Utilisez ces données et comparez ces données avec les données qui existent actuellement dans l'environnement de test actuel. Sur la base de ces nouvelles données peuvent devoir être créées ou modifiées.
# 3) Détermination du nettoyage des données de test
Sur la base des exigences de test dans le cycle de publication actuel (où un cycle de publication peut s'étendre sur une longue période), les données de test peuvent avoir besoin d'être modifiées ou créées comme indiqué au point ci-dessus. Ces données d'essai, bien que non immédiatement pertinentes, peuvent être requises ultérieurement. Par conséquent, un processus clair de détermination du moment où les données de test peuvent être nettoyées doit être formulé.
# 4) Identifiez les données sensibles et protégez-les
Plusieurs fois, pour tester correctement les applications, une grande quantité de données très sensibles peut être nécessaire. Par exemple, un environnement de test basé sur le cloud est un choix populaire car il effectue des tests à la demande de différents produits.
Cependant, quelque chose d'aussi basique que de garantir la confidentialité des utilisateurs dans un cloud est une source de préoccupation. Ainsi, en particulier dans les cas où nous aurons besoin de répliquer l'environnement utilisateur, le mécanisme de protection des données sensibles doit être identifié. Le mécanisme est largement régi par le volume des données de test utilisées.
# 5) Automatisation
Tout comme nous adoptons l'automatisation pour exécuter des tests répétitifs ou pour exécuter les mêmes tests avec différents types de données, il est également possible d'automatiser la création de données de test. Cela aiderait à exposer les erreurs pouvant survenir concernant les données pendant les tests. Une façon possible de le faire est de comparer les résultats qui sont produits par un ensemble de données à partir d'exécutions de test consécutives. Ensuite, automatisez ce processus de comparaison.
# 6) Actualisation efficace des données à l'aide d'un référentiel central
Il s'agit de loin des méthodologies les plus importantes et constitue le cœur de la mise en œuvre de la gestion des données. Tous les points mentionnés ci-dessus, en particulier ceux concernant la configuration des données, le nettoyage des données sont directement ou indirectement liés à cela.
Il est possible d'économiser beaucoup d'efforts dans la création de données de test en gérant un référentiel central contenant toutes sortes de données pouvant être requises pour divers types de tests. Comment cela se fait-il? Lors de cycles de test consécutifs, pour un nouveau scénario de test ou un scénario de test modifié, vérifiez si les données existent dans le référentiel. Si elles n'existent pas, alimentez d'abord ces données dans l'environnement de test.
Ensuite, cela peut être dirigé vers ce référentiel pour référence future. Désormais, pour des cycles de publication consécutifs, l'équipe de test peut utiliser la totalité ou un sous-ensemble de ces données. L’avantage n’est-il pas très apparent? En fonction des ensembles de données fréquemment utilisés, les données obsolètes peuvent être facilement éliminées et ainsi garantir que des données correctes sont toujours présentes, réduisant ainsi le coût de stockage de ces données inutiles.
Deuxièmement, vous pouvez également enregistrer quelques versions de ce référentiel ou le réviser si nécessaire. Le fait de disposer de différentes versions du référentiel peut grandement aider dans les tests de régression pour identifier la modification des données qui peut provoquer la rupture du code.
Conclusion
L'environnement de test doit être d'une importance primordiale dans chaque équipe de test. Chaque cycle de publication apportera une multitude de nouveaux défis à combattre dans un environnement de test peu fiable et non planifié.
En tant que mesure révolutionnaire, de nombreuses organisations mettent maintenant en place des stratégies telles que la formation d'équipes de maintenance de l'environnement de test dédiées qui établissent certains cadres pour une maintenance efficace des environnements de test, afin de garantir des cycles de publication plus fluides.
L'amélioration des tests n'est qu'un effet évident de la rationalisation de la gestion des données de test. Une essence clé de celui-ci est d'assurer une solution rentable pour les organisations sans faire de compromis sur la fiabilité du produit.
Faites-nous savoir comment vous gérez votre environnement de test et comment vous préparez les données de test? Voulez-vous ajouter des conseils?
lecture recommandée
- Top 14 des MEILLEURS outils de gestion des données de test en 2021
- 10 meilleurs outils d'analyse de données pour une gestion parfaite des données (2021 LIST)
- Tutoriel de gestion des tests: un guide ultime pour la gestion des tests
- Qu'est-ce que les données de test? Techniques de préparation des données de test avec exemple
- Fonction de pool de données dans IBM Rational Quality Manager for Test Data Management
- Création du framework Selenium et accès aux données de test à partir d'Excel - Tutoriel Selenium # 21
- Génération de données de test avec l'outil en ligne GEDIS Studio (partie 2)