„Big Data Testing Tutorial“: kas yra, strategija, kaip išbandyti „Hadoop“

Didžiųjų duomenų testavimas

Didžiųjų duomenų testavimas yra didžiųjų duomenų programos testavimo procesas, siekiant užtikrinti, kad visos didžiųjų duomenų programos funkcijos veiktų taip, kaip tikėtasi. Didžiųjų duomenų testavimo tikslas yra įsitikinti, kad didžiųjų duomenų sistema veikia sklandžiai ir be klaidų, išlaikant našumą ir saugumą.

Didieji duomenys yra didelių duomenų rinkinių, kurių negalima apdoroti naudojant tradicines skaičiavimo technikas, rinkinys. Šių duomenų rinkinių testavimas apima įvairius įrankius, metodus ir sistemas, kurias reikia apdoroti. Didieji duomenys yra susiję su duomenų kūrimu, saugojimu, paieška ir analize, kuri yra nepaprasta apimties, įvairovės ir greičio atžvilgiu. Čia galite sužinoti daugiau apie „Big Data“, „Hadoop“ ir „MapReduce“

Šioje „Big Data Testing“ pamokoje sužinosite

  • Kas yra didžiųjų duomenų testavimo strategija?
  • Kaip išbandyti „Hadoop“ programas
  • Architektūros testavimas
  • Našumo testavimas
  • Veiklos tikrinimo metodas
  • Našumo testavimo parametrai
  • Išbandykite aplinkos poreikius
  • Didelių duomenų testavimas, palyginti su Tradicinis duomenų bazės testavimas
  • „Big Data Scenarios“ naudojami įrankiai
  • Didžiųjų duomenų testavimo iššūkiai

Kas yra didžiųjų duomenų testavimo strategija?

„Big Data“ programos testavimas yra daugiau duomenų apdorojimo patikrinimas, o ne atskirų programinės įrangos produkto savybių tikrinimas. Kalbant apie didelių duomenų testavimą, svarbiausia yra našumas ir funkcinis testavimas .

„Big Data“ testavimo strategijoje kokybės užtikrinimo inžinieriai patikrina, ar terabaitų duomenys sėkmingai apdorojami naudojant prekių grupes ir kitus palaikomuosius komponentus. Tai reikalauja aukšto lygio įgūdžių tikrinimo, nes apdorojimas yra labai greitas. Apdorojimas gali būti trijų rūšių

Duomenų kokybė taip pat yra svarbus „Hadoop“ testavimo veiksnys. Prieš bandant programą, būtina patikrinti duomenų kokybę ir tai turėtų būti laikoma duomenų bazės testavimo dalimi. Tai apima įvairių charakteristikų, tokių kaip atitikimas, tikslumas, dubliavimas, nuoseklumas, pagrįstumas, duomenų išsamumas ir kt., Patikrinimą. Toliau šiame „Hadoop Testing“ pamokyme sužinosime, kaip išbandyti „Hadoop“ programas.

Kaip išbandyti „Hadoop“ programas

Šiame paveikslėlyje pateikiama aukšto lygio didžiųjų duomenų programų testavimo etapų apžvalga

Didžiųjų duomenų testavimą arba „Hadoop“ testavimą galima suskirstyti į tris etapus

1 veiksmas: duomenų patvirtinimo patvirtinimas

Pirmasis žingsnis šioje didelių duomenų testavimo pamokoje vadinamas „pre-Hadoop“ etapu, susijusiu su proceso patvirtinimu.

  • Duomenys iš įvairių šaltinių, pvz., RDBMS, internetinių dienoraščių, socialinės žiniasklaidos ir kt., Turėtų būti patvirtinti, kad įsitikintumėte, jog į sistemą patenka teisingi duomenys.
  • Palyginkite šaltinio duomenis su duomenimis, įterptais į „Hadoop“ sistemą, kad įsitikintumėte, jog jie sutampa
  • Patikrinkite, ar teisingi duomenys išgaunami ir įkeliami į teisingą HDFS vietą

Tokie įrankiai kaip „ Talend“ , „Datameer“ gali būti naudojami patvirtinant duomenis

2 žingsnis: „MapReduce“ patvirtinimas

Antras žingsnis yra „MapReduce“ patvirtinimas. Šiame etape „Big Data“ testeris patikrina verslo logiką kiekviename mazge, o tada patikrina juos paleidęs kelis mazgus, užtikrindamas, kad

  • „Map Reduce“ procesas veikia tinkamai
  • Duomenyse įgyvendinamos duomenų kaupimo arba atskyrimo taisyklės
  • Generuojamos pagrindinių verčių poros
  • Duomenų tikrinimas po „Map-Reduce“ proceso

3 žingsnis: išvesties patvirtinimo etapas

Paskutinis arba trečias „Hadoop“ testavimo etapas yra išvesties patvirtinimo procesas. Išvesties duomenų failai yra sugeneruoti ir paruošti perkelti į EDW („Enterprise Data Warehouse“) ar bet kurią kitą sistemą, pagrįstą reikalavimu.

