Tutorial de testare Big Data: Ce este, strategie, cum se testează

⚡ Rezumat inteligent

Testarea Big Data verifică dacă o aplicație Big Data procesează terabytes de date corect, rapid și sigur, combinând validarea stadializării datelor, validarea MapReduce și validarea ieșirilor cu verificări ale arhitecturii și performanței într-un cluster Hadoop distribuit.

  • 🔘 Focus principal: Prelucrarea datelor în cadrul clusterului este validată, nu caracteristicile individuale ale produsului.
  • ☑️ Trei faze: Stadializarea datelor, MapReduce și validarea ieșirilor din fiecare ciclu de testare Hadoop.
  • Calitatea datelor pe primul loc: Conformitatea, acuratețea, duplicarea, consecvența, validitatea și caracterul complet se verifică înainte de testarea aplicației.
  • 🧪 Archichestiuni legate de textură: Serviciile de performanță și failover confirmă că clusterul supraviețuiește erorilor de nod fără a pierde randament.
  • 🛠️ Parametri de reglare: Sunt măsurate configurația spațiului de stocare, jurnalele de commit, concurența, memorarea în cache, timeout-urile și setările JVM.
  • ⚠️ Provocări cunoscute: Lacunele în competențe de automatizare, latența mașinilor virtuale și seturile de date uriașe complică testarea Big Data.

Tutorial de testare Big Data care acoperă strategia, fazele de testare Hadoop și testarea performanței

Ce este testarea Big Data?

Testarea Big Data este un proces de testare a unei aplicații Big Data pentru a se asigura că toate funcționalitățile unei aplicații Big Data funcționează conform așteptărilor. Scopul testării Big Data este de a se asigura că sistemul Big Data funcționează fără probleme și fără erori, menținând în același timp performanța și securitatea.

Big data reprezintă o colecție de seturi de date mari care nu pot fi procesate folosind tehnici tradiționale de calcul. Testarea acestor seturi de date implică diverse instrumente, tehnici și cadre de lucru pentru 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 Datele mari, Hadoop și MapReduce înainte de a începe testarea.

Ce este strategia de testare a datelor mari?

Testarea unei aplicații Big Data înseamnă mai degrabă verificarea procesării datelor sale decât testarea caracteristicilor individuale ale produsului software. Când vine vorba de testarea Big Data, testarea performanței și funcțională sunt esențiale.

Într-o strategie de testare Big Data, inginerii QA verifică procesarea cu succes a unor terabytes de date folosind un cluster commodity și alte componente de suport. Aceasta necesită un nivel ridicat de abilități de testare, deoarece procesarea este foarte rapidă. Procesarea poate fi de trei tipuri:

  • Procesare lot: Datele stocate sunt procesate conform unui program, astfel încât testele vizează finalizarea și acuratețea lucrărilor.
  • Procesare în timp real: Înregistrările sunt procesate la sosire, așadar testele vizează latența și pierderea de date.
  • Prelucrare interactivă: Analiștii efectuează interogări directe, așadar testele vizează timpul de răspuns la interogările ad-hoc.

Diagrama de mai jos rezumă strategia.

Diagrama strategiei de testare Big Data care prezintă tipurile de procesare a datelor verificate de inginerii QA

Pe lângă 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, iar acest lucru ar trebui considerat ca parte a testării bazei de date. Aceasta implică verificarea diverselor 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 să testezi aplicațiile Hadoop

Următoarea figură oferă o imagine de ansamblu asupra fazelor de testare a aplicațiilor Big Data.

Faze de nivel înalt ale testării aplicațiilor Big Data pe un cluster Hadoop

Testarea Big Data, sau testarea Hadoop, poate fi împărțită în general în trei etape.

Pasul 1: Validarea stadii de date

Primul pas din acest tutorial de testare Big Data este denumit etapa pre-Hadoop și implică validarea procesului.

  • Datele din diverse surse, cum ar fi RDBMS, bloguri, rețele sociale etc., ar trebui validate pentru a ne 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 extracîncărcat în locația corectă HDFS locaţie

Instrumente de genul Talend iar Datameer poate fi utilizat pentru validarea stadializării datelor.

Pasul 2: Validarea „MapReduce”.

