Tutorial Big Data Testing: Τι είναι, Στρατηγική, Πώς να δοκιμάσετε το Hadoop

Πίνακας περιεχομένων:

Anonim

Μεγάλη δοκιμή δεδομένων

Το Big Data Testing είναι μια διαδικασία δοκιμής μιας μεγάλης εφαρμογής δεδομένων προκειμένου να διασφαλιστεί ότι όλες οι λειτουργίες μιας μεγάλης εφαρμογής δεδομένων λειτουργούν όπως αναμενόταν. Ο στόχος της μεγάλης δοκιμής δεδομένων είναι να βεβαιωθείτε ότι το μεγάλο σύστημα δεδομένων λειτουργεί ομαλά και χωρίς σφάλματα, διατηρώντας παράλληλα την απόδοση και την ασφάλεια.

Τα μεγάλα δεδομένα είναι μια συλλογή μεγάλων συνόλων δεδομένων που δεν μπορούν να υποβληθούν σε επεξεργασία χρησιμοποιώντας παραδοσιακές υπολογιστικές τεχνικές. Ο έλεγχος αυτών των συνόλων δεδομένων περιλαμβάνει διάφορα εργαλεία, τεχνικές και πλαίσια επεξεργασίας. Τα μεγάλα δεδομένα σχετίζονται με τη δημιουργία δεδομένων, την αποθήκευση, την ανάκτηση και την ανάλυση που είναι αξιοσημείωτη από την άποψη του όγκου, της ποικιλίας και της ταχύτητας. Μπορείτε να μάθετε περισσότερα για τα Big Data, Hadoop και MapReduce εδώ

Σε αυτό το σεμινάριο Big Data Testing, θα μάθετε-

  • Τι είναι η στρατηγική Big Data Testing;
  • Πώς να δοκιμάσετε τις εφαρμογές Hadoop
  • Δοκιμή αρχιτεκτονικής
  • Δοκιμή απόδοσης
  • Προσέγγιση δοκιμής απόδοσης
  • Παράμετροι για δοκιμή απόδοσης
  • Δοκιμές Περιβάλλοντος Ανάγκες
  • Δοκιμή δεδομένων μεγάλης έκδοσης Vs. Παραδοσιακή δοκιμή βάσης δεδομένων
  • Εργαλεία που χρησιμοποιούνται σε σενάρια Big Data
  • Προκλήσεις στο Big Data Testing

Τι είναι η στρατηγική Big Data Testing;

Ο έλεγχος της εφαρμογής Big Data είναι μεγαλύτερη επαλήθευση της επεξεργασίας δεδομένων παρά η δοκιμή των επιμέρους χαρακτηριστικών του προϊόντος λογισμικού. Όσον αφορά τη Μεγάλη δοκιμή δεδομένων, οι επιδόσεις και οι λειτουργικές δοκιμές είναι τα κλειδιά.

Στη στρατηγική Big Data testing, οι μηχανικοί της QA επαληθεύουν την επιτυχή επεξεργασία terabyte δεδομένων χρησιμοποιώντας σύμπλεγμα εμπορευμάτων και άλλα υποστηρικτικά στοιχεία. Απαιτεί υψηλό επίπεδο δεξιοτήτων δοκιμής καθώς η επεξεργασία είναι πολύ γρήγορη. Η επεξεργασία μπορεί να είναι τριών τύπων

Μαζί με αυτό, η ποιότητα των δεδομένων είναι επίσης ένας σημαντικός παράγοντας στη δοκιμή Hadoop. Πριν από τη δοκιμή της εφαρμογής, είναι απαραίτητο να ελέγξετε την ποιότητα των δεδομένων και θα πρέπει να θεωρείται ως μέρος της δοκιμής βάσης δεδομένων. Περιλαμβάνει τον έλεγχο διαφόρων χαρακτηριστικών όπως συμμόρφωση, ακρίβεια, επανάληψη, συνέπεια, εγκυρότητα, πληρότητα δεδομένων κ.λπ. Στη συνέχεια, σε αυτό το σεμινάριο δοκιμών Hadoop, θα μάθουμε πώς να δοκιμάζουμε εφαρμογές Hadoop.

Πώς να δοκιμάσετε τις εφαρμογές Hadoop

