Výukový program pro testování velkých dat: Co je to, strategie, jak testovat Hadoop

Obsah:

Anonim

Testování velkých dat

Big Data Testing je testovací proces aplikace pro velká data, aby bylo zajištěno, že všechny funkce aplikace pro velká data fungují podle očekávání. Cílem testování velkých dat je zajistit, aby systém velkých dat běžel hladce a bezchybně při zachování výkonu a bezpečnosti.

Big data je sbírka velkých datových sad, které nelze zpracovat pomocí tradičních výpočetních technik. Testování těchto datových sad zahrnuje různé nástroje, techniky a rámce ke zpracování. Big data se týkají vytváření, ukládání, vyhledávání a analýzy dat, které jsou pozoruhodné z hlediska objemu, rozmanitosti a rychlosti. Další informace o Big Data, Hadoop a MapReduce najdete zde

V tomto výukovém programu pro testování velkých dat se naučíte-

  • Co je strategie testování velkých dat?
  • Jak testovat aplikace Hadoop
  • Testování architektury
  • Testování výkonu
  • Přístup k testování výkonu
  • Parametry pro testování výkonu
  • Potřeby testovacího prostředí
  • Testování velkých dat vs. Tradiční testování databáze
  • Nástroje používané ve scénářích velkých dat
  • Výzvy v testování velkých dat

Co je strategie testování velkých dat?

Testování aplikace Big Data spočívá spíše v ověřování zpracování dat než v testování jednotlivých funkcí softwarového produktu. Pokud jde o testování velkých dat, klíčem je testování výkonu a funkcí .

Ve strategii testování velkých dat ověřují inženýři QA úspěšné zpracování terabajtů dat pomocí komoditního klastru a dalších podpůrných komponent. Vyžaduje vysokou úroveň testovacích dovedností, protože zpracování je velmi rychlé. Zpracování může být tří typů

Spolu s tím je kvalita dat také důležitým faktorem při testování Hadoop. Před testováním aplikace je nutné zkontrolovat kvalitu dat a mělo by se to považovat za součást testování databáze. Zahrnuje kontrolu různých charakteristik, jako je shoda, přesnost, duplikace, konzistence, platnost, úplnost dat atd. Dále v tomto výukovém programu Hadoop Testing se naučíme, jak testovat aplikace Hadoop.

Jak testovat aplikace Hadoop

Následující obrázek poskytuje přehled na vysoké úrovni fází při testování aplikací Big Data

Big Data Testing nebo Hadoop Testing lze rozdělit do tří kroků

Krok 1: Ověření datových fází

První krok v tomto kurzu testování velkých dat je označován jako fáze před Hadoopem zahrnuje ověření procesu.

  • Data z různých zdrojů, jako jsou RDBMS, webové blogy, sociální média atd., By měla být ověřena, aby bylo zajištěno, že do systému budou načtena správná data.
  • Porovnání zdrojových dat s daty vloženými do systému Hadoop, aby se ujistil, že se shodují
  • Ověřte, zda jsou správná data extrahována a načtena do správného umístění HDFS

K ověření fázování dat lze použít nástroje jako Talend , Datameer

Krok 2: Ověření „MapReduce“

Druhým krokem je ověření „MapReduce“. V této fázi tester velkých dat ověří ověření obchodní logiky na každém uzlu a poté je ověří po spuštění na více uzlech, čímž zajistí, že

  • Proces redukce mapy funguje správně
  • Na datech jsou implementována pravidla agregace nebo segregace dat
  • Generují se páry klíč-hodnota
  • Ověření dat po procesu Map-Reduce

Krok 3: Fáze ověření výstupu

Poslední nebo třetí fáze testování Hadoop je proces ověřování výstupu. Výstupní datové soubory jsou generovány a připraveny k přesunutí do EDW (Enterprise Data Warehouse) nebo jiného systému na základě požadavku.

Mezi činnosti ve třetí fázi patří

  • Chcete-li zkontrolovat, zda jsou pravidla transformace správně použita
  • Zkontrolovat integritu dat a úspěšné načtení dat do cílového systému
  • Chcete-li zkontrolovat, zda nedochází k poškození dat, porovnáním cílových dat s daty systému souborů HDFS

