ETL Testing Tutorial
Τι είναι το ETL Testing;
Η δοκιμή ETL γίνεται για να διασφαλιστεί ότι τα δεδομένα που έχουν φορτωθεί από μια πηγή στον προορισμό μετά τον μετασχηματισμό της επιχείρησης είναι ακριβή. Περιλαμβάνει επίσης την επαλήθευση δεδομένων σε διάφορα μεσαία στάδια που χρησιμοποιούνται μεταξύ πηγής και προορισμού. Το ETL σημαίνει Extract-Transform-Load.
Δοκιμές αποθήκης δεδομένων
Δοκιμές αποθήκης δεδομένων είναι μια μέθοδος δοκιμής κατά την οποία τα δεδομένα μέσα σε μια αποθήκη δεδομένων ελέγχονται για ακεραιότητα, αξιοπιστία, ακρίβεια και συνέπεια προκειμένου να συμμορφωθούν με το πλαίσιο δεδομένων της εταιρείας. Ο κύριος σκοπός των δοκιμών της αποθήκης δεδομένων είναι να διασφαλίσει ότι τα ενσωματωμένα δεδομένα μέσα στην αποθήκη δεδομένων είναι αρκετά αξιόπιστα ώστε μια εταιρεία να λάβει αποφάσεις.
Τι είναι η ETL;
Το ETL σημαίνει Extract-Transform-Load και είναι μια διαδικασία του τρόπου με τον οποίο τα δεδομένα φορτώνονται από το σύστημα προέλευσης στην αποθήκη δεδομένων. Τα δεδομένα εξάγονται από μια βάση δεδομένων OLTP, μετασχηματίζονται για να ταιριάζουν με το σχήμα της αποθήκης δεδομένων και φορτώνονται στη βάση δεδομένων της αποθήκης δεδομένων. Πολλές αποθήκες δεδομένων ενσωματώνουν επίσης δεδομένα από συστήματα εκτός OLTP, όπως αρχεία κειμένου, συστήματα παλαιού τύπου και υπολογιστικά φύλλα.
Ας δούμε πώς λειτουργεί
Για παράδειγμα, υπάρχει ένα κατάστημα λιανικής που έχει διαφορετικά τμήματα όπως πωλήσεις, μάρκετινγκ, logistics κ.λπ. Κάθε ένα από αυτά χειρίζεται τις πληροφορίες των πελατών ανεξάρτητα και ο τρόπος με τον οποίο αποθηκεύουν αυτά τα δεδομένα είναι αρκετά διαφορετικός. Το τμήμα πωλήσεων το έχει αποθηκεύσει με το όνομα του πελάτη, ενώ το τμήμα μάρκετινγκ ανά αναγνωριστικό πελάτη.
Τώρα, αν θέλουν να ελέγξουν το ιστορικό του πελάτη και θέλουν να μάθουν ποια είναι τα διαφορετικά προϊόντα που αγόρασε λόγω διαφορετικών εκστρατειών μάρκετινγκ. θα ήταν πολύ κουραστικό.
Η λύση είναι να χρησιμοποιήσετε α Datawarehouse για την αποθήκευση πληροφοριών από διαφορετικές πηγές σε μια ενιαία δομή χρησιμοποιώντας ETL. Το ETL μπορεί να μετατρέψει ανόμοια σύνολα δεδομένων σε μια ενοποιημένη δομή.Later χρησιμοποιήστε εργαλεία BI για να αντλήσετε σημαντικές πληροφορίες και αναφορές από αυτά τα δεδομένα.
Το ακόλουθο διάγραμμα σε αυτό το σεμινάριο δοκιμών ETL σας δίνει τον ΟΔΙΚΟ ΧΑΡΤΗ της ροής της διαδικασίας δοκιμής ETL και διάφορες έννοιες δοκιμών ETL:
- Εκχύλισμα
- Εξαγωγή σχετικών δεδομένων
- Μεταμορφώστε
- Μετατρέψτε τα δεδομένα σε μορφή DW (Data Warehouse).
- Κλειδιά κατασκευής – Ένα κλειδί είναι ένα ή περισσότερα χαρακτηριστικά δεδομένων που προσδιορίζουν μοναδικά μια οντότητα. Διάφορος τύπους κλειδιών είναι πρωτεύον κλειδί, εναλλακτικό κλειδί, ξένο κλειδί, σύνθετο κλειδί, υποκατάστατο κλειδί. Η αποθήκη δεδομένων κατέχει αυτά τα κλειδιά και δεν επιτρέπει ποτέ σε καμία άλλη οντότητα να τα εκχωρήσει.
- Καθαρισμός δεδομένων : Αφού εξαχθούν τα δεδομένα, θα περάσουν στην επόμενη φάση, του καθαρισμού και της συμμόρφωσης των δεδομένων. Ο καθαρισμός κάνει την παράλειψη στα δεδομένα καθώς και τον εντοπισμό και τη διόρθωση των σφαλμάτων. Συμμόρφωση σημαίνει επίλυση των διενέξεων μεταξύ αυτών των δεδομένων που δεν είναι συμβατά, έτσι ώστε να μπορούν να χρησιμοποιηθούν σε μια αποθήκη δεδομένων επιχείρησης. Εκτός από αυτά, αυτό το σύστημα δημιουργεί μεταδεδομένα που χρησιμοποιούνται για τη διάγνωση προβλημάτων του συστήματος πηγής και βελτιώνει την ποιότητα των δεδομένων.
- Φορτίο
- Φόρτωση δεδομένων στο DW (Data Warehouse)
- Δημιουργία συγκεντρωτικών στοιχείων - Η δημιουργία συγκεντρωτικών στοιχείων συνοψίζει και αποθηκεύει δεδομένα που είναι διαθέσιμα σε Πίνακας γεγονότων προκειμένου να βελτιωθεί η απόδοση των ερωτημάτων τελικού χρήστη.
Διαδικασία δοκιμών ETL
Παρόμοια με άλλες Διαδικασίες Δοκιμών, το ETL περνά επίσης από διαφορετικές φάσεις. Οι διάφορες φάσεις της διαδικασίας δοκιμών ETL είναι οι εξής
Η δοκιμή ETL εκτελείται σε πέντε στάδια
- Προσδιορισμός πηγών δεδομένων και απαιτήσεων
- Η συλλογή των δεδομένων
- Εφαρμογή επιχειρηματικών λογικών και διαστάσεων Μοντελοποίησης
- Δημιουργία και συμπλήρωση δεδομένων
- Δημιουργία αναφορών
Τύποι δοκιμών ETL
Τύποι δοκιμών | Διαδικασία δοκιμής |
---|---|
Δοκιμή Επικύρωσης Παραγωγής | "Εξισορρόπηση πίνακα" ή "συμφωνία παραγωγής" αυτός ο τύπος δοκιμής ETL γίνεται σε δεδομένα καθώς μεταφέρεται στα συστήματα παραγωγής. Για να υποστηρίξετε την επιχειρηματική σας απόφαση, τα δεδομένα στα συστήματα παραγωγής σας πρέπει να είναι στη σωστή σειρά. πληροφορική Η Επιλογή Επικύρωσης Δεδομένων παρέχει τις δυνατότητες αυτοματοποίησης και διαχείρισης δοκιμών ETL για να διασφαλιστεί ότι τα συστήματα παραγωγής δεν διακυβεύονται από τα δεδομένα. |
Πηγή προς Target Δοκιμή (δοκιμή επικύρωσης) | Αυτός ο τύπος δοκιμών πραγματοποιείται για να επικυρωθεί εάν οι τιμές δεδομένων που μετασχηματίστηκαν είναι οι αναμενόμενες τιμές δεδομένων. |
Εφαρμογή Upgrades | Αυτός ο τύπος δοκιμών ETL μπορεί να δημιουργηθεί αυτόματα, εξοικονομώντας σημαντικό χρόνο ανάπτυξης δοκιμών. Αυτός ο τύπος δοκιμής ελέγχει εάν τα δεδομένα που εξάγονται από μια παλαιότερη εφαρμογή ή αποθετήριο είναι ακριβώς τα ίδια με τα δεδομένα ενός αποθετηρίου ή μιας νέας εφαρμογής. |
Δοκιμή μεταδεδομένων | Η δοκιμή μεταδεδομένων περιλαμβάνει τη δοκιμή ελέγχου τύπου δεδομένων, έλεγχο μήκους δεδομένων και έλεγχο ευρετηρίου/περιορισμού. |
Έλεγχος Πληρότητας Δεδομένων | Για να επαληθευτεί ότι όλα τα αναμενόμενα δεδομένα φορτώνονται στον στόχο από την πηγή, γίνεται έλεγχος πληρότητας δεδομένων. Ορισμένες από τις δοκιμές που μπορούν να εκτελεστούν είναι η σύγκριση και η επικύρωση μετρήσεων, συγκεντρωτικών στοιχείων και πραγματικών δεδομένων μεταξύ της πηγής και του στόχου για στήλες με απλό μετασχηματισμό ή χωρίς μετασχηματισμό. |
Δοκιμή Ακρίβειας Δεδομένων | Αυτή η δοκιμή γίνεται για να διασφαλιστεί ότι τα δεδομένα φορτώνονται με ακρίβεια και μετασχηματίζονται όπως αναμένεται. |
Δοκιμή Μετασχηματισμού Δεδομένων | Ο μετασχηματισμός δεδομένων δοκιμών γίνεται καθώς σε πολλές περιπτώσεις δεν μπορεί να επιτευχθεί γράφοντας μία πηγή SQL αναζήτηση και σύγκριση της εξόδου με τον στόχο. Ενδέχεται να χρειαστεί να εκτελεστούν πολλαπλά ερωτήματα SQL για κάθε σειρά για την επαλήθευση των κανόνων μετασχηματισμού. |
Δοκιμή Ποιότητας Δεδομένων | Οι δοκιμές ποιότητας δεδομένων περιλαμβάνουν δοκιμές σύνταξης και αναφοράς. Προκειμένου να αποφευχθεί οποιοδήποτε σφάλμα λόγω ημερομηνίας ή αριθμού παραγγελίας κατά τη διάρκεια της επιχειρηματικής διαδικασίας, γίνεται έλεγχος ποιότητας δεδομένων.
Δοκιμές σύνταξης: Θα αναφέρει βρώμικα δεδομένα, με βάση μη έγκυρους χαρακτήρες, μοτίβο χαρακτήρων, εσφαλμένη σειρά κεφαλαίων ή πεζών κ.λπ. Δοκιμές αναφοράς: Θα ελέγξει τα δεδομένα σύμφωνα με το μοντέλο δεδομένων. Για παράδειγμα: Αναγνωριστικό πελάτη Ο έλεγχος ποιότητας δεδομένων περιλαμβάνει έλεγχο αριθμού, έλεγχο ημερομηνίας, έλεγχο ακριβείας, έλεγχο δεδομένων, μηδενικό έλεγχο κ.λπ. |
Αυξητική δοκιμή ETL | Αυτή η δοκιμή γίνεται για να ελεγχθεί η ακεραιότητα των παλαιών και νέων δεδομένων με την προσθήκη νέων δεδομένων. Ο επαυξητικός έλεγχος επαληθεύει ότι τα ένθετα και οι ενημερώσεις υποβάλλονται σε επεξεργασία όπως αναμένεται κατά τη διάρκεια της επαυξητικής διαδικασίας ETL. |
GUI/Δοκιμή πλοήγησης | Αυτή η δοκιμή πραγματοποιείται για τον έλεγχο των πτυχών πλοήγησης ή GUI των αναφορών της διεπαφής. |
Πώς να δημιουργήσετε θήκη δοκιμής ETL
Η δοκιμή ETL είναι μια έννοια που μπορεί να εφαρμοστεί σε διαφορετικά εργαλεία και βάσεις δεδομένων στη βιομηχανία διαχείρισης πληροφοριών. Ο στόχος της δοκιμής ETL είναι να διασφαλίσει ότι τα δεδομένα που έχουν φορτωθεί από μια πηγή στον προορισμό μετά τον μετασχηματισμό της επιχείρησης είναι ακριβή. Περιλαμβάνει επίσης την επαλήθευση δεδομένων σε διάφορα μεσαία στάδια που χρησιμοποιούνται μεταξύ πηγής και προορισμού.
Κατά την εκτέλεση δοκιμών ETL, δύο έγγραφα που θα χρησιμοποιούνται πάντα από έναν ελεγκτή ETL είναι
- Φύλλα χαρτογράφησης ETL:Τα φύλλα αντιστοίχισης ETL περιέχουν όλες τις πληροφορίες των πινάκων προέλευσης και προορισμού, συμπεριλαμβανομένων κάθε στήλης και την αναζήτησή τους σε πίνακες αναφοράς. Οι δοκιμαστές ETL πρέπει να είναι άνετοι με τα ερωτήματα SQL καθώς η δοκιμή ETL μπορεί να περιλαμβάνει τη σύνταξη μεγάλων ερωτημάτων με πολλαπλές συνδέσεις για την επικύρωση δεδομένων σε οποιοδήποτε στάδιο του ETL. Τα φύλλα χαρτογράφησης ETL παρέχουν σημαντική βοήθεια κατά τη σύνταξη ερωτημάτων για επαλήθευση δεδομένων.
- Σχήμα πηγής DB, Target: Θα πρέπει να είναι εύχρηστο για να επαληθεύσετε οποιαδήποτε λεπτομέρεια στα φύλλα χαρτογράφησης.
Σενάρια δοκιμών ETL και δοκιμαστικές περιπτώσεις
Σενάριο δοκιμής | Test Cases |
---|---|
Επικύρωση εγγράφου χαρτογράφησης | Επαληθεύστε το έγγραφο χαρτογράφησης εάν παρέχονται οι αντίστοιχες πληροφορίες ETL ή όχι. Το αρχείο καταγραφής αλλαγών θα πρέπει να διατηρείται σε κάθε έγγραφο χαρτογράφησης. |
Επικύρωση |
|
Επικύρωση περιορισμών | Βεβαιωθείτε ότι οι περιορισμοί έχουν καθοριστεί για συγκεκριμένο πίνακα όπως αναμένεται |
Ζητήματα συνέπειας δεδομένων |
|
Θέματα Πληρότητας |
|
Θέματα ορθότητας |
|
Μεταμόρφωση | Μεταμόρφωση |
Ποιότητα δεδομένων |
|
Μηδενική επικύρωση | Επαληθεύστε τις μηδενικές τιμές, όπου έχει καθοριστεί το "Not Null" για μια συγκεκριμένη στήλη. |
Διπλότυπος έλεγχος |
|
Ημερομηνία επικύρωσης | Οι τιμές ημερομηνίας χρησιμοποιούν πολλές περιοχές στην ανάπτυξη ETL για
|
Πλήρης επικύρωση δεδομένων |
|
Καθαρότητα Δεδομένων | Οι περιττές στήλες θα πρέπει να διαγραφούν πριν από τη φόρτωση στην περιοχή σταδιοποίησης. |
Τύποι σφαλμάτων ETL
Τύπος σφαλμάτων | Descriptιόν |
---|---|
Σφάλματα διεπαφής χρήστη/καλλυντικά σφάλματα |
|
Σφάλμα που σχετίζεται με την Ανάλυση οριακής τιμής (BVA). |
|
Σφάλμα που σχετίζεται με την κατάτμηση κλάσης ισοδυναμίας (ECP). |
|
Σφάλματα εισόδου/εξόδου |
|
Σφάλματα υπολογισμού |
|
Σφάλματα κατάστασης φόρτωσης |
|
Σφάλματα κατάστασης αγώνα |
|
Σφάλματα ελέγχου έκδοσης |
|
Σφάλματα H/W |
|
Σφάλματα πηγής βοήθειας |
|
Διαφορά μεταξύ της δοκιμής βάσεων δεδομένων και της δοκιμής ETL
Δοκιμή ETL | Δοκιμή Βάσεων Δεδομένων |
---|---|
Επαληθεύει εάν τα δεδομένα μετακινούνται όπως αναμένεται | Ο πρωταρχικός στόχος είναι να ελέγξετε εάν τα δεδομένα ακολουθούν τους κανόνες/πρότυπα που ορίζονται στο μοντέλο δεδομένων |
Επαληθεύει εάν οι μετρήσεις στην πηγή και τον στόχο ταιριάζουν
Επαληθεύει εάν τα δεδομένα που μετασχηματίστηκαν είναι σύμφωνα με την αναμενόμενη |
Βεβαιωθείτε ότι δεν υπάρχουν ορφανά αρχεία και ότι διατηρούνται σχέσεις εξωτερικού-πρωτεύοντος κλειδιού |
Επαληθεύει ότι οι σχέσεις ξένου πρωτογενούς κλειδιού διατηρούνται κατά τη διάρκεια του ETL | Επαληθεύει ότι δεν υπάρχουν περιττοί πίνακες και ότι η βάση δεδομένων έχει κανονικοποιηθεί βέλτιστα |
Επαληθεύει για αντιγραφή σε φορτωμένα δεδομένα | Επαληθεύστε εάν λείπουν δεδομένα στις στήλες όπου απαιτείται |
Ευθύνες ενός ελεγκτή ETL
Οι βασικές ευθύνες ενός ελεγκτή ETL διαχωρίζονται σε τρεις κατηγορίες
- Τραπέζι σκηνής/ SFS ή MFS
- Εφαρμόστηκε η λογική του επιχειρηματικού μετασχηματισμού
- Target φόρτωση πίνακα από αρχείο σταδίου ή πίνακα μετά την εφαρμογή ενός μετασχηματισμού.
Μερικές από τις ευθύνες ενός ελεγκτή ETL είναι
- Δοκιμή λογισμικού ETL
- Εξαρτήματα δοκιμής της αποθήκης δεδομένων ETL
- Εκτελέστε δοκιμή βάσει δεδομένων υποστήριξης
- Δημιουργία, σχεδίαση και εκτέλεση περιπτώσεις δοκιμής, σχέδια δοκιμής και ιμάντα δοκιμής
- Προσδιορίστε το πρόβλημα και δώστε λύσεις για πιθανά προβλήματα
- Έγκριση απαιτήσεων και προδιαγραφών σχεδιασμού
- Μεταφορές δεδομένων και δοκιμή επίπεδης αρχείου
- Σύνταξη ερωτημάτων SQL3 για διάφορα σενάρια όπως μέτρηση δοκιμής
Δοκιμές απόδοσης στο ETL
Δοκιμές απόδοσης στο ETL είναι μια τεχνική δοκιμής για να διασφαλιστεί ότι ένα σύστημα ETL μπορεί να χειριστεί το φορτίο πολλών χρηστών και συναλλαγών. Πρωταρχικός στόχος του ΕΤΛ Δοκιμές Απόδοσης είναι η βελτιστοποίηση και η βελτίωση της απόδοσης της συνεδρίας με τον εντοπισμό και την εξάλειψη των σημείων συμφόρησης απόδοσης. Οι βάσεις δεδομένων προέλευσης και στόχος, οι αντιστοιχίσεις, οι περίοδοι λειτουργίας και το σύστημα ενδέχεται να έχουν προβλήματα απόδοσης.
Ένα από τα καλύτερα εργαλεία που χρησιμοποιούνται για τον έλεγχο απόδοσης/τον συντονισμό είναι το Informatica.
Αυτοματοποίηση δοκιμών ETL
Η γενική μεθοδολογία των δοκιμών ETL είναι η χρήση δέσμης ενεργειών SQL ή η πραγματοποίηση δεδομένων. Αυτές οι προσεγγίσεις στη δοκιμή ETL είναι χρονοβόρες, επιρρεπείς σε σφάλματα και σπάνια παρέχουν ολοκληρωμένες κάλυψη δοκιμών. Για επιτάχυνση, βελτίωση της κάλυψης, μείωση του κόστους, βελτίωση Ελάττωμα αναλογία ανίχνευσης των δοκιμών ETL σε περιβάλλοντα παραγωγής και ανάπτυξης, η αυτοματοποίηση είναι η ανάγκη της ώρας. Ένα τέτοιο εργαλείο είναι το Informatica.
καλυτερα Practices for ETL Testing
- Βεβαιωθείτε ότι τα δεδομένα έχουν μετατραπεί σωστά
- Χωρίς απώλεια δεδομένων και περικοπή, τα προβαλλόμενα δεδομένα θα πρέπει να φορτωθούν στην αποθήκη δεδομένων
- Βεβαιωθείτε ότι η εφαρμογή ETL απορρίπτει και αντικαθιστά κατάλληλα με προεπιλεγμένες τιμές και αναφέρει μη έγκυρα δεδομένα
- Πρέπει να διασφαλιστεί ότι τα δεδομένα που φορτώνονται στην αποθήκη δεδομένων μέσα σε προκαθορισμένα και αναμενόμενα χρονικά πλαίσια για να επιβεβαιωθεί η επεκτασιμότητα και η απόδοση
- Όλες οι μέθοδοι πρέπει να έχουν κατάλληλες δοκιμές μονάδας ανεξάρτητα από την ορατότητα
- Για να μετρηθεί η αποτελεσματικότητά τους, όλες οι δοκιμές μονάδας θα πρέπει να χρησιμοποιούν κατάλληλες τεχνικές κάλυψης
- Προσπαθήστε για έναν ισχυρισμό ανά δοκιμαστική περίπτωση
- Δημιουργία δοκιμές μονάδας που στοχεύουν σε εξαιρέσεις
Ολοκλήρωση αγοράς - ETL Testing Συνέντευξη Ερωτήσεις & Απαντήσεις