Το παρακάτω σχήμα παρέχει μια επισκόπηση υψηλού επιπέδου των φάσεων στη Δοκιμή εφαρμογών Big Data

Η δοκιμή Big Data ή η δοκιμή Hadoop μπορούν γενικά να χωριστούν σε τρία βήματα

Βήμα 1: Επικύρωση σταδιοποίησης δεδομένων

Το πρώτο βήμα σε αυτό το μεγάλο σεμινάριο δοκιμών δεδομένων αναφέρεται ως προ-Hadoop στάδιο περιλαμβάνει επικύρωση διαδικασίας.

  • Δεδομένα από διάφορες πηγές, όπως RDBMS, ιστολόγια, κοινωνικά μέσα κ.λπ. θα πρέπει να επικυρωθούν για να βεβαιωθείτε ότι τα σωστά δεδομένα εισάγονται στο σύστημα
  • Συγκρίνοντας τα δεδομένα προέλευσης με τα δεδομένα που ωθήθηκαν στο σύστημα Hadoop για να βεβαιωθείτε ότι ταιριάζουν
  • Βεβαιωθείτε ότι τα σωστά δεδομένα εξάγονται και φορτώνονται στη σωστή θέση HDFS

Εργαλεία όπως το Talend , Datameer, μπορούν να χρησιμοποιηθούν για την επικύρωση σταδίων δεδομένων

Βήμα 2: Επικύρωση "MapReduce"

Το δεύτερο βήμα είναι μια επικύρωση του "MapReduce". Σε αυτό το στάδιο, ο δοκιμαστής Big Data επαληθεύει την επικύρωση της επιχειρησιακής λογικής σε κάθε κόμβο και στη συνέχεια την επικυρώνει μετά την εκτέλεση σε πολλούς κόμβους, διασφαλίζοντας ότι

  • Η διαδικασία Map Reduce λειτουργεί σωστά
  • Οι κανόνες συγκέντρωσης δεδομένων ή διαχωρισμού εφαρμόζονται στα δεδομένα
  • Δημιουργούνται ζεύγη τιμών-κλειδιών
  • Επικύρωση των δεδομένων μετά τη διαδικασία Map-Reduce

Βήμα 3: Φάση επικύρωσης εξόδου

Το τελικό ή τρίτο στάδιο της δοκιμής Hadoop είναι η διαδικασία επικύρωσης εξόδου. Τα αρχεία δεδομένων εξόδου δημιουργούνται και είναι έτοιμα να μετακινηθούν σε ένα EDW (Enterprise Data Warehouse) ή σε οποιοδήποτε άλλο σύστημα βάσει της απαίτησης.

Οι δραστηριότητες στο τρίτο στάδιο περιλαμβάνουν

  • Για να ελέγξετε τους κανόνες μετασχηματισμού εφαρμόζονται σωστά
  • Για να ελέγξετε την ακεραιότητα των δεδομένων και την επιτυχή φόρτωση δεδομένων στο σύστημα προορισμού
  • Για να ελέγξετε ότι δεν υπάρχει καταστροφή δεδομένων συγκρίνοντας τα δεδομένα προορισμού με τα δεδομένα συστήματος αρχείων HDFS

Δοκιμή αρχιτεκτονικής

Το Hadoop επεξεργάζεται πολύ μεγάλους όγκους δεδομένων και έχει υψηλή ένταση πόρων. Ως εκ τούτου, οι αρχιτεκτονικές δοκιμές είναι ζωτικής σημασίας για να διασφαλιστεί η επιτυχία του έργου Big Data. Ένα ανεπαρκώς ή ακατάλληλο σχεδιασμένο σύστημα μπορεί να οδηγήσει σε υποβάθμιση της απόδοσης και το σύστημα ενδέχεται να μην πληροί τις απαιτήσεις. Τουλάχιστον, οι υπηρεσίες δοκιμής απόδοσης και αποτυχίας πρέπει να γίνονται σε περιβάλλον Hadoop.

Ο έλεγχος απόδοσης περιλαμβάνει τον έλεγχο του χρόνου ολοκλήρωσης εργασίας, τη χρήση μνήμης, την απόδοση δεδομένων και παρόμοιες μετρήσεις συστήματος. Ενώ το κίνητρο της δοκιμαστικής υπηρεσίας Failover είναι να επαληθεύσει ότι η επεξεργασία δεδομένων πραγματοποιείται απρόσκοπτα σε περίπτωση αποτυχίας κόμβων δεδομένων

