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

Indholdsfortegnelse:

Anonim

Big Data Testing

Big Data Testing 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 ydelsen og sikkerheden opretholdes.

Big data er en samling af store datasæt, der ikke kan behandles ved hjælp af traditionelle computingsteknikker. Test af disse datasæt involverer forskellige værktøjer, teknikker og rammer, der skal behandles. Big data vedrører oprettelse, lagring, hentning og analyse af data, der er bemærkelsesværdigt med hensyn til volumen, variation og hastighed. Du kan lære mere om Big Data, Hadoop og MapReduce her

I denne Big Data Testing tutorial lærer du-

  • Hvad er Big Data Testing Strategy?
  • Sådan testes Hadoop-applikationer
  • Arkitekturtest
  • Test af ydeevne
  • Metode til præstationstest
  • Parametre til ydelsestest
  • Test miljøbehov
  • Big data Testing vs. Traditionel databasetest
  • Værktøjer, der bruges i Big Data Scenarios
  • Udfordringer i Big Data Testing

Hvad er Big Data Testing Strategy?

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

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

Sammen med dette er datakvaliteten også en vigtig faktor i Hadoop-test. Inden test af applikationen er det nødvendigt at kontrollere datakvaliteten og bør betragtes som en del af databasetest. Det indebærer kontrol af forskellige karakteristika som overensstemmelse, nøjagtighed, duplikering, konsistens, validitet, datafuldstændighed osv. Næste i denne Hadoop-testvejledning vil vi lære at teste Hadoop-applikationer.

Sådan testes Hadoop-applikationer

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

Big Data Testing eller Hadoop Testing kan stort set opdeles i tre trin

Trin 1: Validering af datastaging

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

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

Værktøjer som Talend , Datameer, kan bruges til validering af datastaging

Trin 2: Validering af "MapReduce"

Det andet trin er en validering af "MapReduce". I dette trin verificerer Big Data-testeren validering af forretningslogik på hver node og valideres derefter efter kørsel mod flere noder, hvilket sikrer, at

  • Map Reduce-processen fungerer korrekt
  • Dataaggregations- eller adskillelsesregler implementeres på dataene
  • Nøgleværdipar genereres
  • Validering af data efter Map-Reduce-processen

Trin 3: Valideringsfase for output

Den sidste eller tredje fase af Hadoop-test er outputvalideringsprocessen. Outputdatafiler genereres og er klar til at blive flyttet til et EDW (Enterprise Data Warehouse) eller ethvert andet system baseret på kravet.

Aktiviteter i tredje fase inkluderer

  • For at kontrollere, at transformationsreglerne anvendes korrekt
  • For at kontrollere dataintegriteten og vellykket datalæsning i målsystemet
  • For at kontrollere, at der ikke er nogen datakorruption ved at sammenligne måldataene med HDFS-filsystemdataene

Arkitekturtest

Hadoop behandler meget store datamængder og er meget ressourceintensiv. Derfor er arkitektonisk test afgørende for at sikre succes med dit Big Data-projekt. Et dårligt eller forkert designet system kan føre til forringelse af ydeevnen, og systemet kan muligvis ikke opfylde kravet. I det mindste skal ydelsestest og failover-testtjenester udføres i et Hadoop-miljø.

Ydelsestest inkluderer test af jobafslutningstid, hukommelsesudnyttelse, datakapacitet og lignende systemmålinger. Mens motivet for Failover-testtjenesten er at kontrollere, at databehandling sker problemfrit i tilfælde af svigt af datanoder

Test af ydeevne

Performance Testing for Big Data inkluderer to hovedhandlinger

  • Dataindtagelse og igennem : I dette trin 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, for eksempel indsættelseshastighed i en Mongo- og Cassandra-database.
  • Databehandling : Det involverer at kontrollere den hastighed, hvormed forespørgsler eller kort reducerer job udføres. Det inkluderer også test af databehandlingen isoleret, når den underliggende datalager er befolket inden for datasættene. For eksempel kører Map Reduce-job på den underliggende HDFS
  • Underkomponents ydeevne : Disse systemer består af flere komponenter, og det er vigtigt at teste hver af disse komponenter isoleret. For eksempel hvor hurtigt meddelelsen indekseres og forbruges, MapReduce-job, forespørgselsydeevne, søgning osv.

Metode til præstationstest

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

Performance Testing udføres i denne rækkefølge

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

Parametre til ydelsestest

