Big Data Test Tutorial: Hvad er, strategi, hvordan man tester Hadoop

Big Data test

Big Data test er en testproces af en big data-applikation for at sikre, at alle funktionerne i en big data-applikation fungerer som forventet. Målet med big data test er at sikre, at big data systemet kører problemfrit og fejlfrit, samtidig med at ydeevnen og sikkerheden bevares.

Big data er en samling af store datasæt, der ikke kan behandles ved hjælp af traditionelle computerteknikker. Test af disse datasæt involverer forskellige værktøjer, teknikker og rammer at behandle. Big data relaterer sig til dataoprettelse, lagring, genfinding og analyse, der er bemærkelsesværdig med hensyn til volumen, variation og hastighed. Du kan lære mere om Big Data, Hadoop og MapReduce link.

Hvad er Big Data-teststrategi?

Test af Big Data-applikation er mere verifikation af dens databehandling i stedet for at teste softwareproduktets individuelle funktioner. Når det kommer til big data test, ydeevne og funktionstest er nøglerne.

I Big Data-teststrategien verificerer QA-ingeniører den vellykkede behandling af terabyte data ved hjælp af vareklynge og andre understøttende komponenter. Det kræver et højt niveau af testfærdigheder, da behandlingen er meget hurtig. Behandlingen kan være af tre typer

Big Data teststrategi

Sammen med dette er datakvalitet også en vigtig faktor i Hadoop-test. Før test af applikationen, er det nødvendigt at kontrollere kvaliteten af ​​data og bør betragtes som en del af databasetestning. Det involverer kontrol af forskellige egenskaber som overensstemmelse, nøjagtighed, duplikering, konsistens, gyldighed, datafuldstændighed, osv. Dernæst i denne Hadoop Test tutorial, vil vi lære, hvordan man tester Hadoop applikationer.

Sådan tester du Hadoop-applikationer

Følgende figur giver et overblik på højt niveau over faser i test af Big Data-applikationer

Test Hadoop-applikationer

Big Data Testing eller Hadoop Testing kan overordnet opdeles i tre trin

Trin 1: Validering af datainddeling

Det første trin i denne big data test tutorial omtales som pre-Hadoop fase involverer procesvalidering.

  • Data fra forskellige kilder som RDBMS, weblogs, sociale medier osv. bør valideres for at sikre, at korrekte data trækkes ind i systemet
  • Sammenligning af kildedata med de data, der er skubbet ind i Hadoop-systemet for at sikre, at de matcher
  • Bekræft, at de rigtige data er udtrukket og indlæst på den korrekte HDFS-placering

Værktøjer som Talent, Datamaskine, kan bruges til validering af datastage

Trin 2: "MapReduce"-validering

Det andet trin er en validering af "MapReduce". På dette trin verificerer Big Data-testeren forretningslogikvalideringen på hver node og validerer dem derefter efter at have kørt mod flere noder, hvilket sikrer, at

  • Kort Reducer-processen fungerer korrekt
  • Regler for dataaggregering eller adskillelse implementeres på dataene
  • Nøgleværdipar genereres
  • Validering af data efter Map-Reduce-processen

Trin 3: Outputvalideringsfase

Den sidste eller tredje fase af Hadoop-testning er outputvalideringsprocessen. Outputdatafilerne er genereret og klar til at blive flyttet til et EDW (Enterprise Data Warehouse) eller et hvilket som helst andet system baseret på kravet.

Aktiviteter i tredje fase omfatter

  • For at kontrollere, at transformationsreglerne er anvendt korrekt
  • For at kontrollere dataintegriteten og vellykket dataindlæsning i målsystemet
  • For at kontrollere, at der ikke er datakorruption, ved at sammenligne måldataene med HDFS-filsystemets data

Architecture Test

Hadoop behandler meget store mængder data og er meget ressourcekrævende. Derfor er arkitektonisk testning afgørende for at sikre succesen af ​​dit Big Data-projekt. Et dårligt eller forkert designet system kan føre til ydeevneforringelse, og systemet kan ikke opfylde kravet. I det mindste Ydeevne og failover test tjenester skal udføres i et Hadoop-miljø.

Ydelsestest omfatter test af jobafslutningstid, hukommelsesudnyttelse, datagennemstrømning og lignende systemmålinger. Mens motivet for Failover-testservice er at verificere, at databehandling sker problemfrit i tilfælde af svigt af dataknudepunkter

Test af ydeevne