Δοκιμή απόδοσης

Ο Έλεγχος απόδοσης για Big Data περιλαμβάνει δύο κύριες ενέργειες

  • Κατάποση δεδομένων και καθ 'όλη τη διάρκεια : Σε αυτό το στάδιο, ο δοκιμαστής Big Data επαληθεύει πώς το γρήγορο σύστημα μπορεί να καταναλώνει δεδομένα από διάφορες πηγές δεδομένων. Ο έλεγχος περιλαμβάνει τον εντοπισμό ενός διαφορετικού μηνύματος που μπορεί να επεξεργαστεί η ουρά σε ένα δεδομένο χρονικό πλαίσιο. Περιλαμβάνει επίσης πόσο γρήγορα μπορούν να εισαχθούν δεδομένα στην υποκείμενη αποθήκευση δεδομένων, για παράδειγμα ρυθμός εισαγωγής σε μια βάση δεδομένων Mongo και Cassandra.
  • Επεξεργασία δεδομένων : Περιλαμβάνει την επαλήθευση της ταχύτητας με την οποία εκτελούνται τα ερωτήματα ή οι εργασίες μείωσης χαρτών. Περιλαμβάνει επίσης τον έλεγχο της επεξεργασίας δεδομένων μεμονωμένα όταν η υποκείμενη αποθήκευση δεδομένων συμπληρώνεται εντός των συνόλων δεδομένων. Για παράδειγμα, η εκτέλεση εργασιών Map Reduce στο υποκείμενο HDFS
  • Απόδοση υπο-συστατικών : Αυτά τα συστήματα αποτελούνται από πολλά στοιχεία και είναι σημαντικό να δοκιμάσετε κάθε ένα από αυτά τα συστατικά μεμονωμένα. Για παράδειγμα, πόσο γρήγορα το μήνυμα ευρετηριάζεται και καταναλώνεται, εργασίες MapReduce, απόδοση ερωτήματος, αναζήτηση κ.λπ.

Προσέγγιση δοκιμής απόδοσης

Ο έλεγχος απόδοσης για την εφαρμογή μεγάλων δεδομένων περιλαμβάνει δοκιμές τεράστιων όγκων δομημένων και μη δομημένων δεδομένων και απαιτεί συγκεκριμένη προσέγγιση δοκιμών για τη δοκιμή τέτοιων τεράστιων δεδομένων.

Η Δοκιμή απόδοσης εκτελείται με αυτήν τη σειρά

  1. Η διαδικασία ξεκινά με τη ρύθμιση του συμπλέγματος δεδομένων Big που πρόκειται να ελεγχθεί για την απόδοση
  2. Προσδιορίστε και σχεδιάστε αντίστοιχους φόρτους εργασίας
  3. Προετοιμάστε μεμονωμένους πελάτες (Δημιουργούνται προσαρμοσμένα σενάρια)
  4. Εκτελέστε τη δοκιμή και αναλύστε το αποτέλεσμα (Εάν δεν επιτευχθούν οι στόχοι, συντονίστε το στοιχείο και εκτελέστε ξανά)
  5. Βέλτιστη διαμόρφωση

Παράμετροι για δοκιμή απόδοσης

Υπάρχουν διάφορες παράμετροι που πρέπει να επαληθευτούν για δοκιμές απόδοσης

  • Αποθήκευση δεδομένων: Πώς αποθηκεύονται τα δεδομένα σε διαφορετικούς κόμβους
  • Καταγραφές δεσμεύσεων: Πόσο μεγάλο επιτρέπεται η ανάπτυξη του αρχείου καταγραφής δεσμεύσεων
  • Συνδυασμός: Πόσα νήματα μπορούν να εκτελέσουν τη λειτουργία εγγραφής και ανάγνωσης
  • Προσωρινή αποθήκευση: Συντονίστε τη ρύθμιση προσωρινής μνήμης "cache γραμμής" και "προσωρινή μνήμη κλειδιού."
  • Timeout: Τιμές για χρονικό όριο σύνδεσης, χρονικό όριο ερωτήματος κ.λπ.
  • Παράμετροι JVM: Μέγεθος σωρού, αλγόριθμοι συλλογής GC κ.λπ.
  • Ο χάρτης μειώνει την απόδοση: Ταξινόμηση, συγχώνευση κ.λπ.
  • Ουρά μηνυμάτων: Ρυθμός μηνύματος, μέγεθος κ.λπ.

