Big Data tesztelési oktatóanyag: Mi az, stratégia, hogyan teszteljük a Hadoop-ot

Big Data tesztelés

Big Data tesztelés egy big data alkalmazás tesztelési folyamata annak biztosítására, hogy egy big data alkalmazás minden funkciója az elvárásoknak megfelelően 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, miközben megőrzi a teljesítményt és a biztonságot.

A big data olyan nagy adathalmazok gyűjteménye, amelyeket nem lehet hagyományos számítástechnikai technikákkal feldolgozni. Tesztelés ezen adatkészletek feldolgozása különféle eszközöket, technikákat és keretrendszereket foglal magában. A big data az adatok létrehozásához, tárolásához, visszakereséséhez és elemzéséhez kapcsolódik, ami figyelemre méltó a mennyiség, a változatosság és a sebesség tekintetében. További információ a Big Data-ról, a Hadoopról és a MapReduce-ről itt

Mi az a Big Data tesztelési stratégia?

A Big Data alkalmazás tesztelése inkább az adatfeldolgozás ellenőrzése, nem pedig a szoftvertermék egyedi jellemzőinek tesztelése. Ha a Big Data tesztelésről van szó, teljesítmény- és funkcionális tesztelés a kulcsok.

A Big Data tesztelési stratégiájában a minőségbiztosítási mérnökök árufürtök és egyéb támogató komponensek segítségével ellenőrzik a terabájtnyi adat sikeres feldolgozását. Magas szintű tesztelési készségeket igényel, mivel a feldolgozás nagyon gyors. A feldolgozás háromféle lehet

Big Data tesztelési stratégia

Ezzel együtt az adatok minősége is fontos tényező a Hadoop tesztelésében. Az alkalmazás tesztelése előtt ellenőrizni kell az adatok minőségét, és ez az adatbázis tesztelésének része. Ez magában foglalja a különböző jellemzők ellenőrzését, mint a megfelelőség, pontosság, megkettőzés, konzisztencia, érvényesség, adatok teljessége, stb. Ebben a Hadoop-tesztelési oktatóanyagban ezután megtanuljuk, hogyan tesztelhetjük a Hadoop-alkalmazásokat.

A Hadoop alkalmazások tesztelése

A következő ábra magas szintű áttekintést nyújt a Big Data alkalmazások tesztelésének fázisairól

Tesztelje a Hadoop alkalmazásokat

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

1. lépés: Adatok fokozatos érvényesítése

A big data tesztelési oktatóanyag első lépése a Hadoop előtti szakasz, amely magában foglalja a folyamat érvényesítését.

  • Adatok különböző forrásokból, mint pl RDBMS, a webnaplókat, a közösségi médiát stb. érvényesíteni kell, hogy megbizonyosodjon arról, hogy a megfelelő adatok kerülnek be a rendszerbe
  • A forrásadatok összehasonlítása a Hadoop rendszerbe betolt adatokkal, hogy megbizonyosodjon arról, hogy megegyeznek
  • Győződjön meg arról, hogy a megfelelő adatokat nyerték ki és töltik be a megfelelő HDFS-helyre

Szerszámok, mint Talend, Datameer, használható adatállomásozási érvényesítéshez

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óponton történő futtatás után érvényesíti azokat, biztosítva, hogy a

  • A Map Reduce folyamat megfelelően működik
  • Az adatokon adatösszesítési vagy elkülönítési szabályokat alkalmaznak
  • Kulcsérték párok jönnek létre
  • Az adatok érvényesítése a Map-Reduce folyamat után

3. lépés: Kimenet érvényesítési fázis

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

A harmadik szakasz tevékenységei közé tartozik

  • Az átalakítási szabályok helyes alkalmazásának ellenőrzéséhez
  • Az adatok sértetlenségének és sikeres adatbetöltésének ellenőrzése a célrendszerbe
  • Annak ellenőrzésére, hogy nincs-e adatsérülés, összehasonlítja a céladatokat a HDFS fájlrendszer adataival

Architecture Tesztelés

A Hadoop nagyon nagy mennyiségű adatot dolgoz fel, és rendkívül erőforrás-igényes. Ezért az építészeti tesztelés kulcsfontosságú a Big Data projekt sikerének biztosításához. A rosszul vagy nem megfelelően megtervezett rendszer teljesítményromláshoz vezethet, és előfordulhat, hogy a rendszer nem felel meg a követelményeknek. Legalább, Teljesítmény- és feladatátvételi teszt a szolgáltatásokat Hadoop környezetben kell elvégezni.

