Big Data Testing Tutorial: Mi az, stratégia, Hadoop tesztelése

Tartalomjegyzék:

Anonim

Big Data Testing

A Big Data Testing egy nagy adatalkalmazás tesztelési folyamata annak biztosítása érdekében, hogy a big data alkalmazás minden funkciója a várt módon működjön. A big data tesztelés célja annak biztosítása, hogy a big data rendszer zökkenőmentesen és hibamentesen működjön, a teljesítmény és a biztonság fenntartása mellett.

A nagy adatok olyan nagy adatkészletek gyűjteménye, amelyeket nem lehet hagyományos számítási technikákkal feldolgozni. Ezen adatkészletek tesztelése különféle eszközöket, technikákat és feldolgozási kereteket tartalmaz. A nagy adatok az adatok létrehozására, tárolására, visszakeresésére és elemzésére vonatkoznak, amelyek figyelemre méltóak a mennyiség, a változatosság és a sebesség szempontjából. Itt többet megtudhat a Big Data, a Hadoop és a MapReduce szolgáltatásról

Ebben a Big Data Testing oktatóanyagban megtanulja-

  • Mi a Big Data Testing stratégia?
  • Hogyan teszteljük a Hadoop alkalmazásokat
  • Építészeti tesztelés
  • Teljesítményfelmérés
  • Teljesítménytesztelési megközelítés
  • Paraméterek a teljesítmény teszteléséhez
  • Vizsgálati környezeti igények
  • Nagy adatok tesztelése Vs. Hagyományos adatbázis-tesztelés
  • A Big Data forgatókönyvekben használt eszközök
  • Kihívások a nagy adatok tesztelésében

Mi a Big Data Testing stratégia?

A Big Data alkalmazás tesztelése inkább az adatfeldolgozás ellenőrzése, mintsem a szoftvertermék egyedi jellemzőinek tesztelése. Ami a nagy adat tesztelést illeti, a teljesítmény és a funkcionális teszt a kulcs.

A Big Data tesztelési stratégiában a minőségbiztosítási mérnökök áruklaszter és más támogató összetevők segítségével ellenőrzik a terabájtos adatok sikeres feldolgozását. Magas szintű tesztkészséget igényel, mivel a feldolgozás nagyon gyors. A feldolgozás háromféle lehet

Ezzel együtt az adatminőség is fontos tényező a Hadoop-tesztelésnél. Az alkalmazás tesztelése előtt ellenőrizni kell az adatok minőségét, és az adatbázis-tesztelés részének kell tekinteni. Ez magában foglalja a különféle jellemzők, például a megfelelőség, a pontosság, a duplikáció, a konzisztencia, az érvényesség, az adatok teljessége stb. Ellenőrzését. Ezután a Hadoop Testing oktatóanyagban megtanuljuk, hogyan kell tesztelni a Hadoop alkalmazásokat.

Hogyan teszteljük a Hadoop alkalmazásokat

Az alábbi ábra magas szintű áttekintést nyújt a Big Data Applications tesztelésének fázisairól

A Big Data Testing vagy a Hadoop Testing nagyjából három lépésre osztható

1. lépés: Az adatok fokozatos ellenőrzése

A nagyadat-tesztelési útmutató első lépését Hadoop előtti szakasznak nevezzük, amely magában foglalja a folyamat érvényesítését.

  • A különféle forrásokból származó adatokat, például az RDBMS-t, a blogokat, a közösségi médiát stb. Érvényesíteni kell annak biztosítása érdekében, hogy a helyes adatokat behúzzák a rendszerbe
  • Összehasonlítva a forrásadatokat a Hadoop rendszerbe tolott adatokkal, hogy megbizonyosodjanak arról, hogy egyeznek
  • Ellenőrizze, hogy a megfelelő adatokat kibontották-e és betöltötték-e a HDFS megfelelő helyre

Az olyan eszközök, mint a Talend , a Datameer, használhatók az adatok átmeneti ellenőrzéséhez

2. lépés: "MapReduce" érvényesítés

A második lépés a "MapReduce" érvényesítése. Ebben a szakaszban a Big Data tesztelő minden csomóponton ellenőrzi az üzleti logika érvényesítését, majd több csomópont ellen futás után érvényesíti őket, biztosítva, hogy a

  • A Map Reduce folyamat helyesen működik
  • Az adatokon összesített vagy szegregációs szabályok kerülnek bevezetésre
  • Kulcsérték-párok jönnek létre
  • Az adatok ellenőrzése a Map-Reduce folyamat után

3. lépés: Kimenet érvényesítési szakasz

A Hadoop-tesztelés utolsó vagy harmadik szakasza a kimenet ellenőrzési folyamata. A kimeneti adatfájlok előállításra kerülnek, és készen állnak az EDW (Enterprise Data Warehouse) vagy bármely más rendszerre történő áthelyezésre a követelmény alapján.