Δοκιμές Περιβάλλοντος Ανάγκες

Το περιβάλλον δοκιμών πρέπει να εξαρτάται από τον τύπο της εφαρμογής που δοκιμάζετε. Για δοκιμές λογισμικού Big data, το περιβάλλον δοκιμής πρέπει να περιλαμβάνει

  • Θα πρέπει να έχει αρκετό χώρο για αποθήκευση και επεξεργασία μεγάλου όγκου δεδομένων
  • Θα πρέπει να έχει ένα σύμπλεγμα με κατανεμημένους κόμβους και δεδομένα
  • Θα πρέπει να έχει ελάχιστη χρήση CPU και μνήμης για να διατηρεί την απόδοση υψηλή για να ελέγχει την απόδοση Big Data

Δοκιμή δεδομένων μεγάλης έκδοσης Vs. Παραδοσιακή δοκιμή βάσης δεδομένων

Ιδιότητες

Παραδοσιακή δοκιμή βάσης δεδομένων

Μεγάλες δοκιμές δεδομένων

Δεδομένα

  • Ο ελεγκτής λειτουργεί με δομημένα δεδομένα
  • Το Tester λειτουργεί τόσο με δομημένα όσο και με μη δομημένα δεδομένα

Προσέγγιση δοκιμών

  • Η προσέγγιση δοκιμών είναι καλά καθορισμένη και δοκιμασμένη στο χρόνο
  • Η δοκιμαστική προσέγγιση απαιτεί εστιασμένες προσπάθειες Ε & Α

Στρατηγική δοκιμών

  • Ο δοκιμαστής έχει την επιλογή της στρατηγικής "δειγματοληψίας" να κάνει χειροκίνητα ή τη στρατηγική "Εξαντλητική επαλήθευση" από το εργαλείο αυτοματισμού
  • Η στρατηγική "δειγματοληψίας" στα Big data είναι μια πρόκληση

Υποδομή

  • Δεν απαιτεί ειδικό περιβάλλον δοκιμής καθώς το μέγεθος του αρχείου είναι περιορισμένο
  • Απαιτεί ένα ειδικό περιβάλλον δοκιμών λόγω μεγάλου μεγέθους δεδομένων και αρχείων (HDFS)

Εργαλεία επικύρωσης

Ο ελεγκτής χρησιμοποιεί είτε εργαλεία μακροεντολών που βασίζονται στο Excel είτε εργαλεία αυτοματισμού που βασίζονται σε διεπαφή χρήστη

Χωρίς καθορισμένα εργαλεία, το εύρος είναι τεράστιο από εργαλεία προγραμματισμού όπως το MapReduce έως το HIVEQL

Εργαλεία δοκιμών

Τα εργαλεία δοκιμής μπορούν να χρησιμοποιηθούν με βασικές γνώσεις λειτουργίας και λιγότερη εκπαίδευση.

Απαιτεί ένα συγκεκριμένο σύνολο δεξιοτήτων και εκπαίδευσης για τη λειτουργία ενός εργαλείου δοκιμών. Επίσης, τα εργαλεία βρίσκονται στο στάδιο εκκίνησής τους και με την πάροδο του χρόνου μπορεί να παρουσιάσει νέα χαρακτηριστικά.

Εργαλεία που χρησιμοποιούνται σε σενάρια Big Data

Μεγάλο σύμπλεγμα δεδομένων

Μεγάλα εργαλεία δεδομένων

NoSQL:

  • CouchDB, βάσεις δεδομένων MongoDB, Cassandra, Redis, ZooKeeper, HBase

ΜΕΙΩΣΗ ΧΑΡΤΗ:

  • Hadoop, Hive, Pig, Cascading, Oozie, Kafka, S4, MapR, Flume

Αποθήκευση:

  • S3, HDFS (Hadoop κατανεμημένο σύστημα αρχείων)

Διακομιστές:

  • Elastic, Heroku, Elastic, Google App Engine, EC2