Teljesítményfelmérés magában foglalja a feladat befejezési idejének, a memória kihasználtságának, az adatátviteli sebességnek és a hasonló rendszermutatóknak a tesztelését. Míg a feladatátvételi teszt szolgáltatás 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űveletből áll

  • Adatbevitel és az egész: Ebben a szakaszban a Big Data tesztelő ellenőrzi, hogy a gyors rendszer hogyan tudja felhasználni a különböző adatforrásokból származó adatokat. A tesztelés egy másik üzenet azonosítását foglalja magában, amelyet a várólista egy adott időkereten belül feldolgozhat. Azt is tartalmazza, hogy milyen gyorsan lehet adatokat beilleszteni a mögöttes adattárba, például beszúrási sebességet egy Mongo és Cassandra adatbázis.
  • Adatfeldolgozás: Ez magában foglalja a lekérdezések vagy a leképezés-csökkentési feladatok végrehajtási sebességének ellenőrzését. Ez magában foglalja az adatfeldolgozás elkülönített tesztelését is, amikor az alapul szolgáló adattár az adatkészleteken belül van feltöltve. Például a Map Reduce feladatok futtatása a mögöttes oldalon HDFS
  • Alkomponens teljesítménye: Ezek a rendszerek több összetevőből állnak, és alapvető fontosságú, hogy ezeket az összetevőket külön-külön teszteljük. Például, milyen gyorsan történik az üzenet indexelése és felhasználása, MapReduce-feladatok, lekérdezés teljesítménye, keresés stb.
  • Teljesítményvizsgálati megközelítés

    A big data alkalmazások teljesítménytesztje hatalmas mennyiségű strukturált és strukturálatlan adat tesztelését foglalja magában, és speciális tesztelési megközelítést igényel az ilyen hatalmas adatok tesztelése.

    Teljesítményvizsgálati megközelítés

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

    1. A folyamat a Big Data fürt beállításával kezdődik, amelynek teljesítményét tesztelni kell
    2. A megfelelő munkaterhelések azonosítása és tervezése
    3. Egyéni ügyfelek előkészítése (egyéni szkriptek jönnek létre)
    4. Végezze el a tesztet és elemzi az eredményt (Ha a célok nem teljesülnek, hangolja be az összetevőt, és hajtsa végre újra)
    5. Optimális konfiguráció

    A teljesítményteszt paraméterei

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

    • Adattárolás: Hogyan történik az adatok tárolása a különböző csomópontokban
    • Végrehajtási naplók: Mekkora méretűre nőhet a véglegesítési napló
    • Egyidejűség: Hány szál tud írási és olvasási műveletet végrehajtani
    • Gyorsítótár: Hangolja be a „sor gyorsítótár” és a „kulcsgyorsítótár” gyorsítótár beállítását.
    • Időtúllépések: A kapcsolat időtúllépésének, a lekérdezési időtúllépésnek stb.
    • JVM-paraméterek: kupacméret, GC-gyűjtési algoritmusok stb.
    • A térkép csökkenti a teljesítményt: Rendezés, összevonás stb.
    • Üzenetsor: Üzenetek sebessége, mérete stb.

    Tesztkörnyezeti igények

    A tesztkörnyezetnek a tesztelt alkalmazás típusától kell függnie. A Big Data szoftver teszteléséhez a tesztkörnyezetnek magában kell foglalnia

    • Elegendő hellyel kell rendelkeznie a tároláshoz és nagy mennyiségű adat feldolgozásához
    • Egy fürttel kell rendelkeznie elosztott csomópontokkal és adatokkal
    • Minimális CPU- és memóriahasználattal kell rendelkeznie, hogy a teljesítmény magas maradjon a Big Data teljesítményének teszteléséhez

    Big data tesztelése vs. Hagyományos adatbázis tesztelés

    Ingatlanok Hagyományos adatbázis tesztelés Big data tesztelése
    dátum Tesztelői munka strukturált adatokkal A tesztelő strukturált és strukturálatlan adatokkal is működik
    Tesztelési megközelítés A tesztelési megközelítés jól meghatározott és időben tesztelt A tesztelési megközelítés célzott K+F erőfeszítéseket igényel
    Tesztelési stratégia A tesztelőnek lehetősége van a „mintavételezési” stratégia manuális végrehajtására vagy a „Teljes körű ellenőrzés” stratégiára az automatizálási eszközzel A Big Data „mintavételi” stratégiája kihívást jelent
    Infrastruktúra Nem igényel speciális tesztkörnyezetet, mivel a fájl mérete korlátozott Speciális tesztkörnyezetet igényel a nagy adatméret és fájlok (HDFS) miatt.
    Érvényesítési eszközök A tesztelő vagy az Excel alapút használja Makrók vagy UI alapú automatizálási eszközök Nincsenek meghatározott eszközök, a programozási eszközöktől, például a MapReduce-től a HIVEQL-ig terjed a választék
    Tesztelő eszközök A tesztelési 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égek és képzés szükséges. Ezenkívül az eszközök kialakulóban vannak, és idővel új funkciókkal bővülhetnek.

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

    Big adatok Cluster Big Data Tools
    NoSQL: CouchDB, Adatbázisok MongoDB, Cassandra, Redis, ZooKeeper, HBase
    MapReduce: Hadoop, Hive, Pig, Lépcsőzetes, Oozie, Kafka, S4, MapR, Flume
    Tárolás: S3, HDFS (Hadoop elosztott fájlrendszer)
    Szerverek: Rugalmas, Heroku, Elastic, Google App Engine, EC2
    Feldolgozás R, Yahoo! Csövek, Mechanikus Turk, BigSheets, Datameer

    Kihívások a Big Data tesztelésében

    • Automatizálás

      Automatizálási tesztelés A Big Data esetében technikai szakértelemmel rendelkező személyre van szükség. Ezenkívül az automatizált eszközök nincsenek felszerelve a tesztelés során felmerülő váratlan problémák kezelésére

    • Virtualizáció

      Ez 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ű big data teljesítményteszt során. A Big Data-ban lévő képek kezelése is gondot okoz.

    • Nagy adatkészlet
      • Több adatot kell ellenőrizni, és gyorsabban kell megtenni
      • Automatizálni kell a tesztelést
      • Le kell tudni tesztelni különböző platformokon

    A teljesítménytesztelés kihívásai

    • Változatos technológiai halmaz: Minden részösszetevő más technológiához tartozik, és külön-külön kell tesztelni
    • Konkrét eszközök elérhetetlensége: Egyetlen eszköz sem tudja elvégezni a végpontok közötti tesztelést. Például, NoSQL esetleg nem fér bele az üzenetsorba
    • Tesztelje a szkripteket: A tesztforgatókönyvek és tesztesetek megtervezéséhez magas szintű szkriptekre van szükség
    • Tesztkörnyezet: A nagy adatméret miatt speciális tesztkörnyezetet igényel
    • Megfigyelő megoldás: Korlátozott megoldások léteznek, amelyek a teljes környezetet felügyelhetik
    • Diagnosztikai megoldás: Egyedi megoldást kell kifejleszteni a teljesítmény szűk keresztmetszeteinek feltárásához

    Összegzésként

    • Ahogy az adattervezés és az adatelemzés egy következő szintre lép, a Big Data tesztelése elkerülhetetlen.
    • A nagy adatfeldolgozás lehet kötegelt, valós idejű vagy interaktív
    • A Big Data-alkalmazások tesztelésének 3 szakasza az adatállomás-ellenőrzés, a „MapReduce” validálás és a kimeneti validálási fázis.
    • ArchiTecture A tesztelés a Big Data tesztelésének fontos fázisa, mivel a rosszul megtervezett rendszer példátlan hibákhoz és a teljesítmény romlásához vezethet
    • A Big Data teljesítménytesztelése magában foglalja az adatátviteli sebesség, az adatfeldolgozás és az alkomponensek teljesítményének ellenőrzését
    • A Big Data tesztelése nagyban különbözik a hagyományos adatteszteléstől az adatok, az infrastruktúra és az ellenőrzési eszközök tekintetében
    • A Big Data Testing kihívásai közé tartozik a virtualizáció, a tesztelés automatizálása és a nagy adatkészletek kezelése. A Big Data alkalmazások teljesítménytesztje is probléma.

    Napi Guru99 hírlevél

    Kezdje a napját a legfrissebb és legfontosabb mesterséges intelligenciával kapcsolatos hírekkel, amelyeket azonnal kézbesítünk.