Trečiojo etapo veikla apima

  • Norėdami patikrinti, ar teisingai pritaikytos transformacijos taisyklės
  • Norėdami patikrinti duomenų vientisumą ir sėkmingą duomenų įkėlimą į tikslinę sistemą
  • Norėdami patikrinti, ar nėra duomenų sugadinimo, palyginkite tikslinius duomenis su HDFS failų sistemos duomenimis

Architektūros testavimas

Hadoopas apdoroja labai didelius duomenų kiekius ir reikalauja daug išteklių. Taigi, norint užtikrinti jūsų „Big Data“ projekto sėkmę, labai svarbu atlikti architektūrinius bandymus. Dėl netinkamai ar netinkamai suprojektuotos sistemos gali pablogėti veikimas ir sistema gali neatitikti reikalavimo. Bent jau „ Performance and Failover“ testavimo paslaugos turėtų būti atliekamos „Hadoop“ aplinkoje.

Našumo testavimas apima darbo užbaigimo laiko, atminties panaudojimo, duomenų pralaidumo ir panašios sistemos metrikos testavimą. Nors „Failover“ bandymo paslaugos motyvas yra patikrinti, ar duomenų mazgai sugenda, duomenų apdorojimas vyksta sklandžiai

Našumo testavimas

Didelių duomenų našumo testavimas apima du pagrindinius veiksmus

  • Duomenų įvedimas ir peržiūra : Šiame etape „Big Data“ testeris patikrina, kaip greitai sistema gali suvartoti duomenis iš įvairių duomenų šaltinių. Testavimas apima kito pranešimo, kurį eilė gali apdoroti per tam tikrą laikotarpį, identifikavimą. Tai taip pat apima tai, kaip greitai duomenis galima įterpti į pagrindinę duomenų saugyklą, pavyzdžiui, įterpimo greitį į „Mongo“ ir „Cassandra“ duomenų bazę.
  • Duomenų apdorojimas : Tai apima patikrinimą, kaip greitai atliekamos užklausos ar žemėlapis, mažinantis užduotis. Tai taip pat apima duomenų apdorojimo testavimą atskirai, kai duomenų rinkiniuose užpildoma pagrindinė duomenų saugykla. Pvz., „Map Reduce“ užduočių vykdymas pagrindiniame HDFS
  • Sudedamųjų dalių našumas : šias sistemas sudaro keli komponentai, todėl būtina kiekvieną iš šių komponentų išbandyti atskirai. Pavyzdžiui, kaip greitai indeksuojamas ir naudojamas pranešimas, „MapReduce“ darbai, užklausos našumas, paieška ir kt.

Veiklos tikrinimo metodas

Didžiųjų duomenų taikymo našumo testavimas apima didžiulės struktūrizuotų ir nestruktūruotų duomenų apimties testavimą, todėl norint išbandyti tokius didžiulius duomenis, reikia specialaus bandymo metodo.

Našumo testavimas atliekamas šia tvarka

  1. Procesas prasideda nustatant „Big data“ grupę, kuri turi būti išbandyta
  2. Nustatykite ir suprojektuokite atitinkamus darbo krūvius
  3. Paruoškite atskirus klientus (sukuriami pasirinktiniai scenarijai)
  4. Atlikite testą ir išanalizuokite rezultatą (jei tikslai nepasiekiami, sureguliuokite komponentą ir atlikite iš naujo)
  5. Optimali konfigūracija

Našumo testavimo parametrai

Įvairūs parametrai, kuriuos reikia patikrinti atliekant eksploatacines savybes, yra

  • Duomenų saugojimas: kaip duomenys saugomi skirtinguose mazguose
  • Įvykdymo žurnalai: kokio dydžio įsipareigojimų žurnalui leidžiama augti
  • Vienalaikiškumas: kiek gijų galima atlikti rašymo ir skaitymo operacijas
  • Talpinimas talpykloje: sureguliuokite talpyklos nustatymą „eilutės talpykla“ ir „raktų talpykla“.
  • Skirtasis laikas: ryšio skirtojo laiko, užklausos skirtojo laiko vertės ir kt.
  • JVM parametrai: krūvos dydis, GC rinkimo algoritmai ir kt.
  • Žemėlapis sumažina našumą: rūšiuoja, sujungia ir t. T.
  • Pranešimo eilė: pranešimo dažnis, dydis ir kt.

Išbandykite aplinkos poreikius

Bandomoji aplinka turi priklausyti nuo bandomos programos tipo. Atliekant didelių duomenų programinės įrangos testavimą, bandymo aplinka turėtų apimti

  • Joje turėtų būti pakankamai vietos saugoti ir apdoroti didelį duomenų kiekį
  • Jame turėtų būti klasteris su paskirstytais mazgais ir duomenimis
  • Kad būtų galima patikrinti didelių duomenų našumą, jame turėtų būti minimalus procesoriaus ir atminties naudojimas

Didelių duomenų testavimas, palyginti su Tradicinis duomenų bazės testavimas

Savybės

Tradicinis duomenų bazės testavimas

Didelių duomenų testavimas

Duomenys

  • Testuotojo darbas su struktūrizuotais duomenimis
  • Testeris veikia tiek su struktūrizuotais, tiek su nestruktūrizuotais duomenimis