Ydelsestest for Big Data omfatter to hovedhandlinger

  • Dataindtagelse og hele vejen igennem: I denne fase verificerer Big Data-testeren, hvordan det hurtige system kan forbruge data fra forskellige datakilder. Test involverer at identificere en anden besked, som køen kan behandle i en given tidsramme. Det inkluderer også, hvor hurtigt data kan indsættes i det underliggende datalager, f.eks. indsættelseshastighed i en Mongo og Cassandra database.
  • Databehandling: Det indebærer at verificere den hastighed, hvormed forespørgslerne eller kortet reducerer job udføres. Det inkluderer også at teste databehandlingen isoleret, når det underliggende datalager er udfyldt i datasættene. For eksempel at køre Map Reduce-job på det underliggende HDFS
  • Sub-komponent ydeevne: Disse systemer består af flere komponenter, og det er vigtigt at teste hver af disse komponenter isoleret. For eksempel, hvor hurtigt beskeden indekseres og forbruges, MapReduce-job, forespørgselsydeevne, søgning osv.
  • Præstationstestmetode

    Ydelsestest for big data-applikationer involverer test af enorme mængder af strukturerede og ustrukturerede data, og det kræver en specifik testmetode for at teste så massive data.

    Præstationstestmetode

    Ydelsestest udføres i denne rækkefølge

    1. Processen begynder med indstillingen af ​​Big data-klyngen, som skal testes for ydeevne
    2. Identificer og design tilsvarende arbejdsbelastninger
    3. Forbered individuelle klienter (tilpassede scripts oprettes)
    4. Udfør testen og analyser resultatet (Hvis målene ikke nås, så tuner komponenten og genudfør)
    5. Optimal konfiguration

    Parametre til præstationstestning

    Forskellige parametre, der skal verificeres til præstationstest, er

    • Datalagring: Hvordan data lagres i forskellige noder
    • Commit logs: Hvor stor commit log får lov til at vokse
    • Samtidighed: Hvor mange tråde kan udføre skrive- og læseoperationer
    • Caching: Juster cache-indstillingen "row cache" og "key cache".
    • Timeouts: Værdier for forbindelsestimeout, forespørgselstimeout osv.
    • JVM-parametre: Heap-størrelse, GC-opsamlingsalgoritmer osv.
    • Kort reducerer ydeevnen: Sortering, fletning osv.
    • Beskedkø: Beskedhastighed, størrelse osv.

    Testmiljøbehov

    Testmiljøet skal afhænge af den type applikation, du tester. Til test af Big data-software bør testmiljøet omfatte

    • Det skal have plads nok til opbevaring og behandle en stor mængde data
    • Den skal have en klynge med distribuerede noder og data
    • Den skal have minimal CPU- og hukommelsesudnyttelse for at holde ydeevnen høj for at teste Big Data-ydeevnen

    Big data test vs. Traditionel databasetestning

    Ejendomme Traditionel databasetest Big data test
    data Testerarbejde med strukturerede data Tester arbejder med både strukturerede såvel som ustrukturerede data
    Testmetode Testmetoden er veldefineret og tidstestet Testmetoden kræver en fokuseret F&U-indsats
    Teststrategi Testeren har mulighed for at "Sampling"-strategi udføres manuelt eller "Exhaustive Verification"-strategi ved hjælp af automatiseringsværktøjet "Sampling"-strategi i Big data er en udfordring
    Infrastruktur Det kræver ikke et specielt testmiljø, da filstørrelsen er begrænset Det kræver et specielt testmiljø på grund af store datastørrelser og filer (HDFS)
    Valideringsværktøjer Testeren bruger enten den Excel-baserede makroer eller UI-baserede automatiseringsværktøjer Ingen definerede værktøjer, udvalget er stort fra programmeringsværktøjer som MapReduce til HIVEQL
    Testværktøjer Testværktøjer kan bruges med grundlæggende betjeningsviden og mindre træning. Det kræver et specifikt sæt færdigheder og træning at betjene et testværktøj. Værktøjerne er også i deres begyndelsesstadie, og med tiden kan de komme med nye funktioner.

    Værktøjer brugt i Big Data-scenarier

    Big data Cluster Big Data værktøjer
    NoSQL: CouchDB, Databaser MongoDB, Cassandra, Redis, ZooKeeper, HBase
    Kortreducer: Hadoop, Hive, Pig, Cascading, Oozie, Kafka, S4, MapR, Flume
    Opbevaring: S3, HDFS (Hadoop Distributed File System)
    servere: Elastisk, Heroku, Elastic, Google App Engine, EC2
    Behandles R, Yahoo! Pipes, Mechanical Turk, BigSheets, Datameer

    Udfordringer i Big Data Testing

    • Automation

      Test af automatisering for Big data kræver en person med teknisk ekspertise. Desuden er automatiserede værktøjer ikke udstyret til at håndtere uventede problemer, der opstår under test

    • Virtualisering

      Det er en af ​​de integrerede faser af test. Virtuel maskine latency skaber timing problemer i realtid big data performance test. Det er også besværligt at administrere billeder i Big data.

    • Stort datasæt
      • Har brug for at verificere flere data og skal gøre det hurtigere
      • Behov for at automatisere testindsatsen
      • Har brug for at kunne teste på tværs af forskellige platforme

    Udfordringer med præstationstest

    • Diverse sæt af teknologier: Hver delkomponent tilhører forskellig teknologi og kræver afprøvning isoleret
    • Manglende tilgængelighed af specifikke værktøjer: Intet enkelt værktøj kan udføre end-to-end-testen. For eksempel, NoSQL passer muligvis ikke til beskedkøer
    • Test scripting: En høj grad af scripting er nødvendig for at designe testscenarier og testcases
    • Test miljø: Den har brug for et specielt testmiljø på grund af den store datastørrelse
    • Overvågningsløsning: Der findes begrænsede løsninger, der kan overvåge hele miljøet
    • Diagnostisk løsning: Der kræves en skræddersyet løsning at udvikle for at bore ned i ydeevneflaskehalsområderne

    Resumé

    • Efterhånden som datateknik og dataanalyse går videre til et næste niveau, er Big data-test uundgåeligt.
    • Big data-behandling kan være batch, realtid eller interaktiv
    • 3 stadier af test af Big Data-applikationer er validering af datainddeling, "MapReduce"-validering og outputvalideringsfase
    • Architecture Test er den vigtige fase af Big data test, da dårligt designet system kan føre til hidtil usete fejl og forringelse af ydeevnen
    • Ydelsestest for Big data omfatter verificering af datagennemstrømning, databehandling og ydeevne af underkomponenter
    • Big data-test er meget forskellig fra traditionel datatest med hensyn til data, infrastruktur og valideringsværktøjer
    • Big Data Test-udfordringer omfatter virtualisering, testautomatisering og håndtering af store datasæt. Ydelsestest af Big Data-applikationer er også et problem.