Al doilea pas este validarea funcției „MapReduce”. În această etapă, testerul Big Data verifică validarea logicii de business pe fiecare nod și apoi o validează după rularea pe mai multe noduri, asigurându-se că:

  • Procesul MapReduce funcționează corect
  • Regulile de agregare sau segregare a datelor sunt implementate asupra datelor
  • Sunt generate perechi valori cheie
  • Validarea datelor după procesul MapReduce

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 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ă nicio corupție a datelor prin compararea datelor țintă cu datele sistemului de fișiere HDFS

ArchiTestare de tectură

Atenția se mută acum de la date la clusterul care le transportă.

Hadoop procesează volume foarte mari de date și consumă foarte multe 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, performanță iar serviciile de testare pentru failover ar trebui să fie rulate într-un mediu Hadoop.

Testarea performanței include testarea timpului de finalizare a lucrărilor, a utilizării memoriei, a debitului de date și a unor metrici similare ale sistemului. Scopul serviciului de testare failover este de a verifica dacă procesarea datelor are loc fără probleme în cazul unei defecțiuni a nodurilor de date.

Test de performanta

Testarea performanței pentru Big Data acoperă trei domenii principale.

  • Ingerarea și debitul datelor: În această etapă, testerul Big Data verifică cât de repede poate sistemul să consume date din diverse surse de date. Testarea implică identificarea numărului de mesaje pe care coada le poate procesa într-un interval de timp dat. De asemenea, include cât de repede pot fi inserate datele în depozitul de date subiacent, de exemplu, rata de inserare într-un MongoDB și Cassandra Bază de date.
  • Procesarea datelor: Implică verificarea vitezei cu care sunt executate interogările sau joburile MapReduce. De asemenea, include testarea procesării datelor în mod izolat atunci când depozitul de date subiacent este populat în seturile de date. De exemplu, rularea joburilor MapReduce pe HDFS-ul subiacent.
  • Performanța subcomponentelor: Aceste sisteme sunt alcătuite din mai multe componente și este esențial să se testeze fiecare dintre aceste componente în mod izolat. De exemplu, cât de repede este indexat și consumat mesajul, joburi MapReduce, performanța interogărilor, căutarea etc.

Abordarea de testare a performanței

Testarea performanței pentru o aplicație Big Data 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.

Fluxul de lucru de mai jos prezintă secvența pe care o urmează un test de performanță.

Fluxul de lucru al abordării testării performanței, de la configurarea clusterului Big Data până la configurația optimă

Testarea performanței se execută în această ordine.

  1. Procesul începe cu configurarea clusterului Big Data, care urmează să fie testat pentru performanță.
  2. Identificați și proiectați sarcinile de lucru corespunzătoare
  3. Pregătirea clienților individuali (se creează scenarii personalizate)
  4. Executați testul și analizați rezultatele (dacă obiectivele nu sunt îndeplinite, atunci reglați componenta și executați-o din nou)
  5. Configurație optimă

Parametri pentru testarea performanței

Diverși parametri care trebuie verificați pentru testarea performanței sunt:

  • Stocare a datelor: Cum sunt stocate datele în diferite noduri
  • Jurnalele de validare: Cât de mare poate crește jurnalul de commit-uri
  • Concurență: Câte fire de execuție pot efectua operațiuni de scriere și citire
  • Memorarea în cache: Reglați setările cache „cache de rânduri” și „cache de chei”
  • Timeouts: Valori pentru timeout-ul conexiunii, timeout-ul interogării etc.
  • Parametrii JVM: Dimensiunea heap-ului, algoritmi de colectare GC etc.
  • Performanța MapReduce: Sortează, îmbină etc.
  • Coadă de mesaje: Rata mesajelor, dimensiunea etc.

Nevoile mediului de testare

Nevoile mediului de testare depind de tipul de aplicație pe care o testați. Pentru testarea software-ului Big Data, mediul de testare ar trebui să cuprindă următoarele.

  • Ar trebui să aibă suficient spațiu pentru stocarea și procesarea unei cantități mari 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 Big Data vs. testarea tradițională a bazelor de date

Tabelul de mai jos compară cele două discipline, proprietate cu proprietate.