Testavimo metodas

  • Testavimo metodas yra gerai apibrėžtas ir patikrintas laiku
  • Testavimo metodas reikalauja sutelktų mokslinių tyrimų ir plėtros pastangų

Testavimo strategija

  • Testuotojas gali pasirinkti „atrankos“ strategiją rankiniu būdu arba „išsamaus patikrinimo“ strategiją automatikos įrankiu
  • „Atrankos“ strategija didžiuosiuose duomenyse yra iššūkis

Infrastruktūra

  • Tam nereikia specialios bandymo aplinkos, nes failo dydis yra ribotas
  • Tam reikalinga speciali bandymo aplinka dėl didelio duomenų dydžio ir failų (HDFS)

Patvirtinimo įrankiai

Testeris naudoja „Excel“ pagrindu sukurtas makrokomandas arba vartotojo sąsaja pagrįstus automatikos įrankius

Nėra apibrėžtų įrankių, asortimentas yra didelis nuo programavimo įrankių, tokių kaip MapReduce, iki HIVEQL

Testavimo įrankiai

Testavimo įrankiai gali būti naudojami turint pagrindines žinias apie darbą ir mažiau mokant.

Norint naudoti testavimo įrankį, reikia tam tikrų įgūdžių ir mokymų. Be to, įrankiai yra savo naujajame etape ir laikui bėgant gali atsirasti naujų funkcijų.

„Big Data Scenarios“ naudojami įrankiai

„Big Data Cluster“

„Big Data Tools“

„NoSQL“:

  • „CouchDB“, „MongoDB“ duomenų bazės, „Cassandra“, „Redis“, „ZooKeeper“, „HBase“

„MapReduce“:

  • Hadoopas, avilys, kiaulė, kaskados, Oozie, Kafka, S4, MapR, Flume

Sandėliavimas:

  • S3, HDFS („Hadoop“ paskirstyta failų sistema)

Serveriai:

  • „Elastic“, „Heroku“, „Elastic“, „Google App Engine“, EC2

Apdorojimas

  • R, „Yahoo!“ Vamzdžiai, „Mechanical Turk“, „BigSheets“, „Datameer“

Didžiųjų duomenų testavimo iššūkiai

  • Automatika

    Norint atlikti didelių duomenų automatizavimą, reikalingas asmuo, turintis techninių žinių. Be to, automatiniai įrankiai nėra pritaikyti netikėtoms problemoms, iškylančioms bandant, spręsti

  • Virtualizacija

    Tai yra vienas iš neatsiejamų bandymų etapų. Virtualioji mašina vėluoja, todėl realiuoju laiku atliekant didelių duomenų našumą tikrinamos problemos. Vaizdų valdymas didžiuosiuose duomenyse taip pat yra vargas.

  • Didelis duomenų rinkinys
    • Reikia patikrinti daugiau duomenų ir tai padaryti greičiau
    • Reikia automatizuoti bandymo pastangas
    • Reikia mokėti išbandyti skirtingose ​​platformose

Našumo testavimo iššūkiai

  • Įvairus technologijų rinkinys : kiekvienas komponentas priklauso skirtingoms technologijoms ir jį reikia išbandyti atskirai
  • Konkrečių įrankių neprieinamumas : nė vienas įrankis negali atlikti visiško testavimo. Pavyzdžiui, „NoSQL“ gali netikti pranešimų eilėse
  • Testinis scenarijus : norint sukurti testavimo scenarijus ir bandymo atvejus, reikalingas aukštas scenarijų lygis
  • Bandymo aplinka : jai reikalinga speciali bandymo aplinka dėl didelio duomenų dydžio
  • Stebėjimo sprendimas : egzistuoja riboti sprendimai, galintys stebėti visą aplinką
  • Diagnostinis sprendimas : reikia sukurti individualų sprendimą, kad būtų galima išgręžti našumo trūkumus

Santrauka

  • Duomenų inžinerijai ir duomenų analizei žengiant į kitą lygį, didžiųjų duomenų testavimas yra neišvengiamas.
  • Didelių duomenų apdorojimas gali būti paketinis, realiuoju laiku arba interaktyvus
  • Yra 3 „Big Data“ programų testavimo etapai
    • Duomenų etapų patvirtinimas
    • „MapReduce“ patvirtinimas
    • Rezultatų patvirtinimo etapas
  • Architektūros testavimas yra svarbus didžiųjų duomenų testavimo etapas, nes netinkamai suprojektuota sistema gali sukelti precedento neturinčias klaidas ir pabloginti veikimą.
  • „Big Data“ našumo testavimas apima patikrinimą
    • Duomenų pralaidumas
    • Duomenų apdorojimas
    • Sudedamųjų dalių veikimas
  • Didžiųjų duomenų testavimas labai skiriasi nuo tradicinių duomenų testavimo duomenų, infrastruktūros ir patvirtinimo įrankių požiūriu
  • „Big Data Testing“ iššūkiai apima virtualizavimą, bandymų automatizavimą ir didelių duomenų rinkinių tvarkymą. „Big Data“ programų našumo testavimas taip pat yra problema.

Įdomios straipsniai...