A harmadik szakasz tevékenységei a következők:

  • A transzformációs szabályok helyes alkalmazásának ellenőrzéséhez
  • Az adatok integritásának és a célrendszerbe történő sikeres betöltésének ellenőrzése
  • Annak ellenőrzése, hogy nincs-e adatkorrupció, összehasonlítva a céladatokat a HDFS fájlrendszer adataival

Építészeti tesztelés

A Hadoop nagyon nagy mennyiségű adatot dolgoz fel, és erőforrásigényes. Ezért az építészeti tesztek kulcsfontosságúak a Big Data projekt sikerének biztosításához. A rosszul vagy nem megfelelően tervezett rendszer teljesítményromláshoz vezethet, és a rendszer nem felelhet meg a követelménynek. Legalábbis a teljesítmény és a feladatátvételi teszt szolgáltatásokat Hadoop környezetben kell elvégezni.

A teljesítményteszt magában foglalja a munka befejezésének idejét, a memória kihasználtságát, az adatátvitelt és a hasonló rendszermutatókat. Míg a feladatátvételi teszt szolgáltatásának célja annak ellenőrzése, hogy az adatfeldolgozás zökkenőmentesen történik-e az adatcsomópontok meghibásodása esetén

Teljesítményfelmérés

A Big Data teljesítménytesztje két fő műveletet tartalmaz

  • Adatbevitel és az egész : Ebben a szakaszban a Big Data tesztelő ellenőrzi, hogy a gyors rendszer miként tudja felhasználni a különböző adatforrásokból származó adatokat. A tesztelés során egy másik üzenetet kell azonosítani, amelyet a sor egy adott időkeretben feldolgozhat. Azt is tartalmazza, hogy milyen gyorsan lehet adatokat beilleszteni az alapul szolgáló adattárba, például beillesztési sebességet a Mongo és a Cassandra adatbázisba.
  • Adatfeldolgozás : Ez magában foglalja annak ellenőrzését, hogy a lekérdezések vagy a térkép csökkentik-e a feladatokat. Ez magában foglalja az adatfeldolgozás elkülönített tesztelését is, amikor az alapul szolgáló adattároló feltöltésre kerül az adatkészleteken belül. Például a Map Reduce jobok futtatása az alapul szolgáló HDFS-en
  • Alkatrészek teljesítménye : Ezek a rendszerek több összetevőből állnak, és elengedhetetlen, hogy ezeket az összetevőket külön-külön teszteljük. Például az üzenet indexelésének és elfogyasztásának gyorsasága, a MapReduce feladatok, a lekérdezés teljesítménye, a keresés stb.

Teljesítménytesztelési megközelítés

A nagyteljesítményű adatok teljesítményének tesztelése hatalmas mennyiségű strukturált és strukturálatlan adat tesztelésével jár, és speciális tesztelési megközelítést igényel az ilyen hatalmas adatok teszteléséhez.

A teljesítménytesztelés ebben a sorrendben történik

  1. A folyamat a Big Data klaszter beállításával kezdődik, amelynek teljesítményét tesztelni kell
  2. Azonosítsa és tervezze meg a megfelelő munkaterheléseket
  3. Készítsen elő egyedi ügyfeleket (egyéni parancsfájlok jönnek létre)
  4. Hajtsa végre a tesztet és elemezze az eredményt (ha a célkitűzések nem teljesülnek, akkor hangolja be az összetevőt, és hajtsa végre újra)
  5. Optimális konfiguráció

Paraméterek a teljesítmény teszteléséhez

A teljesítmény teszteléséhez ellenőrizni kell a különböző paramétereket

  • Adattárolás: Hogyan tároljuk az adatokat a különböző csomópontokban
  • Kötelező naplók: Mekkora növekedést engednek az elkötelezett naplónak
  • Egyidejűség: Hány szál hajthat végre írási és olvasási műveletet
  • Gyorsítótárazás: Állítsa be a "sor gyorsítótár" és a "kulcs gyorsítótár" beállításokat.
  • Időkorlátok: A kapcsolat időkorlátjának, lekérdezés időkorlátjának stb. Értékei
  • JVM-paraméterek: Halomméret, GC-gyűjtési algoritmusok stb.
  • A térkép csökkenti a teljesítményt: rendezés, egyesítés stb.
  • Üzenetsor: Üzenetsebesség, méret stb.

Vizsgálati környezeti igények

A tesztkörnyezetnek a tesztelt alkalmazás típusától függ. A big data szoftver teszteléséhez a tesztkörnyezetnek ki kell terjednie

  • Elegendő helynek kell lennie a tároláshoz és nagy mennyiségű adat feldolgozásához
  • Fürtjének kell lennie elosztott csomópontokkal és adatokkal
  • Minimális CPU és memória kihasználtsággal kell rendelkeznie ahhoz, hogy a teljesítmény magas legyen a Big Data teljesítmény teszteléséhez

Nagy adatok tesztelése Vs. Hagyományos adatbázis-tesztelés

Tulajdonságok

