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
- Processen begynder med indstillingen af Big data-klyngen, der skal testes for ydeevne
- Identificer og design tilsvarende arbejdsbelastninger
- Forbered individuelle klienter (brugerdefinerede scripts oprettes)
- Udfør testen og analyser resultatet (Hvis målene ikke nås, skal du indstille komponenten og udføre den igen)
- 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 |
|
|
Testmetode |
|
|
Teststrategi |
|
|
Infrastruktur |
|
|
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: |
|
MapReduce: |
|
Opbevaring: |
|
Servere: |
|
Forarbejdning |
|
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.