Testarea Big Data
Testarea datelor mari 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 datelor mari este să vă asigurați că sistemul de date mari 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 de date mari care nu pot fi procesate folosind tehnici de calcul tradiționale. Testarea acestor seturi de date implică diverse instrumente, tehnici și cadre de procesare. Big data se referă la crearea, stocarea, recuperarea ș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
În acest tutorial de testare Big Data, veți învăța-
- Ce este strategia de testare Big Data?
- Cum se testează aplicațiile Hadoop
- Testarea arhitecturii
- Test de performanta
- Abordarea testării performanței
- Parametrii pentru testarea performanței
- Nevoi de mediu de testare
- Testarea datelor mari vs. Testarea bazei de date tradiționale
- Instrumente utilizate în scenarii Big Data
- Provocări în testarea Big Data
Ce este strategia de testare Big Data?
Testarea aplicației Big Data este mai multă verificare a procesării sale de date decât testarea caracteristicilor individuale ale produsului software. Când vine vorba de testarea datelor mari, performanța și testarea funcțională sunt cheile.
În strategia de testare Big Data, inginerii QA verifică procesarea cu succes a terabyților de date utilizând clusterul de produse și alte componente de susținere. Cere un nivel ridicat de abilități de testare, deoarece procesarea este foarte rapidă. Prelucrarea poate fi de trei tipuri
Odată cu 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 considerat ca parte a testării bazei de date. Aceasta implică verificarea diferitelor caracteristici, cum ar fi conformitatea, acuratețea, duplicarea, consistența, validitatea, completitudinea 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 imagine de ansamblu la nivel înalt a fazelor în testarea aplicațiilor Big Data
Testarea Big Data sau Testarea Hadoop pot fi în general împărțite în trei pași
Pasul 1: validarea etapelor de date
Primul pas în acest tutorial de testare a datelor mari este menționat deoarece etapa pre-Hadoop implică validarea procesului.
- Datele provenite din diverse surse, cum ar fi RDBMS, bloguri, social media etc. ar trebui validate pentru a vă 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 dacă datele corecte sunt extrase și încărcate în locația HDFS corectă
Instrumente precum Talend , Datameer, pot fi utilizate pentru validarea etapelor de date
Pasul 2: validare „MapReduce”
Al doilea pas este validarea „MapReduce”. În această etapă, testerul Big Data verifică validarea logicii de afaceri pe fiecare nod și apoi le validă după ce rulează pe mai multe noduri, asigurându-se că
- Procesul Map Reduce funcționează corect
- Agregarea datelor sau regulile de segregare sunt implementate pe date
- Se generează perechi de 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 în orice alt sistem bazat pe cerință.
Activitățile din etapa a treia 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ă corupție a datelor prin compararea datelor țintă cu datele sistemului de fișiere HDFS
Testarea arhitecturii
Hadoop procesează volume foarte mari de date și necesită resurse mari. Prin urmare, testarea arhitecturală este crucială pentru a asigura succesul proiectului dvs. Big Data. Un sistem proiectat prost sau necorespunzător poate duce la degradarea performanței, iar sistemul ar putea să nu îndeplinească cerința. Cel puțin, serviciile de testare a performanței și a failover-ului ar trebui făcute într-un mediu Hadoop.
Testarea performanței include testarea timpului de finalizare a lucrărilor, utilizarea memoriei, transferul de date și valori similare ale sistemului. În timp ce motivul serviciului de testare Failover este de a verifica dacă prelucrarea datelor are loc fără probleme în caz de eșec al nodurilor de date
Test de performanta
Testarea performanței pentru Big Data include două acțiuni principale
- Ingerarea datelor ș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 anumit interval de timp. De asemenea, include cât de rapid pot fi inserate datele în depozitul de date de bază, de exemplu rata de inserare într-o bază de date Mongo și Cassandra.
- Prelucrarea datelor : implică verificarea vitezei cu care sunt executate interogările sau harta de reducere a lucrărilor. De asemenea, include testarea procesării datelor în mod izolat atunci când stocul de date subiacent este completat în seturile de date. De exemplu, rularea lucrărilor Map Reduce pe HDFS-ul subiacent
- Performanța subcomponentelor: Aceste sisteme sunt alcătuite din mai multe componente și este esențial să testați fiecare dintre aceste componente izolat. De exemplu, cât de repede este indexat și consumat mesajul, joburile MapReduce, performanța interogării, căutarea etc.
Abordarea testării performanței
Testarea performanței pentru aplicația de date mari implică testarea unor volume imense de date structurate și nestructurate și necesită o abordare de testare specifică pentru a testa astfel de date masive.
Testarea performanței este executată în această ordine
- Procesul începe cu setarea cluster-ului Big Data, care urmează să fie testat pentru performanță
- Identificați și proiectați sarcinile de lucru corespunzătoare
- Pregătiți clienți individuali (sunt create scripturi personalizate)
- Executați testul și analizați rezultatul (dacă obiectivele nu sunt îndeplinite, reglați componenta și executați din nou)
- Configurare optimă
Parametrii pentru testarea performanței
Diversi 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ă creșterea jurnalului de comitere
- Concurență: câte fire poate efectua operația de scriere și citire
- Memorarea în cache: reglați setarea memoriei cache „rând cache” și „memorie cache cheie”.
- Expirări: valori pentru expirarea conexiunii, expirarea interogării etc.
- Parametrii JVM: dimensiunea heap-ului, algoritmi de colectare GC etc.
- Harta reduce performanța: Sortează, îmbină etc.
- Coadă de mesaje: rata mesajului, dimensiunea etc.
Nevoi de mediu de testare
Mediul de testare trebuie să depindă de tipul aplicației 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 și date distribuite
- Ar trebui să aibă o utilizare minimă a procesorului ș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 tradițională a bazelor de date |
Testarea datelor mari |
---|---|---|
Date |
|
|
Abordarea de testare |
|
|
Strategia de testare |
|
|
Infrastructură |
|
|
Instrumente de validare |
Tester utilizează fie macrocomenzile bazate pe Excel, fie instrumentele de automatizare bazate pe interfața de utilizare |
Nu există 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 bază de operare și mai puțină instruire. |
Este nevoie de un set specific de abilități și instruire pentru a opera un instrument de testare. De asemenea, instrumentele sunt în stadiul lor incipient și, în timp, poate veni cu noi caracteristici. |
Instrumente utilizate în scenarii Big Data
Big Data Cluster |
Instrumente Big Data |
---|---|
NoSQL: |
|
MapReduce: |
|
Depozitare: |
|
Servere: |
|
Prelucrare |
|
Provocări în testarea Big Data
- Automatizare
Testarea automatizată pentru Big Data necesită o persoană cu experiență 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șinilor virtuale creează probleme de sincronizare în testarea performanței datelor mari în timp real. De asemenea, gestionarea imaginilor în Big Data este o problemă.
- Set de date mare
- Trebuie să verificați mai multe date și trebuie să le faceți mai repede
- Trebuie să automatizăm efortul de testare
- Trebuie să puteți testa pe diferite platforme
Provocări de testare a performanței
- Set divers de tehnologii : Fiecare subcomponentă aparține unei tehnologii diferite și necesită testare izolată
- Indisponibilitatea instrumentelor specifice : niciun instrument nu poate efectua testarea de la capăt la cap. De exemplu, NoSQL s-ar putea să nu se potrivească pentru cozile de mesaje
- Testarea scripturilor : este necesar un grad ridicat de scriptare pentru proiectarea scenariilor de testare și testarea cazurilor
- Mediu de testare : are nevoie de un mediu de testare special datorită dimensiunii mari a datelor
- Soluție de monitorizare : există soluții limitate care pot monitoriza întregul mediu
- Soluție de diagnosticare : este necesară o soluție personalizată pentru a detalia zonele de blocaj de performanță
rezumat
- Pe măsură ce ingineria datelor și analiza datelor avansează la un nivel următor, testarea datelor mari este inevitabilă.
- Prelucrarea datelor mari poate fi Batch, în timp real sau interactiv
- 3 etape ale testării aplicațiilor Big Data sunt
- Validarea etapelor de date
- Validare „MapReduce”
- Faza de validare a ieșirii
- Testarea arhitecturii este faza importantă a testării Big Data, deoarece un sistem prost conceput poate duce la erori fără precedent și degradarea performanței
- Testarea performanței pentru Big Data include verificarea
- Debit de date
- Procesarea datelor
- Performanța subcomponentelor
- Testarea datelor mari este foarte diferită de testarea tradițională a datelor în ceea ce privește instrumentele de date, infrastructură și validare
- Provocările Big Data Testing includ virtualizarea, automatizarea testelor și gestionarea seturilor de date mari. Testarea performanței aplicațiilor Big Data este, de asemenea, o problemă.