Testovanie veľkých dát
Testovanie veľkých dát je proces testovania aplikácie pre veľké dáta, aby sa zabezpečilo, že všetky funkcie aplikácie pre veľké dáta fungujú podľa očakávania. Cieľom testovania veľkých údajov je zaistiť, aby systém veľkých údajov fungoval hladko a bezchybne, pričom sa zachová výkon a bezpečnosť.
Veľké dáta sú zbierkou veľkých súborov údajov, ktoré nie je možné spracovať pomocou tradičných výpočtových techník. Testovanie týchto súborov údajov zahŕňa rôzne nástroje, techniky a rámce, ktoré sa majú spracovať. Veľké dáta sa týkajú vytvárania, ukladania, vyhľadávania a analýzy údajov, ktoré sú pozoruhodné z hľadiska objemu, rozmanitosti a rýchlosti. Viac informácií o Big Data, Hadoop a MapReduce sa dozviete tu
V tomto výučbe o testovaní veľkých dát sa naučíte -
- Čo je stratégia testovania veľkých dát?
- Ako testovať aplikácie Hadoop
- Testovanie architektúry
- Testovanie výkonu
- Prístup k testovaniu výkonnosti
- Parametre na testovanie výkonu
- Potreby testovacieho prostredia
- Testovanie veľkých dát vs. Tradičné testovanie databázy
- Nástroje používané v scenároch veľkých dát
- Výzvy v testovaní veľkých dát
Čo je stratégia testovania veľkých dát?
Testovanie aplikácie Big Data spočíva skôr v overovaní jej spracovania údajov než v testovaní jednotlivých funkcií softvérového produktu. Pokiaľ ide o testovanie veľkých dát, kľúčom je testovanie výkonu a funkčnosti .
V rámci testovacej stratégie veľkých dát technici QA overujú úspešné spracovanie terabajtov dát pomocou komoditného klastra a ďalších podporných komponentov. Vyžaduje si vysokú úroveň testovacích schopností, pretože spracovanie je veľmi rýchle. Spracovanie môže byť troch typov
Spolu s tým je kvalita údajov tiež dôležitým faktorom pri testovaní Hadoop. Pred testovaním aplikácie je potrebné skontrolovať kvalitu údajov a mali by sa považovať za súčasť testovania databázy. Zahŕňa kontrolu rôznych charakteristík, ako je zhoda, presnosť, duplikácia, konzistencia, platnosť, úplnosť údajov atď. Ďalej v tomto výučbe testovania Hadoop sa dozvieme, ako testovať aplikácie Hadoop.
Ako testovať aplikácie Hadoop
Nasledujúci obrázok poskytuje prehľad na vysokej úrovni o fázach testovania aplikácií Big Data
Testovanie veľkých dát alebo testovanie Hadoop možno rozdeliť do troch krokov
Krok 1: Overenie postupnosti údajov
Prvý krok v tomto výučbe testovania veľkých dát sa označuje ako fáza pred Hadoopom, ktorá zahŕňa validáciu procesu.
- Dáta z rôznych zdrojov, ako sú RDBMS, webové denníky, sociálne médiá atď., By mali byť overené, aby sa zabezpečilo, že do systému budú načítané správne údaje.
- Porovnanie zdrojových údajov s údajmi vloženými do systému Hadoop s cieľom zaistiť ich zhodu
- Skontrolujte, či sú správne údaje extrahované a načítané do správneho umiestnenia HDFS
Na overenie postupnosti údajov je možné použiť nástroje ako Talend , Datameer
Krok 2: Overenie „MapReduce“
Druhým krokom je validácia „MapReduce“. V tejto fáze tester veľkých dát overuje overenie obchodnej logiky na každom uzle a potom ich overuje po spustení proti viacerým uzlom, čím zaistí, že
- Proces redukcie mapy funguje správne
- Na údajoch sú implementované pravidlá agregácie alebo segregácie údajov
- Generujú sa páry kľúč - hodnota
- Overenie údajov po procese Map-Reduce
Krok 3: Fáza overenia výstupu
Poslednou alebo treťou fázou testovania Hadoop je proces validácie výstupu. Výstupné dátové súbory sa generujú a na základe požiadavky sú pripravené na presun do EDW (Enterprise Data Warehouse) alebo do iného systému.
Medzi činnosti v tretej etape patria
- Na kontrolu sú transformačné pravidlá správne použité
- Na kontrolu integrity dát a úspešného zavedenia dát do cieľového systému
- Porovnaním cieľových údajov s údajmi systému súborov HDFS skontrolujete, či nedošlo k poškodeniu údajov
Testovanie architektúry
Hadoop spracováva veľmi veľké objemy dát a je vysoko náročný na zdroje. Z tohto dôvodu je architektonické testovanie zásadné pre zabezpečenie úspechu vášho projektu Big Data. Zle alebo nesprávne navrhnutý systém môže viesť k zníženiu výkonu a môže zlyhať pri splnení požiadavky. Aspoň by sa testovacie služby Performance a Failover mali vykonávať v prostredí Hadoop.
Testovanie výkonu zahŕňa testovanie času dokončenia úlohy, využitia pamäte, dátovej priepustnosti a podobných systémových metrík. Zatiaľ čo motívom testovacej služby Failover je overenie toho, že spracovanie údajov prebieha bez problémov v prípade zlyhania dátových uzlov
Testovanie výkonu
Testovanie výkonu pre veľké dáta zahŕňa dve hlavné akcie
- Príjem dát a počas celého obdobia: V tejto fáze tester veľkých údajov overuje, ako rýchly systém dokáže spotrebovať údaje z rôznych zdrojov údajov. Testovanie zahŕňa identifikáciu inej správy, ktorú môže fronta spracovať v danom časovom rámci. Zahŕňa tiež to, ako rýchlo je možné vložiť údaje do základného úložiska údajov, napríklad rýchlosť vkladania do databázy Mongo a Cassandra.
- Spracovanie údajov : Zahŕňa overenie rýchlosti, s akou sa vykonávajú dotazy alebo mapové úlohy. Zahŕňa tiež testovanie izolovaného spracovania údajov, keď je podkladové úložisko údajov naplnené v množinách údajov. Napríklad spustenie úloh Map Reduce na podkladovom HDFS
- Výkon subkomponentu : Tieto systémy pozostávajú z viacerých komponentov a je nevyhnutné testovať každý z týchto komponentov izolovane. Napríklad to, ako rýchlo je správa indexovaná a spotrebovaná, úlohy MapReduce, výkon dotazov, vyhľadávanie atď.
Prístup k testovaniu výkonnosti
Testovanie výkonu pre aplikáciu veľkých dát zahŕňa testovanie veľkého množstva štruktúrovaných a neštruktúrovaných údajov a na testovanie takýchto masívnych údajov si vyžaduje osobitný prístup k testovaniu.
Testovanie výkonu sa vykonáva v tomto poradí
- Proces začína nastavením klastra veľkých údajov, ktorý sa má testovať na výkon
- Identifikujte a navrhnite zodpovedajúce pracovné zaťaženie
- Pripravte jednotlivých klientov (vytvárajú sa vlastné skripty)
- Vykonajte test a analyzujte výsledok (Ak ciele nie sú splnené, vylaďte komponent a znovu vykonajte)
- Optimálna konfigurácia
Parametre na testovanie výkonu
Na testovanie výkonu je potrebné overiť rôzne parametre
- Úložisko údajov: Ako sa údaje ukladajú v rôznych uzloch
- Denníky potvrdenia: Aký veľký je povolený nárast denníka potvrdenia
- Súbežnosť: Koľko vlákien môže vykonávať operáciu zápisu a čítania
- Ukladanie do medzipamäte: Nalaďte nastavenia medzipamäte „cache riadkov“ a „kľúč cache“.
- Časové limity: Hodnoty časového limitu pripojenia, časového limitu dotazu atď.
- Parametre JVM: veľkosť haldy, algoritmy zhromažďovania GC atď.
- Mapa znižuje výkon: Triedi, zlučuje atď.
- Fronta správ: Miera, veľkosť atď.
Potreby testovacieho prostredia
Testovacie prostredie musí závisieť od typu aplikácie, ktorú testujete. Pre testovanie veľkého dátového softvéru by malo byť zahrnuté testovacie prostredie
- Mal by mať dostatok miesta na ukladanie a spracovanie veľkého množstva údajov
- Mal by mať klaster s distribuovanými uzlami a dátami
- Mal by mať minimálne využitie CPU a pamäte, aby udržal vysoký výkon na testovanie výkonu veľkých dát
Testovanie veľkých dát vs. Tradičné testovanie databázy
Vlastnosti |
Tradičné testovanie databázy |
Testovanie veľkých dát |
---|---|---|
Údaje |
|
|
Prístup k testovaniu |
|
|
Stratégia testovania |
|
|
Infraštruktúra |
|
|
Validačné nástroje |
Tester používa buď makrá založené na programe Excel, alebo automatizačné nástroje založené na používateľskom rozhraní |
Nie sú definované žiadne nástroje, rozsah je široký od programovacích nástrojov ako MapReduce až po HIVEQL |
Testovacie nástroje |
Testovacie nástroje je možné používať so základnými prevádzkovými znalosťami a menším počtom školení. |
Na obsluhu testovacieho nástroja je potrebný konkrétny súbor zručností a školení. Nástroje sú tiež v počiatočnom štádiu a časom môžu prísť s novými funkciami. |
Nástroje používané v scenároch veľkých dát
Big Data Cluster |
Big Data Tools |
---|---|
NoSQL: |
|
MapReduce: |
|
Skladovanie: |
|
Servery: |
|
Spracovanie |
|
Výzvy v testovaní veľkých dát
- Automatizácia
Testovanie automatizácie pre veľké dáta vyžaduje niekoho, kto má technické znalosti. Automatizované nástroje tiež nie sú vybavené na zvládnutie neočakávaných problémov, ktoré sa vyskytnú počas testovania
- Virtualizácia
Je to jedna z integrálnych fáz testovania. Latencia virtuálneho počítača vytvára problémy s časovaním pri testovaní výkonu veľkých dát v reálnom čase. Problémy predstavuje aj správa obrázkov vo veľkých dátach.
- Veľká množina údajov
- Potrebujete overiť viac údajov a musíte to urobiť rýchlejšie
- Je potrebné automatizovať testovacie úsilie
- Musíte byť schopní testovať na rôznych platformách
Výzvy na testovanie výkonu
- Rôznorodá sada technológií : Každý čiastkový komponent patrí do inej technológie a vyžaduje samostatné testovanie
- Nedostupnosť konkrétnych nástrojov : Žiadny nástroj nemôže vykonať komplexné testovanie. Napríklad NoSQL sa nemusí hodiť do frontu správ
- Skriptovanie testu : Na navrhnutie testovacích scenárov a testovacích prípadov je potrebný vysoký stupeň skriptovania
- Testovacie prostredie : Kvôli veľkej veľkosti dát potrebuje špeciálne testovacie prostredie
- Monitorovacie riešenie : Existujú obmedzené riešenia, ktoré dokážu monitorovať celé prostredie
- Diagnostické riešenie : Na vývoj je potrebné vyvinúť vlastné riešenie, aby sa získali podrobné informácie o oblastiach s úzkym profilom výkonu
Zhrnutie
- Pretože dátové inžinierstvo a analýza dát postupujú na ďalšiu úroveň, testovanie veľkých dát je nevyhnutné.
- Spracovanie veľkých údajov môže byť dávkové, v reálnom čase alebo interaktívne
- 3 fázy testovania aplikácií Big Data sú
- Overovanie postupnosti údajov
- Overenie „MapReduce“
- Fáza validácie výstupu
- Testovanie architektúry je dôležitou fázou testovania veľkých dát, pretože nesprávne navrhnutý systém môže viesť k bezprecedentným chybám a zníženiu výkonu.
- Testovanie výkonu pre veľké dáta zahŕňa overovanie
- Dátová priepustnosť
- Spracovanie dát
- Výkon podzložky
- Testovanie veľkých údajov sa veľmi líši od tradičného testovania údajov, pokiaľ ide o údaje, infraštruktúru a overovacie nástroje
- Medzi výzvy pri testovaní veľkých dát patrí virtualizácia, automatizácia testov a riešenie veľkého súboru údajov. Problémom je aj testovanie výkonu aplikácií Big Data.