Der er forskellige parametre, der skal verificeres til ydelsestest

  • Datalagring: Hvordan data lagres i forskellige noder
  • Forpligtelseslogfiler: Hvor stor forpligtelsesloggen får lov til at vokse
  • Samtidighed: Hvor mange tråde kan udføre skrive- og læseoperation
  • Cache: Indstil cacheindstillingen "række cache" og "nøgle cache."
  • Timeouts: Værdier for timeout for forbindelse, timeout for forespørgsler osv.
  • JVM-parametre: Bunkestørrelse, GC-samlingsalgoritmer osv.
  • Kort reducerer ydeevne: Sorterer, fletter osv.
  • Beskedkø: Beskedfrekvens, størrelse osv.

Test miljøbehov

Testmiljø skal afhænge af, hvilken type applikation du tester. Til Big Data-softwaretest skal testmiljøet omfatte

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

Big data Testing vs. Traditionel databasetest

Ejendomme

Traditionel databasetest

Big data test

Data

  • Tester arbejde med strukturerede data
  • Tester arbejder med både strukturerede såvel som ustrukturerede data

Testmetode

  • Testmetoden er veldefineret og tidstestet
  • Testmetoden kræver målrettet F & U-indsats

Teststrategi

  • Tester har muligheden for "Sampling" -strategi, der udføres manuelt eller "Udtømmende verifikation" -strategi 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 stor datastørrelse og filer (HDFS)

Valideringsværktøjer

Tester bruger enten de Excel-baserede makroer eller UI-baserede automatiseringsværktøjer

Ingen definerede værktøjer, intervallet er stort fra programmeringsværktøjer som MapReduce til HIVEQL

Testværktøjer

Testværktøjer kan bruges med grundlæggende driftsviden og mindre træning.

Det kræver et specifikt sæt færdigheder og træning for at bruge et testværktøj. Værktøjerne er også i deres begyndende fase, og over tid kan det komme med nye funktioner.

Værktøjer, der bruges i Big Data Scenarios

Big Data Cluster

Big Data-værktøjer

NoSQL:

  • CouchDB, databaser MongoDB, Cassandra, Redis, ZooKeeper, HBase

MapReduce:

  • Hadoop, Hive, Pig, Cascading, Oozie, Kafka, S4, MapR, Flume

Opbevaring:

  • S3, HDFS (Hadoop distribueret filsystem)

Servere:

  • Elastisk, Heroku, Elastik, Google App Engine, EC2

Forarbejdning

  • R, Yahoo! Pipes, Mechanical Turk, BigSheets, Datameer

Udfordringer i Big Data Testing

  • Automatisering

    Automatiseringstestning af Big data kræver en person med teknisk ekspertise. Automatiske værktøjer er heller ikke udstyret til at håndtere uventede problemer, der opstår under testningen

  • Virtualisering

    Det er en af ​​de integrerede faser af testning. Latency på virtuel maskine skaber timingproblemer i realtid test af big data-ydelse. Det er også svært at administrere billeder i Big data.

  • Stort datasæt
    • Brug for at verificere flere data og skal gøre det hurtigere
    • Brug for at automatisere testindsatsen
    • Brug for at være i stand til at teste på tværs af forskellige platforme

Udfordringer til præstationstest

  • Forskelligt sæt teknologier : Hver underkomponent tilhører forskellige teknologier og kræver test isoleret
  • Utilgængelighed af specifikke værktøjer : Intet enkelt værktøj kan udføre end-to-end test. For eksempel passer NoSQL muligvis ikke til meddelelseskøer
  • Test Scripting : En høj grad af scripting er nødvendig for at designe testscenarier og testcases
  • Testmiljø : Det 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 : En brugerdefineret løsning er nødvendig for at udvikle til at bore ydelsesflaskehalsområderne ned

Resumé

  • Da datateknik og dataanalyse går videre til et næste niveau, er Big data-test uundgåelig.
  • Stor databehandling kan være batch, realtid eller interaktiv
  • 3 faser af testning af Big Data-applikationer er
    • Validering af datastaging
    • Validering af "MapReduce"
    • Validationsfase for output
  • Arkitekturtestning 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 inkluderer verifikation
    • Datakapacitet
    • Databehandling
    • Underkomponents ydeevne
  • Big data-test er meget forskellig fra traditionel datatest med hensyn til data-, infrastruktur- og valideringsværktøjer
  • Big Data Testing-udfordringer inkluderer virtualisering, testautomatisering og håndtering af store datasæt. Ydelsestest af Big Data-applikationer er også et problem.