Tutorial de testare Big Data: Ce este, Strategie, Cum se testează Hadoop
Testarea Big Data
Testarea Big Data este un proces de testare a unei aplicații de date mari pentru a se asigura că toate funcționalitățile unei aplicații de date mari funcționează conform așteptărilor. Scopul testării Big Data este acela de a se asigura că sistemul de Big Data funcționează fără probleme și fără erori, menținând în același timp performanța și securitatea.
Big data este o colecție de seturi mari de date care nu pot fi procesate folosind tehnici de calcul tradiționale. Testarea dintre aceste seturi de date implică diverse instrumente, tehnici și cadre de procesat. Big Data se referă la crearea, stocarea, preluarea și analiza datelor, care sunt remarcabile în ceea ce privește volumul, varietatea și viteza. Puteți afla mai multe despre Big Data, Hadoop și MapReduce aici
Ce este strategia de testare a datelor mari?
Testarea aplicației Big Data înseamnă mai mult verificarea prelucrării datelor, decât testarea caracteristicilor individuale ale produsului software. Când vine vorba de testarea Big Data, testarea performanta si functionala sunt cheile.
În strategia de testare Big Data, inginerii QA verifică procesarea cu succes a terabytes de date folosind clusterul de mărfuri și alte componente de sprijin. Necesită un nivel ridicat de abilități de testare, deoarece procesarea este foarte rapidă. Prelucrarea poate fi de trei tipuri
Alături de aceasta, calitatea datelor este, de asemenea, un factor important în testarea Hadoop. Înainte de a testa aplicația, este necesar să se verifice calitatea datelor și ar trebui să fie luate în considerare ca parte a testării bazei de date. Aceasta implică verificarea diferitelor caracteristici, cum ar fi conformitatea, acuratețea, duplicarea, consistența, validitatea, caracterul complet al datelor, etc. În continuare, în acest tutorial de testare Hadoop, vom învăța cum să testăm aplicațiile Hadoop.
Cum se testează aplicațiile Hadoop
Următoarea figură oferă o prezentare generală la nivel înalt a fazelor din testarea aplicațiilor Big Data
Testarea Big Data sau Testarea Hadoop poate fi împărțită în trei pași
Pasul 1: Validarea stadii de date
Primul pas din acest tutorial de testare a datelor mari se numește etapa pre-Hadoop implică validarea procesului.
- Date din diverse surse, cum ar fi RDBMS, jurnalele web, rețelele sociale etc. ar trebui validate pentru a se asigura că datele corecte sunt introduse în sistem
- Compararea datelor sursă cu datele introduse în sistemul Hadoop pentru a vă asigura că se potrivesc
- Verificați că datele corecte sunt extrase și încărcate în locația HDFS corectă
Instrumente de genul Talend, Datameer, poate fi utilizat pentru validarea stadierii datelor
Pasul 2: Validarea „MapReduce”.
Al doilea pas este o validare a „MapReduce”. În această etapă, testerul Big Data verifică validarea logicii de afaceri pe fiecare nod și apoi le validează după rularea pe mai multe noduri, asigurându-se că
- Procesul Map Reduce funcționează corect
- Regulile de agregare sau segregare a datelor sunt implementate asupra datelor
- Sunt generate perechi valori cheie
- Validarea datelor după procesul Map-Reduce
Pasul 3: Faza de validare a ieșirii
Etapa finală sau a treia a testării Hadoop este procesul de validare a rezultatelor. Fișierele de date de ieșire sunt generate și gata pentru a fi mutate într-un EDW (Enterprise Data Warehouse) sau orice alt sistem bazat pe cerințe.
Activitățile din a treia etapă includ
- Pentru a verifica regulile de transformare sunt aplicate corect
- Pentru a verifica integritatea datelor și încărcarea cu succes a datelor în sistemul țintă
- Pentru a verifica dacă nu există nicio corupție a datelor prin compararea datelor țintă cu datele sistemului de fișiere HDFS
ArchiTestare de tectură
Hadoop prelucrează volume foarte mari de date și necesită o mare cantitate de resurse. Prin urmare, testarea arhitecturală este crucială pentru a asigura succesul proiectului dumneavoastră Big Data. Un sistem proiectat prost sau necorespunzător poate duce la degradarea performanței, iar sistemul ar putea să nu îndeplinească cerințele. Cel puţin, Test de performanță și failover serviciile ar trebui să fie realizate într-un mediu Hadoop.
Test de performanta include testarea timpului de finalizare a lucrărilor, a utilizării memoriei, a debitului de date și a unor valori similare ale sistemului. În timp ce motivul serviciului de testare Failover este acela de a verifica dacă procesarea datelor are loc fără probleme în cazul eșecului nodurilor de date
Test de performanta
Testarea performanței pentru Big Data include două acțiuni principale
- Ingestie de date și pe tot parcursul: În această etapă, testerul Big Data verifică modul în care sistemul rapid poate consuma date din diverse surse de date. Testarea implică identificarea unui mesaj diferit pe care coada îl poate procesa într-un interval de timp dat. Include, de asemenea, cât de repede pot fi inserate datele în depozitul de date subiacent, de exemplu rata de inserare într-un Mongo și Cassandra Baza de date.
Abordarea de testare a performanței
Testarea performanței pentru aplicațiile de date mari implică testarea unor volume uriașe de date structurate și nestructurate și necesită o abordare specifică de testare pentru a testa astfel de date masive.
Testarea performanței este executată în această ordine
- Procesul începe cu setarea clusterului de date mari care urmează să fie testat pentru performanță
- Identificați și proiectați sarcinile de lucru corespunzătoare
- Pregătiți clienții individuali (se creează scripturi personalizate)
- Executați testul și analizează rezultatul (Dacă obiectivele nu sunt îndeplinite, atunci reglați componenta și re-execuți)
- Configurație optimă
Parametri pentru testarea performanței
Diferiți parametri care trebuie verificați pentru testarea performanței sunt
- Stocarea datelor: Cum sunt stocate datele în diferite noduri
- Jurnalele de comitere: cât de mare este permis să crească jurnalul de comitere
- Concurență: Câte fire de execuție pot efectua operațiuni de scriere și citire
- Memorarea în cache: Ajustați setarea cache „row cache” și „key cache”.
- Timeouts: valori pentru expirarea conexiunii, expirarea interogării etc.
- Parametri JVM: dimensiunea heap, algoritmi de colectare GC etc.
- Harta reduce performanța: sortează, îmbină etc.
- Coada de mesaje: rata de mesaje, dimensiunea etc.
Nevoile mediului de testare
Mediul de testare trebuie să depindă de tipul de aplicație pe care o testați. Pentru testarea software-ului Big Data, mediul de testare ar trebui să cuprindă
- Ar trebui să aibă suficient spațiu pentru stocare și să proceseze o cantitate mare de date
- Ar trebui să aibă un cluster cu noduri distribuite și date
- Ar trebui să aibă o utilizare minimă a CPU și a memoriei pentru a menține performanța ridicată pentru a testa performanța Big Data
Testarea datelor mari vs. Testarea bazei de date tradiționale
Proprietăţi | Testarea bazelor de date tradiționale | Testarea datelor mari |
---|---|---|
Date | Tester lucrează cu date structurate | Testerul funcționează atât cu date structurate, cât și cu date nestructurate |
Abordarea de testare | Abordarea de testare este bine definită și testată în timp | Abordarea de testare necesită eforturi concentrate de cercetare și dezvoltare |
Strategia de testare | Testerul are opțiunea strategiei de „Eșantionare” efectuată manual sau a strategiei de „Verificare exhaustivă” de către instrumentul de automatizare | Strategia de „eșantionare” în Big Data este o provocare |
Infrastructură | Nu necesită un mediu de testare special, deoarece dimensiunea fișierului este limitată | Necesită un mediu de testare special datorită dimensiunii mari a datelor și fișierelor (HDFS) |
Instrumente de validare | Testerul folosește fie cel bazat pe Excel macro-uri sau instrumente de automatizare bazate pe UI | Fără instrumente definite, gama este vastă, de la instrumente de programare precum MapReduce la HIVEQL |
Instrumente de testare | Instrumentele de testare pot fi utilizate cu cunoștințe de operare de bază și cu mai puțină pregătire. | Este nevoie de un set specific de abilități și pregătire pentru a opera un instrument de testare. De asemenea, instrumentele sunt în stadiu incipient și, în timp, pot veni cu noi funcții. |
Instrumente utilizate în scenariile Big Data
Datele mari Cluster | Instrumente de date mari |
---|---|
NoSQL: | CouchDB, Baze de date MongoDB, Cassandra, Redis, ZooKeeper, HBase |
MapReduce: | Hadoop, Hive, Pig, Cascading, Oozie, Kafka, S4, MapR, Flume |
Depozitare: | S3, HDFS (sistem de fișiere distribuit Hadoop) |
Servere: | elastic, Heroku, Elastic, Google App Engine, EC2 |
Prelucrare | R, Yahoo! Tevi, Mechanical Turk, BigSheets, Datameer |
Provocări în testarea Big Data
- Automatizare
Testarea automatizării pentru Big Data este nevoie de cineva cu expertiză tehnică. De asemenea, instrumentele automate nu sunt echipate pentru a face față problemelor neașteptate care apar în timpul testării
- virtualizare
Este una dintre fazele integrale ale testării. Latența mașinii virtuale creează probleme de sincronizare în testarea performanței big data în timp real. De asemenea, gestionarea imaginilor în Big Data este o bătaie de cap.
- Set mare de date
- Trebuie să verificați mai multe date și trebuie să o faceți mai rapid
- Trebuie automatizat efortul de testare
- Trebuie să puteți testa pe platforme diferite
Provocări de testare a performanței
- Set divers de tehnologii: Fiecare subcomponentă aparține unei tehnologii diferite și necesită testare izolat
- Indisponibilitatea unor instrumente specifice: Nici un singur instrument nu poate efectua testarea de la capăt la capăt. De exemplu, NoSQL s-ar putea să nu se potrivească pentru cozile de mesaje
- Test Scripting: Este necesar un grad ridicat de scripting pentru a proiecta scenarii de testare și cazuri de testare
- Mediu de testare: Are nevoie de un mediu de testare special din cauza dimensiunii mari a datelor
- Soluție de monitorizare: Există soluții limitate care pot monitoriza întregul mediu
- Soluție de diagnostic: este necesară dezvoltarea unei soluții personalizate pentru a detalia zonele de blocaj de performanță
Rezumat
- Pe măsură ce ingineria datelor și analiza datelor avansează la un alt nivel, testarea datelor mari este inevitabil.
- Procesarea datelor mari poate fi în lot, în timp real sau interactiv
- Cele 3 etape ale testarii aplicațiilor Big Data sunt validarea stadii de date, validarea „MapReduce” și faza de validare a ieșirii
- ArchiTestarea tehnologiei este faza importantă a testării Big Data, deoarece sistemul prost proiectat poate duce la erori fără precedent și la degradarea performanței
- Testarea performanței pentru Big Data include verificarea debitului de date, procesarea datelor și a performanței subcomponentelor
- Testarea datelor mari este foarte diferită de testarea datelor tradiționale în ceea ce privește instrumentele de date, infrastructură și validare
- Provocările de testare a datelor mari includ virtualizarea, automatizarea testelor și gestionarea unui set mare de date. Testarea performanței aplicațiilor Big Data este, de asemenea, o problemă.