Proprietăţi Testarea bazelor de date tradiționale Testarea Big Data
Date Testerul 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” realizată manual sau a strategiei de „Verificare exhaustivă” realizată prin intermediul unui instrument 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 macrocomenzi bazate pe Excel, fie instrumente de automatizare bazate pe interfața utilizator 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 operare de bază ș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 stadiu incipient și, în timp, pot veni cu noi funcționalități.

Instrumente utilizate în scenariile Big Data

Tabelul de mai jos grupează instrumentele comune în funcție de stratul clusterului.

Datele mari Cluster Instrumente de date mari
NoSQL: CouchDB, Baze de date MongoDB, Cassandra, Redis, ZooKeeper, HBase
MapReduce: Hadoop, Stup, Porc, Cascadă, Oozie, Kafka, S4, MapR, uluc
Depozitare: S3, HDFS (Sistem de fișiere distribuit Hadoop)
Servere: elastic, Heroku, Google Motor de aplicații, EC2
Prelucrare: R, Yahoo! Tevi, Mechanical Turk, BigSheets, Datameer

Provocări în testarea Big Data

Trei obstacole practice apar în aproape fiecare proiect 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 gestiona problemele neașteptate care apar în timpul testării.
  • Virtualizare: Este una dintre fazele integrante ale testării. Latența mașinilor 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 de date mare: Trei presiuni vin la pachet cu volum.
    • Trebuie să verificați mai multe date și trebuie să o faceți mai rapid
    • Trebuie automatizat efortul de testare
    • Trebuie să poț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 separată.
  • Indisponibilitatea anumitor instrumente: Niciun instrument singular nu poate efectua testarea end-to-end. De exemplu, NoSQL s-ar putea să nu fie potrivit pentru cozile de mesaje.
  • Scriptare de testare: Este necesar un grad ridicat de scriptare pentru a proiecta scenarii de testare și cazuri de testare
  • Mediu de testare: Necesită 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 diagnosticare: Este necesară o soluție personalizată pentru a analiza în detaliu zonele cu probleme de performanță.

Întrebări frecvente

Calitatea datelor este verificată ca parte a testării bazei de date, înainte de începerea testării aplicației. Testerii verifică conformitatea, acuratețea, duplicarea, consecvența, validitatea și caracterul complet și caută valori nule, probleme de codificare și schimbări de coloane.

IA generează date de testare sintetice care reflectă producția fără a expune înregistrări private, semnalează anomaliile din fluxul de lucru pe care regulile fixe le ratează și prioritizează verificările de validare care urmează să fie executate. Revizuirea umană a logicii de business rămâne esențială.

Copilot și asistenții agenți similari accelerează funcționarea standard: interogări de comparație HiveQL, PySpark aserțiuni și scripturi de reconciliere. Rulați mai întâi codul generat pe un set de date cunoscut ca fiind valid, deoarece o interogare plauzibilă poate valida coloanele greșite.

Validarea schemei confirmă faptul că înregistrările primite conțin câmpurile, tipurile și nulitatea așteptate înainte de a ajunge la HDFS sau la un depozit NoSQL. Detectarea derivei schemei la ingestie costă mult mai puțin decât tracafișând ulterior ieșirea coruptă.

Echipele combină un subset mascat eșantionat din producție, înregistrări generate care evidențiază cazuri limită, cum ar fi valorile nule și valorile aberante, și fluxuri istorice reluate. Eșantionarea singură este riscantă, deoarece înregistrările rare cauzează erorile care merită găsite.

Testarea ETL validează încărcările structurate într-un depozit cu instrumente definite și volume previzibile. Testarea Big Data acoperă datele structurate și nestructurate pe un cluster distribuit, unde validarea este scrisă în MapReduce sau HiveQL.

Măsurați rata de ingerare în funcție de dimensiunea mesajului, injectați un backlog pentru a confirma că se recuperează coada și închideți un nod în timpul fluxului pentru a verifica dacă nu s-a pierdut nimic. Comparați o fereastră numărată de evenimente sursă cu sink-ul.

SQL și HiveQL, un limbaj pentru MapReduce sau Spark locuri de muncă, cunoștințe practice despre HDFS și un depozit NoSQL, plus scripting pentru sisteme de testare. Raționamentul analitic contează mai mult, deoarece nu există un singur instrument complet.

Rezumați această postare cu: