Big Data tesztelési útmutató: Mi az, stratégia, hogyan teszteljünk
⚡ Okos összefoglaló
A Big Data tesztelése ellenőrzi, hogy egy Big Data alkalmazás helyesen, gyorsan és biztonságosan dolgoz-e fel terabájtnyi adatot, az adatelőkészítési validáció, a MapReduce validáció és a kimeneti validáció kombinálásával az architektúra és a teljesítmény ellenőrzésével egy elosztott Hadoop klaszteren.
Mi a Big Data tesztelés?
A Big Data tesztelés egy Big Data alkalmazás tesztelési folyamata, amelynek célja annak biztosítása, 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, miközben fenntartja a teljesítményt és a biztonságot.
A big data nagyméretű adathalmazok gyűjteménye, amelyeket nem lehet hagyományos számítástechnikai technikákkal feldolgozni. Ezen adathalmazok tesztelése különféle eszközöket, technikákat és keretrendszereket igényel a feldolgozáshoz. A big data az adatok létrehozására, tárolására, visszakeresésére és elemzésére vonatkozik, amely figyelemre méltó a mennyiség, a változatosság és a sebesség tekintetében. Többet is megtudhat a következőkről: Big adatok, Hadoop és a MapReduce mielőtt elkezdenéd a tesztelést.
Mi az a Big Data tesztelési stratégia?
Egy Big Data alkalmazás tesztelése inkább az adatfeldolgozás ellenőrzését jelenti, mintsem a szoftvertermék egyes funkcióinak tesztelését. A Big Data tesztelésénél a teljesítmény- és funkcionális tesztelés a kulcs.
Egy Big Data tesztelési stratégiában a minőségbiztosítási mérnökök egy commodity klaszter és más támogató komponensek segítségével ellenőrzik a terabájtos adatmennyiség sikeres feldolgozását. Ez magas szintű tesztelési készségeket igényel, mivel a feldolgozás nagyon gyors. A feldolgozás háromféle lehet:
- Kötegelt feldolgozás: A tárolt adatokat ütemterv szerint dolgozzák fel, így a tesztek a feladatok elvégzését és pontosságát célozzák.
- Valós idejű feldolgozás: A rekordokat érkezéskor feldolgozzák, így a tesztek a késleltetést és az adatvesztést célozzák meg.
- Interaktív feldolgozás: Az elemzők közvetlenül kérdeznek le, így a tesztek az eseti lekérdezésekre adott válaszidőt célozzák meg.
Az alábbi ábra összefoglalja a stratégiát.
Emellett az adatminőség is fontos tényező a Hadoop tesztelésben. Az alkalmazás tesztelése előtt ellenőrizni kell az adatok minőségét, és ezt az adatbázis-tesztelés részének kell tekinteni. Ez magában foglalja a különböző jellemzők, például a megfelelőség, a pontosság, a duplikáció, a konzisztencia, az érvényesség, az adatok teljességének stb. ellenőrzését. A következő Hadoop tesztelési oktatóanyagban megtanuljuk, hogyan teszteljünk Hadoop alkalmazásokat.
Hadoop alkalmazások tesztelése
A következő ábra átfogó képet ad a Big Data alkalmazások tesztelésének fázisairól.
A Big Data tesztelés, vagy Hadoop tesztelés, 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ését Hadoop előtti szakasznak nevezzük, és a folyamat validálását foglalja magában.
- A különböző forrásokból, például RDBMS-ből, weblogokból, közösségi médiából stb. származó adatokat validálni kell, hogy biztosan helyes adatok kerüljenek a rendszerbe.
- A forrásadatok összehasonlítása a Hadoop rendszerbe betolt adatokkal, hogy megbizonyosodjon arról, hogy megegyeznek
- Ellenőrizze, hogy a megfelelő adatok vannak-e megadva.tracbehelyezve a megfelelő helyre HDFS elhelyezkedés
Szerszámok, mint Talend és a Datameer használható adatelőkészítési validációhoz.
2. lépés: „MapReduce” érvényesítés
A második lépés a „MapReduce” validálása. Ebben a szakaszban a Big Data tesztelő minden csomóponton ellenőrzi az üzleti logika validálását, majd több csomóponton futtatva validálja azt, biztosítva a következőket:
- A MapReduce 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 validálása a MapReduce 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 szakaszban a tevékenységek a következők:
- 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 figyelem most az adatokról az azokat hordozó klaszterre helyeződik át.
A Hadoop nagyon nagy mennyiségű adatot dolgoz fel, és rendkívül erőforrás-igényes. Ezért az architektúra tesztelése kulcsfontosságú a Big Data projekt sikerének biztosításához. Egy rosszul vagy nem megfelelően megtervezett rendszer teljesítményromláshoz vezethet, és a rendszer nem biztos, hogy megfelel a követelményeknek. Legalább a következők szükségesek: teljesítmény és a feladatátvételi tesztszolgáltatásokat Hadoop környezetben kell futtatni.
A teljesítménytesztelés magában foglalja a feladatok befejezési idejének, a memóriakihasználtságnak, az adatátviteli sebességnek és hasonló rendszermutatóknak a tesztelését. A feladatátvételi tesztszolgá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énytesztelése három fő területet ölel fel.
- Adatfeldolgozás és átviteli sebesség: Ebben a szakaszban a Big Data tesztelője ellenőrzi, hogy a rendszer milyen gyorsan képes adatokat feldolgozni a különböző adatforrásokból. A tesztelés magában foglalja az üzenetek számának azonosítását, amelyeket a sor egy adott időkereten belül fel tud dolgozni. Azt is magában foglalja, hogy milyen gyorsan lehet adatokat beilleszteni az alapul szolgáló adattárolóba, például a beillesztési sebességet egy... MongoDB és a Cassandra adatbázisban.
- Adatfeldolgozás: Ez magában foglalja a lekérdezések vagy MapReduce feladatok végrehajtási sebességének ellenőrzését. Magában foglalja az adatfeldolgozás elszigetelt tesztelését is, amikor az alapul szolgáló adattár fel van töltve az adathalmazokon belül. Például MapReduce feladatok futtatása az alapul szolgáló HDFS-en.
- Alkomponens teljesítménye: Ezek a rendszerek több összetevőből állnak, és elengedhetetlen mindegyik összetevő külön-külön történő tesztelése. Például az üzenet indexelésének és feldolgozásának sebessége, a MapReduce feladatok, a lekérdezések teljesítménye, a keresés stb.
Teljesítményvizsgálati megközelítés
A Big Data alkalmazások teljesítménytesztelése hatalmas mennyiségű strukturált és strukturálatlan adat tesztelését foglalja magában, és az ilyen hatalmas adatmennyiségek teszteléséhez speciális tesztelési megközelítés szükséges.
Az alábbi munkafolyamat egy teljesítménytesztelési folyamatot szemléltet.
A teljesítménytesztelés ebben a sorrendben történik.
- A folyamat a Big Data klaszter 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 (egyedi szkriptek létrehozása)
- Végezze el a tesztet és elemezze az eredményeket (ha a célok nem teljesülnek, akkor hangolja be a komponenst és futtassa újra)
- Optimális konfiguráció
A teljesítményteszt paraméterei
A teljesítménytesztelés során ellenőrizni kell a következő paramétereket:
- Adattárolás: Hogyan tárolódnak az adatok a különböző csomópontokban
- Commit naplók: Mekkora lehet a véglegesítési napló mérete?
- Egyidejűség: Hány szál képes írási és olvasási műveleteket végrehajtani
- Gyorsítótár: A gyorsítótár beállításainak finomhangolása: „sorgyorsítótár” és „kulcsgyorsítótár”
- Időtúllépések: A kapcsolat időtúllépésének, a lekérdezés időtúllépésének stb. értékei.
- JVM paraméterek: Heap méret, GC gyűjtési algoritmusok stb.
- MapReduce teljesítmény: Rendezés, egyesítés stb.
- Üzenetsor: Üzenetsebesség, méret stb.
Tesztkörnyezeti igények
A tesztkörnyezet igényei a tesztelt alkalmazás típusától függenek. Big Data szoftverek teszteléséhez a tesztkörnyezetnek a következőket kell tartalmaznia.
- Elegendő tárhellyel kell rendelkeznie nagy mennyiségű adat tárolására és feldolgozására.
- 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és vs. hagyományos adatbázis-tesztelés
Az alábbi táblázat tulajdonságról tulajdonságra összehasonlítja a két tudományágat.
| Ingatlanok | Hagyományos adatbázis tesztelés | Big Data tesztelés |
|---|---|---|
| dátum | A tesztelő strukturált adatokkal dolgozik | 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ő választhat a manuálisan végzett „Mintavételezés” stratégia vagy az automatizálási eszközzel végzett „Kimerítő ellenőrzés” stratégia között. | 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ő Excel-alapú makrókat vagy felhasználói felület alapú automatizálási eszközöket használ | Nincsenek meghatározott eszközök; a kínálat hatalmas, a MapReduce-hoz hasonló programozási eszközöktől a HiveQL-ig |
| Tesztelő eszközök | A tesztelőeszközök alapvető üzemeltetési ismeretekkel és kevesebb betanítással is használhatók | Egy tesztelőeszköz működtetése speciális készségeket és képzést igényel. Ezenkívül az eszközök még gyerekcipőben járnak, és idővel új funkciókkal bővülhetnek. |
Big Data forgatókönyvekben használt eszközök
Az alábbi táblázat a gyakori eszközöket fürtréteg szerint csoportosítja.
| Big adatok Cluster | Big Data Tools |
|---|---|
| NoSQL: | CouchDB, Adatbázisok MongoDB, Cassandra, Redis, ZooKeeper, HBase |
| MapReduce: | Hadoop, Kaptár, Pig, Cascading, Oozie, Kafka, S4, MapR, Flume |
| Tárolás: | S3, HDFS (Hadoop elosztott fájlrendszer) |
| Szerverek: | Rugalmas, Heroku, Google Alkalmazásmotor, EC2 |
| Feldolgozás: | R, Yahoo! Csövek, Mechanikus Turk, BigSheets, Datameer |
Kihívások a Big Data tesztelésében
Három gyakorlati akadály ismétlődik szinte minden Big Data projektben.
- Automatizálás: Automatizálási tesztelés A Big Data tesztelése technikai szakértelemmel rendelkező személyt igényel. Az automatizált eszközök ráadásul 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épek késleltetése időzítési problémákat okoz a valós idejű Big Data teljesítménytesztelés során. Emellett a képek kezelése Big Data esetén macerás.
- Nagy adathalmaz: Háromféle nyomás társul a térfogathoz.
- Több adatot kell ellenőrizni, és gyorsabban kell megtenni
- Automatizálni kell a tesztelést
- Képesnek kell lennie különböző platformokon tesztelni
A teljesítménytesztelés kihívásai
- Különböző technológiák halmaza: Minden alkomponens más-más technológiához tartozik, és külön-külön kell tesztelni.
- Speciális eszközök elérhetetlensége: Egyetlen eszköz sem képes elvégezni a teljes körű tesztelést. Például a NoSQL esetleg nem alkalmas üzenetsorok tesztelésére.
- Tesztelési szkriptek: A tesztforgatókönyvek és tesztesetek megtervezéséhez nagyfokú szkriptelésre van szükség.
- Tesztkörnyezet: A nagy adatmennyiség miatt speciális tesztkörnyezetre van szükség.
- Megfigyelési megoldás: Korlátozottan léteznek olyan megoldások, amelyek képesek a teljes környezet monitorozására
- Diagnosztikai megoldás: Egyéni megoldásra van szükség a teljesítménybeli szűk keresztmetszetek feltárásához