Testování architektury

Hadoop zpracovává velmi velké objemy dat a je vysoce náročné na zdroje. Proto je architektonické testování zásadní pro zajištění úspěchu vašeho projektu Big Data. Špatně nebo nesprávně navržený systém může vést ke snížení výkonu a systém by mohl nesplnit požadavek. Alespoň by se služby testování výkonu a převzetí služeb při selhání měly provádět v prostředí Hadoop.

Testování výkonu zahrnuje testování doby dokončení úlohy, využití paměti, propustnosti dat a podobných systémových metrik. Motivem testovací služby Failover je ověřit, že ke zpracování dat dojde bez problémů v případě selhání datových uzlů

Testování výkonu

Testování výkonu pro velká data zahrnuje dvě hlavní akce

  • Příjem dat a v celém průběhu : V této fázi tester velkých dat ověří, jak může rychlý systém využívat data z různých zdrojů dat. Testování zahrnuje identifikaci jiné zprávy, kterou může fronta zpracovat v daném časovém rámci. Zahrnuje také to, jak rychle lze data vložit do podkladového úložiště dat, například rychlost vkládání do databáze Mongo a Cassandra.
  • Zpracování dat : Zahrnuje ověření rychlosti, s jakou jsou prováděny úlohy dotazů nebo mapování. Zahrnuje také testování zpracování dat v izolaci, když je podkladové úložiště dat naplněno v datových sadách. Například spuštěním úloh Map Reduce na podkladovém HDFS
  • Výkon dílčí komponenty : Tyto systémy se skládají z více komponent a je nezbytné každou z těchto komponent otestovat izolovaně. Například, jak rychle je zpráva indexována a spotřebována, MapReduce úlohy, výkon dotazu, vyhledávání atd.

Přístup k testování výkonu

Testování výkonu pro aplikaci s velkými daty zahrnuje testování velkého množství strukturovaných a nestrukturovaných dat a pro testování takových masivních dat vyžaduje konkrétní testovací přístup.

Testování výkonu se provádí v tomto pořadí

  1. Proces začíná nastavením clusteru velkých dat, který má být testován na výkon
  2. Identifikujte a navrhněte odpovídající pracovní vytížení
  3. Připravte jednotlivé klienty (vytvářejí se vlastní skripty)
  4. Proveďte test a analyzujte výsledek (Pokud cíle nejsou splněny, vylaďte komponentu a proveďte znovu)
  5. Optimální konfigurace

Parametry pro testování výkonu

Pro testování výkonu je třeba ověřit různé parametry

  • Úložiště dat: Jak jsou data uložena v různých uzlech
  • Protokoly potvrzení: Jak velký je povolen růst protokolu potvrzení
  • Souběžnost: Kolik vláken může provádět operace zápisu a čtení
  • Ukládání do mezipaměti: Vyladěte nastavení mezipaměti „mezipaměť řádků“ a „mezipaměť klíčů“.
  • Časové limity: Hodnoty pro časový limit připojení, časový limit dotazu atd.
  • Parametry JVM: velikost haldy, algoritmy sběru GC atd.
  • Mapa snižuje výkon: Seřadí, sloučí atd.
  • Fronta zpráv: Rychlost zpráv, velikost atd.

Potřeby testovacího prostředí

Testovací prostředí musí záviset na typu aplikace, kterou testujete. Pro testování softwaru pro velká data by mělo zahrnovat testovací prostředí

  • Mělo by mít dostatek místa pro uložení a zpracování velkého množství dat
  • Měl by mít klastr s distribuovanými uzly a daty
  • Měl by mít minimální využití CPU a paměti, aby udržel vysoký výkon pro testování výkonu Big Data

Testování velkých dat vs. Tradiční testování databáze

Vlastnosti

Tradiční testování databáze

Testování velkých dat

Data

  • Testovací práce se strukturovanými daty
  • Tester pracuje se strukturovanými i nestrukturovanými daty

