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
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
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.
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.
A teljesítményteszt ebben a sorrendben történik
- A folyamat a Big Data fürt beállításával kezdődik, amelynek teljesítményét tesztelni kell
- A megfelelő munkaterhelések azonosítása és tervezése
- Egyéni ügyfelek előkészítése (egyéni szkriptek jönnek létre)
- 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)
- 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.