Οδηγός δοκιμής μεγάλων δεδομένων: Τι είναι, Στρατηγική, Πώς να δοκιμάσετε το Hadoop

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

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

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

Τι είναι η στρατηγική δοκιμών μεγάλων δεδομένων;

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

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

Στρατηγική δοκιμών μεγάλων δεδομένων

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

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

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

Δοκιμή εφαρμογών Hadoop

Το Big Data Testing ή το Hadoop Testing μπορεί να χωριστεί γενικά σε τρία βήματα

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

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

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

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

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

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

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

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

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

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

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

Archiδοκιμές δομής

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

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

Δοκιμές Απόδοσης

Η δοκιμή απόδοσης για μεγάλα δεδομένα περιλαμβάνει δύο κύριες ενέργειες

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

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

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

    Ο έλεγχος απόδοσης εκτελείται με αυτή τη σειρά

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

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

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

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

    Ανάγκες περιβάλλοντος δοκιμής

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

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

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

    Ιδιοκτησίες Παραδοσιακή δοκιμή βάσεων δεδομένων Δοκιμές μεγάλων δεδομένων
    ημερομηνία Εργασία ελεγκτή με δομημένα δεδομένα Ο ελεγκτής λειτουργεί τόσο με δομημένα όσο και με μη δομημένα δεδομένα
    Δοκιμαστική Προσέγγιση Η δοκιμαστική προσέγγιση είναι καλά καθορισμένη και δοκιμασμένη στο χρόνο Η προσέγγιση δοκιμών απαιτεί εστιασμένες προσπάθειες Ε&Α
    Στρατηγική Δοκιμών Ο ελεγκτής έχει την επιλογή της στρατηγικής "Δειγματοληψία" με μη αυτόματο τρόπο ή της στρατηγικής "Εξαντλητικής επαλήθευσης" από το εργαλείο αυτοματισμού Η στρατηγική «δειγματοληψίας» στα μεγάλα δεδομένα είναι μια πρόκληση
    Επίπεδο Υποδομών Δεν απαιτεί ειδικό περιβάλλον δοκιμής καθώς το μέγεθος του αρχείου είναι περιορισμένο Απαιτεί ένα ειδικό περιβάλλον δοκιμής λόγω μεγάλου μεγέθους δεδομένων και αρχείων (HDFS)
    Εργαλεία επικύρωσης Ο ελεγκτής χρησιμοποιεί είτε το Excel που βασίζεται μακροεντολές ή εργαλεία αυτοματισμού που βασίζονται στη διεπαφή χρήστη Χωρίς καθορισμένα εργαλεία, η γκάμα είναι τεράστια από εργαλεία προγραμματισμού όπως το MapReduce έως HIVEQL
    Εργαλεία δοκιμών Τα εργαλεία δοκιμών μπορούν να χρησιμοποιηθούν με βασικές γνώσεις λειτουργίας και λιγότερη εκπαίδευση. Απαιτεί ένα συγκεκριμένο σύνολο δεξιοτήτων και εκπαίδευσης για τη λειτουργία ενός εργαλείου δοκιμών. Επίσης, τα εργαλεία βρίσκονται στο αρχικό τους στάδιο και με την πάροδο του χρόνου ενδέχεται να εμφανιστούν νέα χαρακτηριστικά.

    Εργαλεία που χρησιμοποιούνται σε σενάρια μεγάλων δεδομένων

    Big Data Cluster Big Data Tools
    NoSQL: CouchDB, Βάσεις δεδομένων MongoDB, Cassandra, Redis, ZooKeeper, HBase
    ΜΕΙΩΣΗ ΧΑΡΤΗ: Hadoop, Hive, Pig, Cascading, Oozie, Kafka, S4, MapR, Flume
    Αποθήκευση: S3, HDFS (Διανεμημένο σύστημα αρχείων Hadoop)
    Διακομιστές: Ελαστικό, Heroku, Elastic, Google App Engine, EC2
    Επεξεργασία R, Yahoo! Pipes, Mechanical Turk, BigSheets, Datameer

    Προκλήσεις στη δοκιμή μεγάλων δεδομένων

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

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

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

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

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

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

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

    Σύνοψη

    • Καθώς η μηχανική δεδομένων και η ανάλυση δεδομένων προχωρούν σε ένα επόμενο επίπεδο, η δοκιμή μεγάλων δεδομένων είναι αναπόφευκτη.
    • Η επεξεργασία μεγάλων δεδομένων μπορεί να είναι Μαζική, Πραγματικός Χρόνος ή Διαδραστική
    • 3 στάδια δοκιμής εφαρμογών Big Data είναι η επικύρωση σταδιοποίησης δεδομένων, η επικύρωση "MapReduce" και η φάση επικύρωσης εξόδου
    • ArchiΤο tecture Testing είναι η σημαντική φάση της δοκιμής Big Data, καθώς το κακώς σχεδιασμένο σύστημα μπορεί να οδηγήσει σε πρωτοφανή σφάλματα και υποβάθμιση της απόδοσης
    • Ο έλεγχος απόδοσης για μεγάλα δεδομένα περιλαμβάνει την επαλήθευση της διεκπεραίωσης δεδομένων, την επεξεργασία δεδομένων και την απόδοση υποσυστατικού
    • Η δοκιμή μεγάλων δεδομένων είναι πολύ διαφορετική από την παραδοσιακή δοκιμή δεδομένων όσον αφορά τα δεδομένα, την υποδομή και τα εργαλεία επικύρωσης
    • Οι προκλήσεις του Big Data Testing περιλαμβάνουν εικονικοποίηση, αυτοματοποίηση δοκιμών και αντιμετώπιση μεγάλων δεδομένων. Ο έλεγχος απόδοσης εφαρμογών Big Data είναι επίσης ένα ζήτημα.