simple approach xml database testing
Cet article vous aidera à comprendre le XML pour Concept de test de base de données , ce qui est un défi type de test .
La comparaison des données est une tâche critique à accomplir avec qualité. Toute faille entraînera un ou plusieurs échecs dans une application.
XML est un format de message de communication électronique qui contient des données et Database est un stockage physique avec des tables / colonnes contenant des données.
La plupart des applications échangent des données entre elles. Ces communications peuvent prendre la forme de messages XML contenant des données. De plus, ces données sont stockées dans un système de base de données et, si nécessaire, les données sont extraites par les applications.
Lire aussi => Un excellent moyen de tester les données à l'aide des technologies XML
La plupart des domaines tels que la finance, le marketing, les ventes, le commerce électronique, l'automobile, la logistique et la fabrication utilisent cette technique pour la communication de données avec les applications.
Pour réussir le test XML vers la base de données, l’entrée la plus cruciale est la document cartographique qui définit chaque élément du XML par rapport aux colonnes de la base de données.
Le document de mappage fournira une représentation complète des éléments (XML) à l'association des colonnes (DB). Les valeurs des éléments XML peuvent être une entrée dans les tables DB ou vice versa.
site pour regarder l'anime gratuitement
Avec cet article, vous aurez une bonne compréhension de la façon de tester les données de message XML dans les données de la base de données pour la précision des données.
Ce que vous apprendrez:
- Parlons de XML et de la base de données:
- Architecture d'application:
- Exemple:
- Comment tester:
- Exemple réel:
- Scénarios d'échec:
- Conclusion:
- lecture recommandée
Parlons de XML et de la base de données:
Les applications utilisent différentes techniques pour communiquer entre elles. La communication par message utilisant XML en fait partie. XML est une technique fiable pour communiquer des messages (données) entre deux applications. XML contient un ensemble d'éléments qui ont des valeurs spécifiques. Parfois, les valeurs peuvent être NULL ou vides.
La base de données stocke les données sous forme de tables. Une base de données contient plusieurs tables. Une application peut introduire des données dans la table d'une base de données et les données de la table peuvent également être récupérées par les applications si nécessaire.
Désormais, les applications peuvent stocker / récupérer des données à partir de tables de base de données sous forme de XML, et c'est une technique assez fiable / flexible pour le faire.
Architecture d'application:
En tant que testeur, il est important de:
- Parcourez l'architecture du produit pour comprendre comment les applications communiquent les messages entre les modules / bases de données / Une fois que vous avez parcouru ces informations et constaté qu'il y a des incohérences / questions, BA / SA peut être contacté pour des clarifications.
- Comprendre les flux de données d'application en amont et en aval.
- Le flux de données entrant et sortant vers une application.
Dans certains cas, les applications en amont et en aval peuvent être des bases de données d'applications différentes et elles communiquent / transmettent des données au format XML à l'aide de procédures stockées, de services Web, d'API, etc. Dans d'autres, il peut y avoir une combinaison de bases de données et d'applications qui communiquent des données avec l'un l'autre.
Exemple:
Pour cet article de test XML vers base de données, considérons une application qui communique avec une base de données pour stocker des données.
Nous avons une application en aval IBAPX , qui transmet des messages au format XML à une application de base de données MYDBX . Nous avons une application en amont OBAPX , qui récupère les données de MYDBX pour une application de reporting RPTX et c'est une application en amont pour OBAPX .
Noter: Avant de commencer, connaissez la technologie utilisée pour la communication middleware (procédure stockée, Webservice, API, etc.) et connaissez clairement l'architecture. Ces informations se trouvent généralement dans le document de conception ou auprès des équipes SA / BA / Dev.
Maintenant, l'application IBAPX stocke des données dans l'application de base de données MYDBX. Pour savoir quel élément de xml est mappé à la colonne du tableau, nous devons nous référer document cartographique . Parfois, les éléments XML et les noms de colonnes peuvent être identiques ou non. La différence est due à un besoin commercial.
Par exemple . disons que IBAPX envoie un élément avec le nom comme numéro de commande , mais lorsque MYDBX stocke la même valeur d'élément dans une table, il s'y réfère comme p_orderid nom de colonne. Cela peut être dû au fait que l'élément XML est appelé entité liée aux ventes, lorsque la même valeur est stockée dans la table, le nom de la colonne peut avoir été modifié pour faire référence à l'utilisation en production. Cela peut changer dans d'autres applications en fonction des besoins de l'entreprise.
Comment tester:
Maintenant, comment un testeur peut-il tester tous les scénarios de manière efficace et efficiente? Discutons.
Tout d'abord, vous prenez le fichier XML d'entrée et valider la structure XML c'est-à-dire des éléments. Cela peut être fait à l'aide de XSD qui définit la structure du XML respectif.
Le fichier XSD ressemble à XML et définit la structure de XML, comme le nom de l'élément, le type d'élément, minOccurs, maxOccurs, etc. Une fois la validation XML terminée, exportez-le vers Excel. Faites simplement glisser le fichier xml vers une nouvelle feuille Excel. Il vous donnera une fenêtre contextuelle vous demandant comment vous souhaitez ouvrir le fichier, sélectionnez simplement «En tant que tableau XML». Les données seront enregistrées dans le fichier Excel sous forme de tableau.
Vous pouvez voir les données remplies dans la table, interroger la table avec les données particulières et récupérer l'enregistrement. Copiez les données dans le même fichier Excel sur une autre feuille. Maintenant, en utilisant la fonction EXACT dans Excel, vous pouvez facilement comparer les données XML aux données DB. Assurez-vous de comparer uniquement les données et non les noms de colonnes.
De cette façon, vous pouvez comparer plusieurs données d'enregistrement et peut économiser beaucoup d'efforts manuels pour comparer les valeurs de données d'élément XML et les valeurs de données de colonne DB.
Trouvez le cliché ci-dessous pour référence:
Noter: Dans l'image ci-dessus, vous pouvez voir que les noms de colonnes ne correspondent pas comme nous l'avons vu précédemment.
Conseil: Parfois, vous pouvez rencontrer un problème en comparant XML de grande taille et DB. Dans ce cas, la seule chose que vous devez gérer est d'organiser les valeurs de colonne dans la feuille Excel. Souvenez-vous d'une chose: La comparaison de fichiers Excel devrait être limité à une taille de fichier de 100 Mo . Vous rencontrerez des problèmes de performances si vous allez au-delà.
Comme nous l'avons vu précédemment, les valeurs des éléments XML peuvent être une entrée dans les tables DB ou vice versa. Ainsi, une fois que vous recevez le message XML en tant que fichier entrant dans une application à partir d'une application de base de données, vous devez effectuer la technique de test ci-dessus pour comparer les valeurs de données XML et DB. Parfois, nous devons effectuer des tests E2E où plusieurs applications traitent les données.
Exemple réel:
Un utilisateur a commandé un livre auprès de Flipkart, un site de commerce électronique. Le point de départ est l'utilisateur qui commande un article et le point final est la réception de la copie de la facture au centre de commerce électronique. Par la suite, certains scénarios tels que le retour de commande ou l'échange de commande, le retour du paiement, etc., pourraient se produire.
Ici, plusieurs modules tels que les ventes, l'inventaire, le traitement des articles, la logistique, le paiement, les retours, les offres, etc. sont impliqués pour traiter une commande jusqu'à ce que l'article atteigne le client. Le flux E2E communique des messages pour exécuter la commande.
En tant que testeur lorsque vous vous engagerez dans les tests E2E, vous devrez peut-être trouver des scénarios dans lesquels vous validerez les données Application vs DB ou DB to DB ou Application to Application. Ici, vous devriez avoir une clarté complète sur le flux de données E2E, c'est-à-dire quelles devraient être les données reçues par une application ou envoyées par l'application et quelles sont les données stockées dans DB ou extraites de DB.
Scénarios d'échec:
Discutons de certains scénarios de panne possibles.
- Un scénario de défaillance simple est mappage incorrect . Le mappage entre les éléments XML et les colonnes DB doit être analysé lors de la phase d'analyse ou de planification par un testeur. Discutez de tous les problèmes de cartographie avec BA / SA pour clarifier les doutes. Une fois le mappage figé, vous pouvez vous assurer que les valeurs des éléments XML et des colonnes DB correspondent.
- Comparez les valeurs et si elles ne correspondent pas, enregistrez un défaut pour résoudre le problème. Il existe un certain nombre de possibilités pour le défaut soulevé, comme le défaut de données - peut être le problème de données de test ; Défaut de code - Peut-être le bogue dans le code qui analyse les valeurs de données pour ne pas mapper; Défaut d'artefact - Il peut s'agir d'une cartographie incorrecte fournie par BA / SA.
- Problème de format XML - En-tête ou métadonnées XML ou certaines balises XML incorrectes. Dans ce cas, le XML lui-même n'a pas réussi à stocker les valeurs de données dans la table de base de données.
- Non-correspondance des types de données - La valeur de l'élément dans le XML a plus de caractères que ce que la colonne DB peut accepter. Ce sera un problème de code et l'équipe de développement doit apporter les modifications nécessaires à la longueur du type de données pour cette colonne.
- Échec de l'environnement - Environnement en panne ou application de base de données en panne, le flux de données reste incomplet.
- Problème de performance - Peut-être que la quantité d'enregistrements contenant le message est énorme ou que la charge sur la base de données peut être élevée pour commencer avec la composition d'enregistrements est trop grande.
- Panne du middleware entraînera la perte de flux de données de l'application à la base de données.
- Problème d'accès à la base de données en raison de laquelle l'application entrante ne peut pas envoyer les données à la table respective.
Conclusion:
Les tests XML vers base de données seront plus complexes lorsqu'un seul message XML stockera des données dans plusieurs systèmes. De plus, les performances de la base de données pour stocker / récupérer un grand volume de données seront un défi pour un testeur pour tester de tels scénarios.
L'exemple ci-dessus est un petit segment des activités de test qui sont effectuées dans une application. Un testeur peut avoir besoin de faire une grande quantité de tests de données avec une approche similaire.
Veuillez nous faire part de vos commentaires, questions et expérience ci-dessous.
lecture recommandée
- Test de base de données avec JMeter
- Meilleurs outils de test de logiciels 2021 (Outils d'automatisation des tests QA)
- Un excellent moyen de tester les données à l'aide des technologies XML (livre blanc)
- 40+ meilleurs outils de test de base de données - Solutions de test de données populaires
- Qu'est-ce que le test de mutation: tutoriel avec des exemples
- Téléchargement de l'e-book 'Testing Primer'
- Top 10 des outils de test ETL en 2021
- Guide complet de test de base de données (pourquoi, quoi et comment tester les données)