simple approach xml database testing
Αυτό το άρθρο θα σας βοηθήσει να κατανοήσετε το XML Έννοια δοκιμών βάσης δεδομένων , που είναι μια πρόκληση τύπος δοκιμής .
Η σύγκριση δεδομένων είναι ένα κρίσιμο έργο που πρέπει να επιτευχθεί με ποιότητα. Οποιοδήποτε ελάττωμα θα έχει ως αποτέλεσμα μία ή πολλές αποτυχίες σε μια εφαρμογή.
Το XML είναι μια μορφή μηνύματος ηλεκτρονικής επικοινωνίας που περιέχει δεδομένα και η Βάση δεδομένων είναι μια φυσική αποθήκευση με πίνακες / στήλες που περιέχουν δεδομένα.
Οι περισσότερες εφαρμογές ανταλλάσσουν δεδομένα μεταξύ τους. Αυτές οι επικοινωνίες μπορεί να έχουν τη μορφή μηνυμάτων XML που περιέχουν δεδομένα. Επίσης, αυτά τα δεδομένα αποθηκεύονται σε ένα σύστημα βάσης δεδομένων και όταν απαιτείται τα δεδομένα ανακτώνται από τις εφαρμογές.
Διαβάστε επίσης => Ένας εξαιρετικός τρόπος δοκιμής δεδομένων με χρήση τεχνολογιών XML
Οι περισσότεροι τομείς όπως χρηματοδότηση, μάρκετινγκ, πωλήσεις, ηλεκτρονικό εμπόριο, αυτοκίνητα, logistics και κατασκευή χρησιμοποιούν αυτήν την τεχνική για επικοινωνία δεδομένων με εφαρμογές.
Για να επιτύχει η δοκιμή XML σε βάση δεδομένων, η πιο σημαντική εισαγωγή είναι η χαρτογράφηση χαρτιού που ορίζει κάθε στοιχείο στο XML έναντι των στηλών στη βάση δεδομένων.
Το έγγραφο χαρτογράφησης θα παρέχει μια πλήρη αναπαράσταση των στοιχείων (XML) στη συσχέτιση στηλών (DB). Οι τιμές του στοιχείου XML μπορούν να αποτελέσουν είσοδο σε πίνακες DB ή αντίστροφα.
αναφορά παρακολούθησης χρόνου jira ανά χρήστη
Με αυτό το άρθρο, θα έχετε καλή κατανόηση του τρόπου δοκιμής των δεδομένων μηνυμάτων XML στα δεδομένα βάσης δεδομένων για ακρίβεια δεδομένων.
Τι θα μάθετε:
- Ας μιλήσουμε για XML και βάση δεδομένων:
- Αρχιτεκτονική εφαρμογών:
- Παράδειγμα:
- Πώς να δοκιμάσετε:
- Παράδειγμα πραγματικής ζωής:
- Σενάρια αποτυχίας:
- Συμπέρασμα:
- Συνιστώμενη ανάγνωση
Ας μιλήσουμε για XML και βάση δεδομένων:
Οι εφαρμογές χρησιμοποιούν διαφορετικές τεχνικές για να επικοινωνούν μεταξύ τους. Η επικοινωνία μηνυμάτων με χρήση XML είναι μία από αυτές. Το XML είναι μια αξιόπιστη τεχνική επικοινωνίας μηνυμάτων (Δεδομένων) μεταξύ δύο εφαρμογών. Το XML περιέχει σύνολο στοιχείων που έχουν συγκεκριμένες τιμές. Μερικές φορές οι τιμές μπορεί να είναι NULL ή κενές.
Η βάση δεδομένων αποθηκεύει δεδομένα με τη μορφή πινάκων. Μια βάση δεδομένων περιέχει διάφορους πίνακες. Μια εφαρμογή μπορεί να τροφοδοτήσει δεδομένα στον πίνακα σε μια βάση δεδομένων και επίσης τα δεδομένα πίνακα μπορούν να ληφθούν από εφαρμογές όταν απαιτείται.
Τώρα οι εφαρμογές μπορούν να αποθηκεύσουν / να ανακτήσουν δεδομένα από πίνακες βάσεων δεδομένων σε μορφή XML, και είναι αρκετά αξιόπιστη / ευέλικτη τεχνική για να γίνει αυτό.
Αρχιτεκτονική εφαρμογών:
Ως εξεταστής είναι σημαντικό:
- Περιηγηθείτε στην Αρχιτεκτονική Προϊόντων για να καταλάβετε πώς οι εφαρμογές επικοινωνούν μηνύματα μεταξύ ενοτήτων / βάσεων δεδομένων / Μόλις διαβάσετε αυτές τις πληροφορίες και διαπιστώσετε ότι υπάρχουν ασυνέπειες / ερωτήσεις, μπορείτε να επικοινωνήσετε με την BA / SA για διευκρινίσεις.
- Κατανοήστε τις ροές δεδομένων εφαρμογών ανάντη και κατάντη.
- Τα εισερχόμενα και εξερχόμενα δεδομένα ρέουν σε μια εφαρμογή.
Σε ορισμένες περιπτώσεις, οι εφαρμογές ανάντη και κατάντη μπορούν να είναι βάσεις δεδομένων διαφορετικών εφαρμογών και επικοινωνούν / μεταδίδουν δεδομένα σε μορφή XML χρησιμοποιώντας Αποθηκευμένες Διαδικασίες, υπηρεσίες Ιστού, API κ.λπ. Σε άλλες μπορεί να υπάρχει ένας συνδυασμός βάσεων δεδομένων και εφαρμογών που επικοινωνούν δεδομένα ο ένας με τον άλλο.
Παράδειγμα:
Για αυτό το άρθρο δοκιμής XML σε βάση δεδομένων, ας εξετάσουμε μια εφαρμογή που επικοινωνεί με μια βάση δεδομένων για την αποθήκευση δεδομένων.
Έχουμε μια κατάντη εφαρμογή IBAPX , που μεταδίδει μηνύματα σε μορφή XML σε μια εφαρμογή βάσης δεδομένων MYDBX . Έχουμε μια ανάντη εφαρμογή ΟΒΑΠΧ , το οποίο ανακτά δεδομένα από MYDBX για μια εφαρμογή αναφοράς RPTX και είναι μια ανάντη εφαρμογή για ΟΒΑΠΧ .
Σημείωση: Πριν ξεκινήσετε, μάθετε την τεχνολογία που χρησιμοποιείται για την επικοινωνία μεσαίου λογισμικού (Αποθηκευμένη Διαδικασία, Υπηρεσία Web, API κ.λπ.) και γνωρίστε την αρχιτεκτονική με σαφήνεια. Αυτές οι πληροφορίες είναι συνήθως στο έγγραφο σχεδιασμού ή σε ομάδες SA / BA / Dev.
Τώρα η εφαρμογή IBAPX αποθηκεύει δεδομένα στην εφαρμογή βάσης δεδομένων MYDBX. Για να μάθουμε ποιο στοιχείο του xml αντιστοιχίζεται στη στήλη του πίνακα, πρέπει να αναφερθούμε χαρτογράφηση χαρτιού . Μερικές φορές τα στοιχεία XML και τα ονόματα στηλών μπορεί να είναι ίδια ή όχι. Η διαφορά οφείλεται σε επιχειρηματική ανάγκη.
Π.χ . ας πούμε ότι το IBAPX στέλνει στοιχείο με το όνομα ως αριθμός πωλήσεων , αλλά όταν το MYDBX αποθηκεύει την ίδια τιμή στοιχείου σε έναν πίνακα, το αναφέρεται ως p_orderid όνομα στήλης. Αυτό μπορεί να οφείλεται στο γεγονός ότι το στοιχείο XML αναφέρεται ως οντότητα που σχετίζεται με τις πωλήσεις, όταν η ίδια τιμή αποθηκεύεται στον πίνακα, το όνομα της στήλης ενδέχεται να έχει αλλάξει για να αναφέρεται στη χρήση παραγωγής. Αυτό μπορεί να αλλάξει σε άλλες εφαρμογές ανάλογα με τις επιχειρηματικές ανάγκες.
Πώς να δοκιμάσετε:
Τώρα πώς ακριβώς μπορεί ένας δοκιμαστής να δοκιμάσει όλα τα σενάρια αποτελεσματικά και αποδοτικά; Ας συζητήσουμε.
Πρώτα απ 'όλα παίρνετε το αρχείο εισόδου XML και επικυρώστε τη δομή XML δηλαδή, στοιχεία. Αυτό μπορεί να γίνει με τη βοήθεια του XSD που καθορίζει τη δομή του αντίστοιχου XML.
Το αρχείο XSD μοιάζει με XML και καθορίζει τη δομή του XML, όπως όνομα στοιχείου, τύπος στοιχείου, minOccurs, maxOccurs κ.λπ. Μόλις ολοκληρωθεί η επικύρωση XML, εξαγάγετέ το για να υπερέχει. Απλώς σύρετε το αρχείο xml σε ένα νέο φύλλο excel. Θα σας δώσει ένα αναδυόμενο παράθυρο που ρωτά πώς θέλετε να ανοίξετε το αρχείο, απλώς επιλέξτε 'Ως πίνακας XML'. Τα δεδομένα θα αποθηκευτούν στο αρχείο excel ως πίνακας.
Μπορείτε να δείτε τα δεδομένα να συμπληρώνονται στον πίνακα, να ζητάτε τον πίνακα με τα συγκεκριμένα δεδομένα και να λαμβάνετε την εγγραφή. Αντιγράψτε τα δεδομένα στο ίδιο αρχείο excel σε άλλο φύλλο. Τώρα χρησιμοποιώντας τη λειτουργία EXACT στο excel μπορείτε εύκολα να συγκρίνετε τα δεδομένα XML έναντι των δεδομένων DB. Βεβαιωθείτε ότι θα συγκρίνετε μόνο δεδομένα όχι τα ονόματα των στηλών.
Με αυτόν τον τρόπο μπορείτε να συγκρίνετε πολλά δεδομένα εγγραφής και μπορεί να σώσει πολλή χειροκίνητη προσπάθεια για σύγκριση τιμών δεδομένων στοιχείων XML έναντι τιμών δεδομένων στήλης DB.
Βρείτε το παρακάτω snap για αναφορά:
Σημείωση: Στην παραπάνω εικόνα μπορείτε να δείτε ότι τα ονόματα των στηλών δεν ταιριάζουν όπως συζητήσαμε προηγουμένως.
Υπόδειξη: Μερικές φορές μπορεί να αντιμετωπίσετε ένα πρόβλημα κατά τη σύγκριση μεγάλου μεγέθους XML έναντι DB. Σε αυτήν την περίπτωση, το μόνο πράγμα που πρέπει να διαχειριστείτε είναι να τακτοποιήσετε τις τιμές στηλών στο φύλλο excel. Θυμηθείτε ένα πράγμα: Η σύγκριση αρχείων του Excel πρέπει περιορίζεται σε μέγεθος αρχείου 100MB . Θα αντιμετωπίσετε προβλήματα απόδοσης εάν προχωρήσετε.
Όπως συζητήσαμε προηγουμένως, οι τιμές του στοιχείου XML μπορούν να αποτελέσουν είσοδο σε πίνακες DB ή αντίστροφα. Έτσι, μόλις λάβετε το μήνυμα XML ως εισερχόμενο αρχείο σε μια εφαρμογή από μια εφαρμογή DB, πρέπει να εκτελέσετε την παραπάνω τεχνική δοκιμής για να συγκρίνετε τις τιμές δεδομένων XML έναντι DB. Κάποια στιγμή πρέπει να εκτελέσουμε δοκιμές E2E όπου πολλές εφαρμογές επεξεργάζονται τα δεδομένα.
Παράδειγμα πραγματικής ζωής:
Ένας χρήστης έχει παραγγείλει ένα βιβλίο από το Flipkart, έναν ιστότοπο ηλεκτρονικού εμπορίου. Αφετηρία είναι ο χρήστης που παραγγέλνει ένα αντικείμενο και το τελικό σημείο είναι να λάβει αντίγραφο τιμολογίου στο κέντρο ηλεκτρονικού εμπορίου. Στη συνέχεια, ενδέχεται να προκύψουν σενάρια όπως επιστροφή παραγγελίας ή ανταλλαγή παραγγελιών, επιστροφή πληρωμής και ούτω καθεξής.
Εδώ υπάρχουν πολλές ενότητες όπως πωλήσεις, αποθέματα, επεξεργασία αντικειμένων, εφοδιαστική, πληρωμές, επιστροφές, προσφορές κ.λπ. Η ροή E2E επικοινωνεί μηνύματα για την εκπλήρωση της παραγγελίας.
Ως υπεύθυνος δοκιμών όταν θα συμμετάσχετε στη δοκιμή E2E, ίσως χρειαστεί να συναντήσετε τα σενάρια όπου θα επικυρώσετε την εφαρμογή Εφαρμογή εναντίον DB ή DB σε DB ή δεδομένα εφαρμογής σε εφαρμογή. Εδώ θα πρέπει να έχετε πλήρη σαφήνεια σχετικά με τη ροή δεδομένων E2E, δηλαδή ποια πρέπει να είναι τα δεδομένα που λαμβάνονται από μια εφαρμογή ή αποστέλλονται από την εφαρμογή και ποια είναι τα δεδομένα που αποθηκεύονται στο DB ή ανακτώνται από το DB.
Σενάρια αποτυχίας:
Ας συζητήσουμε για μερικά πιθανά σενάρια αποτυχίας.
- Ένα απλό σενάριο αποτυχίας είναι λανθασμένη χαρτογράφηση . Η αντιστοίχιση μεταξύ των στοιχείων XML έναντι των στηλών DB πρέπει να αναλυθεί κατά τη διάρκεια της φάσης ανάλυσης ή σχεδιασμού από έναν δοκιμαστή. Συζητήστε όλες τις ανησυχίες χαρτογράφησης με την BA / SA για να διευκρινίσετε τις αμφιβολίες. Μόλις παγώσει η αντιστοίχιση, μπορείτε να διασφαλίσετε ότι οι τιμές των στοιχείων XML έναντι των στηλών DB θα ταιριάζουν.
- Συγκρίνετε τις τιμές και αν δεν ταιριάζει, καταγράψτε ένα ελάττωμα για να αντιμετωπίσετε το πρόβλημα. Υπάρχουν πολλές πιθανότητες για το ελάττωμα που έχει προκύψει, όπως το σφάλμα δεδομένων - Μπορεί να είναι το ζήτημα δεδομένων δοκιμής ; Ελάττωμα κώδικα - Μπορεί να είναι το σφάλμα στον κώδικα που αναλύει τις τιμές δεδομένων για να μην χαρτογραφηθεί. Ελάττωμα αντικειμένου - Μπορεί να είναι λανθασμένη χαρτογράφηση που παρέχεται από την BA / SA.
- Πρόβλημα μορφής XML - Κεφαλίδα XML ή μεταδεδομένα ή ορισμένες εσφαλμένες ετικέτες xml. Σε αυτήν την περίπτωση, η ίδια η XML απέτυχε να αποθηκεύσει τις τιμές δεδομένων στον πίνακα βάσης δεδομένων.
- Αναντιστοιχία τύπου δεδομένων - Η τιμή του στοιχείου στο XML έχει περισσότερο μήκος σε μήκος που υπερβαίνει τη στήλη DB που μπορεί να αποδεχθεί. Αυτό θα είναι ζήτημα κώδικα και η ομάδα προγραμματιστών πρέπει να κάνει τις απαραίτητες αλλαγές στο μήκος του τύπου δεδομένων για αυτήν τη στήλη.
- Αποτυχία περιβάλλοντος - Περιβάλλον κάτω ή εφαρμογή DB κάτω, η ροή δεδομένων παραμένει ελλιπής.
- Πρόβλημα απόδοσης - Μπορεί να είναι ο αριθμός εγγραφών που αποτελείται από το μήνυμα είναι τεράστιο ή το φορτίο στο DB θα μπορούσε να είναι υψηλό για να ξεκινήσει με την εγγραφή αποτελείται πολύ μεγάλη.
- Αποτυχία Middleware θα προκαλέσει μείωση της ροής δεδομένων από εφαρμογή σε βάση δεδομένων.
- Πρόβλημα πρόσβασης στη βάση δεδομένων λόγω της οποίας η εισερχόμενη εφαρμογή δεν μπορεί να στείλει τα δεδομένα στον αντίστοιχο πίνακα.
Συμπέρασμα:
Η δοκιμή XML σε βάση δεδομένων θα είναι πιο περίπλοκη όταν ένα μόνο μήνυμα XML θα αποθηκεύσει δεδομένα σε πολλά συστήματα. Επίσης, η απόδοση της βάσης δεδομένων για την αποθήκευση / ανάκτηση μεγάλου όγκου δεδομένων θα είναι μια πρόκληση για έναν δοκιμαστή να δοκιμάσει τέτοια σενάρια.
Το παραπάνω παράδειγμα είναι ένα μικρό τμήμα των δραστηριοτήτων δοκιμής που πραγματοποιούνται σε μια εφαρμογή. Ένας υπεύθυνος δοκιμών μπορεί να χρειαστεί να κάνει μεγάλο αριθμό δοκιμών δεδομένων με παρόμοια προσέγγιση.
Ενημερώστε μας για τα σχόλια, τις ερωτήσεις και την εμπειρία σας παρακάτω.
Συνιστώμενη ανάγνωση
- Δοκιμή βάσης δεδομένων με JMeter
- Τα καλύτερα εργαλεία δοκιμής λογισμικού 2021 [QA Test Automation Tools]
- Ένας εξαιρετικός τρόπος δοκιμής δεδομένων με χρήση τεχνολογιών XML (Λευκή Βίβλος)
- 40+ καλύτερα εργαλεία δοκιμής βάσης δεδομένων - Δημοφιλείς λύσεις δοκιμής δεδομένων
- Τι είναι ο έλεγχος μετάλλαξης: Εκμάθηση με παραδείγματα
- Testing Primer eBook Λήψη
- Κορυφαία 10 εργαλεία δοκιμών ETL το 2021
- Πλήρης οδηγός δοκιμών βάσης δεδομένων (Γιατί, τι και πώς να δοκιμάσετε δεδομένα)