Big Data Testing
Big Data Testing er en testprosess av et big data-program for å sikre at alle funksjonene til et big data-program fungerer som forventet. Målet med big data testing er å sørge for at big data-systemet kjører problemfritt og feilfritt mens ytelsen og sikkerheten opprettholdes.
Big data er en samling av store datasett som ikke kan behandles ved bruk av tradisjonelle databehandlingsteknikker. Testing av disse datasettene innebærer forskjellige verktøy, teknikker og rammer å behandle. Big data er knyttet til dataoppretting, lagring, henting og analyse som er bemerkelsesverdig når det gjelder volum, variasjon og hastighet. Du kan lære mer om Big Data, Hadoop og MapReduce her
I denne Big Data Testing tutorial vil du lære-
- Hva er Big Data Testing Strategy?
- Hvordan teste Hadoop-applikasjoner
- Arkitekturtesting
- Ytelsestesting
- Performance Testing Approach
- Parametere for ytelsestesting
- Test miljøbehov
- Big data Testing vs. Tradisjonell databasetesting
- Verktøy som brukes i Big Data Scenarios
- Utfordringer i Big Data Testing
Hva er Big Data Testing Strategy?
Å teste Big Data-applikasjonen er mer bekreftelse av databehandlingen i stedet for å teste programvarens individuelle funksjoner. Når det gjelder Big Data-testing, er ytelse og funksjonell testing nøklene.
I Big Data-teststrategi verifiserer QA-ingeniører vellykket behandling av terabyte med data ved hjelp av råvareklynger og andre støttende komponenter. Det krever et høyt nivå av testferdigheter ettersom behandlingen er veldig rask. Behandlingen kan være av tre typer
Sammen med dette er datakvaliteten også en viktig faktor i Hadoop-testing. Før du tester applikasjonen, er det nødvendig å kontrollere kvaliteten på dataene og bør betraktes som en del av databasetesting. Det innebærer å sjekke forskjellige egenskaper som samsvar, nøyaktighet, duplisering, konsistens, gyldighet, datafullstendighet, etc. Neste i denne Hadoop Testing-opplæringen vil vi lære å teste Hadoop-applikasjoner.
Hvordan teste Hadoop-applikasjoner
Følgende figur gir et høyt nivå oversikt over faser i Testing Big Data Applications
Big Data Testing eller Hadoop Testing kan deles opp i tre trinn
Trinn 1: Validering av datastaging
Det første trinnet i denne testdataveiledningen for store data blir referert til som pre-Hadoop-trinnet innebærer prosessvalidering.
- Data fra forskjellige kilder som RDBMS, weblogger, sosiale medier osv. Bør valideres for å sikre at riktige data blir trukket inn i systemet
- Sammenligning av kildedata med dataene som skyves inn i Hadoop-systemet for å sikre at de samsvarer
- Kontroller at riktige data er hentet ut og lastet inn på riktig HDFS-plassering
Verktøy som Talend , Datameer, kan brukes til validering av datastaging
Trinn 2: "MapReduce" validering
Det andre trinnet er en validering av "MapReduce". I dette stadiet verifiserer Big Data-testeren valideringen av forretningslogikken på hver node og deretter validerer den etter å ha kjørt mot flere noder, og sørger for at
- Map Reduce-prosessen fungerer riktig
- Dataaggregerings- eller segregeringsregler er implementert på dataene
- Nøkkelverdipar genereres
- Validering av dataene etter Map-Reduce-prosessen
Trinn 3: Valideringsfase for utgang
Den siste eller tredje fasen av Hadoop-testing er utvalideringsprosessen. Utdatafilene genereres og er klare til å bli flyttet til et EDW (Enterprise Data Warehouse) eller ethvert annet system basert på kravet.
Aktiviteter i tredje trinn inkluderer
- For å kontrollere at transformasjonsreglene er riktig brukt
- For å sjekke dataintegriteten og vellykket datainnlasting i målsystemet
- For å kontrollere at det ikke er datakorrupsjon ved å sammenligne måldataene med HDFS-filsystemdataene
Arkitekturtesting
Hadoop behandler veldig store datamengder og er svært ressurskrevende. Derfor er arkitektonisk testing avgjørende for å sikre suksessen til Big Data-prosjektet. Et dårlig eller feil designet system kan føre til ytelsesforringelse, og systemet kan ikke oppfylle kravet. I det minste bør ytelsestest og failover-testtjenester gjøres i et Hadoop-miljø.
Ytelsestesting inkluderer testing av fullføringstid, minneutnyttelse, datakapasitet og lignende systemberegninger. Mens motivet til Failover-testtjenesten er å verifisere at databehandling skjer sømløst i tilfelle feil på datanoder
Ytelsestesting
Performance Testing for Big Data inkluderer to hovedhandlinger
- Inntak av data og gjennom : I dette stadiet verifiserer Big Data-testeren hvordan det raske systemet kan konsumere data fra forskjellige datakilder. Testing innebærer å identifisere en annen melding som køen kan behandle i en gitt tidsramme. Det inkluderer også hvor raskt data kan settes inn i det underliggende datalageret, for eksempel innsettingshastighet i en Mongo- og Cassandra-database.
- Databehandling : Det innebærer å verifisere hastigheten som spørringer eller kart reduserer jobber utføres. Det inkluderer også testing av databehandlingen isolert når den underliggende datalageret er fylt ut i datasettene. For eksempel å kjøre Map Reduce-jobber på den underliggende HDFS
- Underkomponentytelse : Disse systemene består av flere komponenter, og det er viktig å teste hver av disse komponentene isolert. For eksempel hvor raskt meldingen blir indeksert og konsumert, MapReduce-jobber, spørringsytelse, søk osv.
Performance Testing Approach
Ytelsestesting for big data-applikasjon innebærer testing av store mengder strukturerte og ustrukturerte data, og det krever en spesifikk testtilnærming for å teste slike massive data.
Ytelsestesting utføres i denne rekkefølgen
- Prosessen begynner med innstillingen av Big data-klyngen som skal testes for ytelse
- Identifiser og utform tilsvarende arbeidsmengder
- Forbered individuelle kunder (egendefinerte skript blir opprettet)
- Utfør testen og analyserer resultatet (Hvis målene ikke oppnås, still inn komponenten og kjør den på nytt)
- Optimal konfigurasjon
Parametere for ytelsestesting
Forskjellige parametere som skal verifiseres for ytelsestesting er
- Datalagring: Hvordan data lagres i forskjellige noder
- Forpliktelseslogger: Hvor stor forpliktelsesloggen får vokse
- Samtidighet: Hvor mange tråder som kan utføre skrive- og leseoperasjon
- Cache: Still inn hurtigbufferinnstillingen "radbuffer" og "nøkkelbuffer."
- Tidsavbrudd: Verdier for tidsavbrudd for tilkobling, tidsavbrudd for spørring osv.
- JVM-parametere: Massestørrelse, GC-samlingsalgoritmer, etc.
- Kart reduserer ytelsen: Sorterer, fletter osv.
- Meldingskø: Meldingsfrekvens, størrelse osv.
Test miljøbehov
Testmiljøet må avhenge av typen applikasjon du tester. For testing av Big data-programvare bør testmiljøet omfatte
- Den skal ha nok plass til lagring og behandle en stor mengde data
- Den skal ha en klynge med distribuerte noder og data
- Den skal ha minimum CPU og minneutnyttelse for å holde ytelsen høy for å teste Big Data-ytelsen
Big data Testing vs. Tradisjonell databasetesting
Eiendommer |
Tradisjonell databasetesting |
Big data testing |
---|---|---|
Data |
|
|
Testing Approach |
|
|
Testing Strategi |
|
|
Infrastruktur |
|
|
Valideringsverktøy |
Tester bruker enten de Excel-baserte makroene eller UI-baserte automatiseringsverktøyene |
Ingen definerte verktøy, området er stort fra programmeringsverktøy som MapReduce til HIVEQL |
Testverktøy |
Testverktøy kan brukes med grunnleggende driftskunnskap og mindre opplæring. |
Det krever et spesifikt sett med ferdigheter og opplæring for å bruke et testverktøy. Verktøyene er også i begynnelsen, og over tid kan det komme med nye funksjoner. |
Verktøy som brukes i Big Data Scenarios
Big Data Cluster |
Big Data-verktøy |
---|---|
NoSQL: |
|
Kart reduksjon: |
|
Oppbevaring: |
|
Servere: |
|
Behandling |
|
Utfordringer i Big Data Testing
- Automasjon
Automatiseringstesting for Big data krever noen med teknisk ekspertise. Også automatiserte verktøy er ikke utstyrt for å håndtere uventede problemer som oppstår under testing
- Virtualisering
Det er en av de integrerte testfasene. Tidsforsinkelse for virtuell maskin skaper timingproblemer i sanntidstesting av stordata. Det er også vanskelig å administrere bilder i Big data.
- Stort datasett
- Trenger å verifisere mer data og må gjøre det raskere
- Trenger å automatisere testinnsatsen
- Trenger å kunne teste på tvers av forskjellige plattformer
Utfordringer for ytelsestesting
- Ulike teknologisett : Hver underkomponent tilhører forskjellig teknologi og krever testing isolert
- Utilgjengelighet av spesifikke verktøy : Ingen enkelt verktøy kan utføre end-to-end-testing. For eksempel kan NoSQL ikke passe for meldingskøer
- Test scripting : Det kreves en høy grad av scripting for å designe testscenarier og testtilfeller
- Testmiljø : Det trenger et spesielt testmiljø på grunn av den store datastørrelsen
- Overvåkingsløsning : Det finnes begrensede løsninger som kan overvåke hele miljøet
- Diagnostisk løsning : Det kreves en tilpasset løsning for å utvikle for å bore ytelsen på flaskehalsområdet
Sammendrag
- Når datateknikk og dataanalyse går videre til et neste nivå, er Big Data-testing uunngåelig.
- Stor databehandling kan være batch, sanntid eller interaktiv
- Tre trinn med å teste Big Data-applikasjoner er
- Validering av datastaging
- Validering av "MapReduce"
- Valideringsfase for utgang
- Arkitekturtesting er den viktige fasen i Big Data-testing, da dårlig designet system kan føre til enestående feil og forringelse av ytelsen
- Ytelsestesting for Big data inkluderer verifisering
- Datakapasitet
- Databehandling
- Underkomponentytelse
- Big data testing er veldig forskjellig fra tradisjonell datatesting når det gjelder data, infrastruktur og valideringsverktøy
- Big Data Testing utfordringer inkluderer virtualisering, testautomatisering og håndtering av store datasett. Ytelsestesting av Big Data-applikasjoner er også et problem.