Hagyományos adatbázis-tesztelés

Nagy adatok tesztelése

Adat

  • A tesztelő strukturált adatokkal dolgozik
  • A tesztelő strukturált és strukturálatlan adatokkal egyaránt működik

Megközelítés tesztelése

  • A tesztelési megközelítés jól meghatározott és időbeli tesztelésű
  • A tesztelési megközelítés koncentrált K + F erőfeszítéseket igényel

Tesztelési stratégia

  • A tesztelőnek lehetősége van a "mintavételezés" stratégiát manuálisan végrehajtani vagy az "kimerítő ellenőrzés" stratégiát az automatizálási eszköz segítségével
  • A „mintavételi” stratégia a Big Data-ban kihívást jelent

Infrastruktúra

  • Nem igényel speciális tesztkörnyezetet, mivel a fájlméret korlátozott
  • Különleges tesztkörnyezetet igényel a nagy adatméret és fájlok (HDFS) miatt

Validációs eszközök

A tesztelő az Excel-alapú makrókat vagy a felhasználói felületen alapuló automatizálási eszközöket használja

Nincsenek meghatározott eszközök, a választék a programozási eszközöktől, például a MapReduce-tól a HIVEQL-ig terjed

Tesztelő eszközök

A Tesztelő eszközök alapvető üzemeltetési ismeretekkel és kevesebb képzettséggel használhatók.

A tesztelő eszköz működtetéséhez speciális készségekre és képzésre van szükség. Az eszközök a kialakulóban lévő szakaszban vannak, és idővel új funkciókkal is előrukkolhat.

A Big Data forgatókönyvekben használt eszközök

Big Data Cluster

Big Data Tools

NoSQL:

  • CouchDB, MongoDB adatbázisok, Cassandra, Redis, ZooKeeper, HBase

MapReduce:

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

Tárolás:

  • S3, HDFS (Hadoop elosztott fájlrendszer)

Szerverek:

  • Rugalmas, Heroku, Rugalmas, Google App Engine, EC2

Feldolgozás

  • R, Yahoo! Cső, Mechanical Turk, BigSheets, Datameer

Kihívások a nagy adatok tesztelésében

  • Automatizálás

    A Big Data automatizálásának teszteléséhez technikai szakértelemmel rendelkező személy szükséges. Az automatizált eszközök nincsenek felszerelve a tesztelés során felmerülő váratlan problémák kezelésére sem

  • Virtualizáció

    A tesztelés egyik szerves fázisa. A virtuális gép késleltetése időzítési problémákat okoz a valós idejű nagyadat-teljesítmény tesztelés során. A képek kezelése a Big Data-ban is gondot jelent.

  • Nagy adatkészlet
    • Több adatot kell ellenőriznie és gyorsabban kell tennie
    • Automatizálni kell a tesztelési erőfeszítéseket
    • Képesnek kell lennie tesztelni különböző platformokon

Teljesítményteszt kihívások

  • Változatos technológiák : Minden alkomponens különböző technológiákhoz tartozik, és elkülönítve kell tesztelni
  • Konkrét eszközök nem állnak rendelkezésre : egyetlen eszköz sem tudja elvégezni a végpontok közötti tesztelést. Például előfordulhat, hogy a NoSQL nem illik az üzenetsorokba
  • Teszt szkriptek : Teszt forgatókönyvek és teszt esetek megtervezéséhez nagyfokú szkriptekre van szükség
  • Tesztkörnyezet : A nagy adatméret miatt speciális tesztkörnyezetre van szüksége
  • Megfigyelési megoldás : Korlátozott megoldások léteznek, amelyek figyelemmel kísérhetik az egész környezetet
  • Diagnosztikai megoldás : Egyéni megoldás szükséges a teljesítmény szűk keresztmetszetének feltárásához

Összegzés

  • Amint az adatkezelés és az adatelemzés egy újabb szintre lép, a nagy adatok tesztelése elkerülhetetlen.
  • Nagy adatfeldolgozás lehet kötegelt, valós idejű vagy interaktív
  • A Big Data alkalmazások tesztelésének 3 szakasza van
    • Az adatok átmeneti ellenőrzése
    • "MapReduce" érvényesítés
    • Kimenet érvényesítési szakasz
  • Az architektúra tesztelése a big data tesztelés fontos fázisa, mivel a rosszul megtervezett rendszer soha nem látott hibákhoz és a teljesítmény romlásához vezethet
  • A Big Data teljesítménytesztje magában foglalja az igazolást is
    • Adattovábbítás
    • Adatfeldolgozás
    • Alkatrész teljesítmény
  • A nagyadat-tesztelés az adatok, az infrastruktúra és az érvényesítési eszközök tekintetében nagyon eltér a hagyományos adat-tesztektől
  • A Big Data Testing kihívásai közé tartozik a virtualizáció, a teszt automatizálása és a nagy adatkészlet kezelése. A Big Data alkalmazások teljesítményvizsgálata szintén kérdés.