Přístup k testování

  • Testovací přístup je dobře definovaný a časově testovaný
  • Testovací přístup vyžaduje soustředěné úsilí v oblasti výzkumu a vývoje

Strategie testování

  • Tester má možnost strategie „Vzorkování“ provádět ručně nebo strategie „Vyčerpávající ověření“ automatizačním nástrojem
  • Strategie „vzorkování“ ve velkých datech je výzvou

Infrastruktura

  • Nevyžaduje speciální testovací prostředí, protože velikost souboru je omezená
  • Vyžaduje speciální testovací prostředí kvůli velké velikosti dat a souborů (HDFS)

Nástroje pro ověřování

Tester používá buď makra založená na Excelu, nebo automatizační nástroje založené na uživatelském rozhraní

Žádné definované nástroje, rozsah je obrovský od programovacích nástrojů jako MapReduce až po HIVEQL

Testovací nástroje

Testovací nástroje lze používat se základními provozními znalostmi a menším zaškolením.

Provozování testovacího nástroje vyžaduje specifickou sadu dovedností a školení. Nástroje jsou také v jejich rodící se fázi a postupem času může přijít s novými funkcemi.

Nástroje používané ve scénářích velkých dat

Big Data Cluster

Big Data Tools

NoSQL:

  • CouchDB, databáze MongoDB, Cassandra, Redis, ZooKeeper, HBase

MapReduce:

  • Hadoop, Úl, Prase, Kaskádové, Oozie, Kafka, S4, MapR, Žlab

Úložný prostor:

  • S3, HDFS (Hadoop Distributed File System)

Servery:

  • Elastic, Heroku, Elastic, Google App Engine, EC2

zpracovává se

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

Výzvy v testování velkých dat

  • Automatizace

    Testování automatizace pro velká data vyžaduje někoho, kdo má technické znalosti. Automatizované nástroje také nejsou vybaveny k řešení neočekávaných problémů, které vzniknou během testování

  • Virtualizace

    Je to jedna z integrálních fází testování. Latence virtuálního počítače vytváří problémy s časováním při testování výkonu velkých dat v reálném čase. Potíže také se správou obrázků ve velkých datech.

  • Velká datová sada
    • Potřebujete ověřit více dat a musíte to udělat rychleji
    • Je třeba automatizovat testovací úsilí
    • Musíte být schopni testovat na různých platformách

Výzvy pro testování výkonu

  • Různorodá sada technologií : Každá dílčí součást patří k jiné technologii a vyžaduje testování v izolaci
  • Nedostupnost konkrétních nástrojů : Žádný jednotlivý nástroj nemůže provádět úplné testování. Například NoSQL nemusí vyhovovat frontám zpráv
  • Testovací skriptování : K navrhování testovacích scénářů a testovacích případů je zapotřebí vysoký stupeň skriptování
  • Testovací prostředí : Kvůli velké velikosti dat potřebuje speciální testovací prostředí
  • Monitorovací řešení : Existuje omezené řešení, které dokáže monitorovat celé prostředí
  • Diagnostické řešení : K vývoji je potřeba vlastní řešení, které rozbalí oblasti s úzkými místy výkonu

souhrn

  • Vzhledem k tomu, že datové inženýrství a analýza dat postupují na další úroveň, je testování Big Data nevyhnutelné.
  • Zpracování velkých dat může být dávkové, v reálném čase nebo interaktivní
  • 3 fáze testování aplikací Big Data jsou
    • Ověření fázování dat
    • Ověření „MapReduce“
    • Fáze ověření výstupu
  • Testování architektury je důležitou fází testování velkých dat, protože špatně navržený systém může vést k bezprecedentním chybám a snížení výkonu
  • Testování výkonu pro velká data zahrnuje ověření
    • Datová propustnost
    • Zpracování dat
    • Výkon dílčí komponenty
  • Testování velkých dat se velmi liší od testování tradičních dat, pokud jde o nástroje pro data, infrastrukturu a ověření
  • Mezi výzvy testování velkých dat patří virtualizace, automatizace testů a řešení velkého souboru dat. Problémem je také testování výkonu aplikací Big Data.