Big Data Testing
Big Data Testing är en testprocess för en stor dataprogram för att säkerställa att alla funktioner i en big data-applikation fungerar som förväntat. Målet med big data-testning är att se till att big data-systemet fungerar smidigt och felfritt samtidigt som prestanda och säkerhet bibehålls.
Big data är en samling stora datamängder som inte kan bearbetas med traditionell datateknik. Testning av dessa datamängder innefattar olika verktyg, tekniker och ramar att bearbeta. Stora data avser skapande, lagring, hämtning och analys av data som är anmärkningsvärt när det gäller volym, variation och hastighet. Du kan lära dig mer om Big Data, Hadoop och MapReduce här
I denna Big Data Testing-handledning lär du dig-
- Vad är Big Data Testing Strategy?
- Hur man testar Hadoop-applikationer
- Arkitekturtestning
- Prestandatester
- Metod för prestandatestning
- Parametrar för prestandatestning
- Testmiljöbehov
- Big data Testing Vs. Traditionell databasprovning
- Verktyg som används i Big Data Scenarios
- Utmaningar i Big Data Testing
Vad är Big Data Testing Strategy?
Att testa Big Data-applikationen är mer verifiering av dess databehandling snarare än att testa programvarans individuella funktioner. När det gäller Big Data-testning är prestanda och funktionstestning nycklarna.
I Big Data teststrategi verifierar QA-ingenjörer framgångsrik bearbetning av terabyte data med hjälp av råvarukluster och andra stödjande komponenter. Det kräver en hög nivå av testfärdigheter eftersom behandlingen är mycket snabb. Bearbetningen kan vara av tre typer
Tillsammans med detta är datakvaliteten också en viktig faktor i Hadoop-testning. Innan du testar applikationen är det nödvändigt att kontrollera datakvaliteten och bör ses som en del av databasprovningen. Det handlar om att kontrollera olika egenskaper som överensstämmelse, noggrannhet, duplicering, konsistens, giltighet, datafullständighet osv. Nästa i denna Hadoop-testhandledning lär vi oss hur man testar Hadoop-applikationer.
Hur man testar Hadoop-applikationer
Följande bild ger en överblick på hög nivå av faser vid testning av Big Data-applikationer
Big Data Testing eller Hadoop Testing kan i stort sett delas in i tre steg
Steg 1: Validering av datastaging
Det första steget i den här stora datatesthandledningen kallas pre-Hadoop-steget innefattar processvalidering.
- Data från olika källor som RDBMS, webbloggar, sociala medier etc. bör valideras för att säkerställa att korrekta data dras in i systemet
- Jämföra källdata med data som skjuts in i Hadoop-systemet för att se till att de matchar
- Kontrollera att rätt data extraheras och laddas till rätt HDFS-plats
Verktyg som Talend , Datameer, kan användas för validering av datastaging
Steg 2: "MapReduce" -validering
Det andra steget är en validering av "MapReduce". I detta skede verifierar Big Data-testaren valideringen av affärslogiken på varje nod och validerar dem sedan efter att ha körts mot flera noder, så att
- Map Reduce-processen fungerar korrekt
- Dataggregations- eller segregeringsregler implementeras på data
- Nyckelvärdepar genereras
- Validera data efter Map-Reduce-processen
Steg 3: Valideringsfas för utdata
Den sista eller tredje etappen av Hadoop-testningen är valideringsprocessen för utdata. Utdatafilerna genereras och är klara att flyttas till ett EDW (Enterprise Data Warehouse) eller något annat system baserat på kravet.
Aktiviteter i tredje etappen inkluderar
- För att kontrollera omvandlingsreglerna tillämpas korrekt
- För att kontrollera dataintegriteten och framgångsrik datainläsning i målsystemet
- För att kontrollera att det inte finns någon dataskada genom att jämföra måldata med HDFS-filsystemdata
Arkitekturtestning
Hadoop bearbetar mycket stora datamängder och är mycket resurskrävande. Därför är arkitektonisk testning avgörande för att säkerställa framgången för ditt Big Data-projekt. Ett dåligt eller felaktigt utformat system kan leda till försämrad prestanda och systemet kan misslyckas med att uppfylla kraven. Åtminstone bör testtjänster för prestanda och failover göras i en Hadoop-miljö.
Prestandatestning innefattar testning av tid för jobbet, minnesanvändning, dataflöde och liknande systemstatistik. Motivet för Failover-testtjänsten är att verifiera att databehandling sker sömlöst om datanoder misslyckas
Prestandatester
Prestandatestning för Big Data innehåller två huvudåtgärder
- Dataintag och hela tiden : I detta steg verifierar Big Data-testaren hur det snabba systemet kan konsumera data från olika datakällor. Testning innebär att man identifierar ett annat meddelande som kön kan bearbeta inom en viss tidsram. Det inkluderar också hur snabbt data kan infogas i det underliggande datalagret, till exempel införingshastighet i en Mongo- och Cassandra-databas.
- Databehandling : Det innebär att verifiera hastigheten med vilken frågor eller kartor minskar jobb utförs. Det inkluderar också att testa databehandlingen isolerat när den underliggande datalagret fylls i datauppsättningarna. Till exempel körning av Map Reduce-jobb på den underliggande HDFS
- Underkomponentsprestanda : Dessa system består av flera komponenter, och det är viktigt att testa var och en av dessa komponenter isolerat. Till exempel hur snabbt meddelandet indexeras och konsumeras, MapReduce-jobb, sökprestanda, sökning etc.
Metod för prestandatestning
Prestandatestning för stora datatillämpningar innefattar testning av stora volymer strukturerad och ostrukturerad data, och det kräver en specifik testmetod för att testa sådana massiva data.
Prestandatestning utförs i denna ordning
- Processen börjar med inställningen av Big data-klustret som ska testas för prestanda
- Identifiera och utforma motsvarande arbetsbelastningar
- Förbered enskilda kunder (anpassade skript skapas)
- Utför testet och analyserar resultatet (Om målen inte uppnås, ställ in komponenten och kör igen)
- Optimal konfiguration
Parametrar för prestandatestning
Olika parametrar som ska verifieras för prestandatestning är
- Datalagring: Hur data lagras i olika noder
- Åtagandeloggar: Hur stor åtagandeloggen får växa
- Samtidighet: Hur många trådar som kan utföra skriv- och läsoperation
- Cachning: Ställ in cache-inställningen "radcache" och "tangentcache".
- Timeouts: Värden för timeout för anslutning, timeout för frågor etc.
- JVM-parametrar: Högstorlek, GC-samlingsalgoritmer etc.
- Kartan minskar prestanda: Sorterar, sammanfogar etc.
- Meddelandekö: Meddelandefrekvens, storlek etc.
Testmiljöbehov
Testmiljön måste bero på vilken typ av applikation du testar. För Big Data-programvarutestning bör testmiljön omfatta
- Det borde ha tillräckligt med utrymme för lagring och bearbeta en stor mängd data
- Det ska ha ett kluster med distribuerade noder och data
- Den ska ha minimalt CPU- och minnesutnyttjande för att hålla prestanda hög för att testa Big Data-prestanda
Big data Testing Vs. Traditionell databasprovning
Egenskaper |
Traditionell databastestning |
Big data testning |
---|---|---|
Data |
|
|
Testmetod |
|
|
Teststrategi |
|
|
Infrastruktur |
|
|
Valideringsverktyg |
Tester använder antingen de Excel-baserade makron eller UI-baserade automatiseringsverktygen |
Inga definierade verktyg, intervallet är stort från programmeringsverktyg som MapReduce till HIVEQL |
Testverktyg |
Testverktyg kan användas med grundläggande kunskaper och mindre utbildning. |
Det kräver en specifik uppsättning färdigheter och utbildning för att använda ett testverktyg. Verktygen är också i början och med tiden kan det komma med nya funktioner. |
Verktyg som används i Big Data Scenarios
Big Data Cluster |
Big Data-verktyg |
---|---|
NoSQL: |
|
MapReduce: |
|
Lagring: |
|
Servrar: |
|
Bearbetning |
|
Utmaningar i Big Data Testing
- Automatisering
Automationstestning av Big data kräver någon med teknisk expertis. Automatiserade verktyg är inte heller utrustade för att hantera oväntade problem som uppstår under testningen
- Virtualisering
Det är en av de integrerade faserna i testningen. Latentens virtuella maskin skapar timingproblem i realtidstestning av big data-prestanda. Att hantera bilder i Big data är också ett besvär.
- Stort dataset
- Behöver verifiera mer data och måste göra det snabbare
- Behöver automatisera testansträngningen
- Behöver kunna testa på olika plattformar
Prestanda testutmaningar
- Olika tekniker : Varje underkomponent tillhör olika tekniker och kräver testning isolerat
- Otillgänglighet för specifika verktyg : Inget enda verktyg kan utföra slut-till-slut-testning. Till exempel kanske NoSQL inte passar för meddelandeköer
- Test Scripting : En hög grad av scripting behövs för att utforma testscenarier och testfall
- Testmiljö : Det behöver en speciell testmiljö på grund av den stora datastorleken
- Övervakningslösning : Det finns begränsade lösningar som kan övervaka hela miljön
- Diagnostisk lösning : en anpassad lösning krävs för att utveckla för att borra ner flaskhalsområdena
Sammanfattning
- När datateknik och dataanalys går vidare till nästa nivå är Big Data-tester oundvikliga.
- Stor databehandling kan vara batch, realtid eller interaktiv
- Tre steg av testning av Big Data-applikationer är
- Validering av datastaging
- Validering av "MapReduce"
- Valideringsfas för utdata
- Architecture Testing är den viktiga fasen i Big Data-testning, eftersom dåligt utformade system kan leda till oöverträffade fel och försämrad prestanda
- Prestandatestning av Big data inkluderar verifiering
- Datakapacitet
- Databehandling
- Underkomponents prestanda
- Big data-testning skiljer sig mycket från traditionell datatestning när det gäller data-, infrastruktur- och valideringsverktyg
- Big Data Testing-utmaningar inkluderar virtualisering, testautomatisering och hantering av stora dataset. Prestandatestning av Big Data-applikationer är också ett problem.