Επεξεργασία

  • R, Yahoo! Σωλήνες, Mechanical Turk, BigSheets, Datameer

Προκλήσεις στο Big Data Testing

  • Αυτοματοποίηση

    Ο έλεγχος αυτοματισμού για Big data απαιτεί κάποιον με τεχνική εμπειρία. Επίσης, τα αυτοματοποιημένα εργαλεία δεν είναι εξοπλισμένα για τον χειρισμό απροσδόκητων προβλημάτων που προκύπτουν κατά τη διάρκεια της δοκιμής

  • Εικονικοποίηση

    Είναι μια από τις αναπόσπαστες φάσεις των δοκιμών. Ο λανθάνων χρόνος της εικονικής μηχανής δημιουργεί προβλήματα χρονισμού σε δοκιμές απόδοσης μεγάλων δεδομένων σε πραγματικό χρόνο. Επίσης, η διαχείριση εικόνων σε Big data είναι μια ταλαιπωρία.

  • Μεγάλο σύνολο δεδομένων
    • Πρέπει να επαληθεύσετε περισσότερα δεδομένα και να τα κάνετε πιο γρήγορα
    • Πρέπει να αυτοματοποιηθεί η προσπάθεια δοκιμών
    • Πρέπει να είστε σε θέση να δοκιμάσετε σε διαφορετική πλατφόρμα

Προκλήσεις δοκιμής απόδοσης

  • Διαφορετικό σύνολο τεχνολογιών : Κάθε υπο-στοιχείο ανήκει σε διαφορετική τεχνολογία και απαιτεί δοκιμές μεμονωμένα
  • Μη διαθεσιμότητα συγκεκριμένων εργαλείων : Κανένα εργαλείο δεν μπορεί να εκτελέσει τον έλεγχο από άκρο σε άκρο. Για παράδειγμα, το NoSQL ενδέχεται να μην ταιριάζει σε ουρές μηνυμάτων
  • Δοκιμή δέσμης ενεργειών : Απαιτείται υψηλός βαθμός δέσμης ενεργειών για το σχεδιασμό σεναρίων δοκιμών και δοκιμαστικών περιπτώσεων
  • Περιβάλλον δοκιμής : Χρειάζεται ένα ειδικό περιβάλλον δοκιμής λόγω του μεγάλου μεγέθους δεδομένων
  • Λύση παρακολούθησης : Υπάρχουν περιορισμένες λύσεις που μπορούν να παρακολουθούν ολόκληρο το περιβάλλον
  • Διαγνωστική λύση : Απαιτείται προσαρμοσμένη λύση για την ανάπτυξη των περιοχών συμφόρησης απόδοσης

Περίληψη

  • Καθώς η μηχανική δεδομένων και η ανάλυση δεδομένων προχωρούν στο επόμενο επίπεδο, η δοκιμή μεγάλων δεδομένων είναι αναπόφευκτη.
  • Η μεγάλη επεξεργασία δεδομένων μπορεί να είναι Batch, Real-Time ή Interactive
  • 3 στάδια δοκιμών εφαρμογών Big Data είναι
    • Επικύρωση σταδιοποίησης δεδομένων
    • Επικύρωση "MapReduce"
    • Φάση επικύρωσης εξόδου
  • Το Architecture Testing είναι η σημαντική φάση του Big data testing, καθώς το κακώς σχεδιασμένο σύστημα μπορεί να οδηγήσει σε πρωτοφανή σφάλματα και υποβάθμιση της απόδοσης
  • Ο έλεγχος απόδοσης για τα Big data περιλαμβάνει επαλήθευση
    • Απόδοση δεδομένων
    • Επεξεργασία δεδομένων
    • Απόδοση υποσυστήματος
  • Η δοκιμή μεγάλων δεδομένων είναι πολύ διαφορετική από την παραδοσιακή δοκιμή δεδομένων από άποψη εργαλείων δεδομένων, υποδομής και επικύρωσης
  • Οι μεγάλες προκλήσεις δοκιμής δεδομένων περιλαμβάνουν εικονικοποίηση, αυτοματοποίηση δοκιμών και αντιμετώπιση μεγάλων συνόλων δεδομένων. Ο έλεγχος απόδοσης των εφαρμογών Big Data είναι επίσης ένα ζήτημα.