Big Data Testing Tutorial: Mikä on, strategia, miten testata Hadoopia

Sisällysluettelo:

Anonim

Suurten tietojen testaus

Big Data Testing on big data -sovelluksen testausprosessi sen varmistamiseksi, että kaikki big data -sovelluksen toiminnot toimivat odotetusti. Isotietotestauksen tavoitteena on varmistaa, että isotietojärjestelmä toimii sujuvasti ja virheettömästi säilyttäen samalla suorituskyvyn ja turvallisuuden.

Suuret tiedot ovat kokoelma suuria aineistoja, joita ei voida käsitellä perinteisillä laskentatekniikoilla. Näiden tietojoukkojen testaaminen edellyttää erilaisia ​​työkaluja, tekniikoita ja kehyksiä. Suuret tiedot liittyvät tietojen luomiseen, tallentamiseen, hakemiseen ja analysointiin, jotka ovat merkittäviä määrän, vaihtelevuuden ja nopeuden suhteen. Voit oppia lisää Big Datasta, Hadoopista ja MapReducesta täältä

Tässä Big Data Testing -oppaassa opit-

  • Mikä on Big Data Testing Strategy?
  • Kuinka testata Hadoop-sovelluksia
  • Arkkitehtuurin testaus
  • Suorituskyvyn testaus
  • Suorituskyvyn testausmenetelmä
  • Suorituskyvyn testauksen parametrit
  • Testiympäristön tarpeet
  • Suurten tietojen testaus vs. Perinteinen tietokantatestaus
  • Big Data -skenaarioissa käytetyt työkalut
  • Suurten tietojen testauksen haasteet

Mikä on Big Data Testing Strategy?

Big Data -sovelluksen testaaminen on enemmän sen tietojenkäsittelyn todentamista kuin ohjelmistotuotteen yksittäisten ominaisuuksien testaamista. Suurten tietojen testauksessa avaimet ovat suorituskyky ja toiminnallinen testaus .

Big Data -testausstrategiassa laadunvarmistusinsinöörit varmistavat teratavujen tiedon onnistuneen käsittelyn hyödykeklusterin ja muiden tukevien komponenttien avulla. Se vaatii korkeatasoista testaustaitoa, koska käsittely on erittäin nopeaa. Käsittely voi olla kolmen tyyppistä

Tämän lisäksi tiedon laatu on myös tärkeä tekijä Hadoop-testauksessa. Ennen sovelluksen testaamista on välttämätöntä tarkistaa tietojen laatu, ja sitä tulisi pitää osana tietokantatestausta. Se sisältää erilaisten ominaisuuksien, kuten vaatimustenmukaisuuden, tarkkuuden, päällekkäisyyden, yhdenmukaisuuden, oikeellisuuden, tietojen täydellisyyden jne. Tarkistamisen . Seuraavaksi tässä Hadoop-testausoppaassa opitaan testaamaan Hadoop-sovelluksia.

Kuinka testata Hadoop-sovelluksia

Seuraava kuva antaa korkean tason yleiskuvan Big Data -sovellusten testaamisen vaiheista

Big Data -testaus tai Hadoop-testaus voidaan jakaa laajasti kolmeen vaiheeseen

Vaihe 1: Tietojen vaiheittainen vahvistus

Ensimmäistä vaihetta tässä isojen tietojen testausoppaassa kutsutaan Hadoopia edeltäväksi vaiheeksi, johon sisältyy prosessin validointi.

  • Eri lähteistä, kuten RDBMS: stä, blogeista, sosiaalisesta mediasta, jne. Saadut tiedot olisi validoitava, jotta voidaan varmistaa, että järjestelmään vedetään oikeat tiedot
  • Lähdetietojen vertaaminen Hadoop-järjestelmään työnnettyihin tietoihin varmistaakseen, että ne vastaavat toisiaan
  • Varmista, että oikeat tiedot on purettu ja ladattu oikeaan HDFS-sijaintiin

Työkaluja, kuten Talend , Datameer, voidaan käyttää tietojen vaiheistamiseen

Vaihe 2: "MapReduce" -vahvistus

Toinen vaihe on "MapReduce" -vahvistuksen validointi. Tässä vaiheessa Big Data -testaaja tarkistaa jokaisen solmun liiketoimintalogiikan validoinnin ja vahvistaa sen sitten suoritettuaan useita solmuja varmistaen, että

  • Map Reduce -prosessi toimii oikein
  • Tietoihin yhdistetään tietojen yhdistämistä tai erottelua koskevat säännöt
  • Avainarvoparit luodaan
  • Tarkistetaan tiedot Map-Reduce -prosessin jälkeen

Vaihe 3: Lähdön vahvistusvaihe

Hadoop-testauksen viimeinen tai kolmas vaihe on lähdön vahvistusprosessi. Lähtötiedostot luodaan ja ovat valmiita siirrettäviksi EDW: ään (Enterprise Data Warehouse) tai mihin tahansa muuhun vaatimukseen perustuvaan järjestelmään.

Kolmannen vaiheen toiminta sisältää

  • Muunnossääntöjen tarkistamiseksi sovelletaan oikein
  • Tarkistaa datan eheys ja onnistunut tietojen lataus kohdejärjestelmään
  • Tarkistetaan, ettei tiedoissa ole virheitä vertaamalla kohdetietoja HDFS-tiedostojärjestelmän tietoihin

Arkkitehtuurin testaus

Hadoop käsittelee erittäin suuria tietomääriä ja on erittäin resurssiintensiivinen. Siksi arkkitehtoninen testaus on ratkaisevan tärkeää Big Data -projektisi onnistumisen varmistamiseksi. Huonosti tai väärin suunniteltu järjestelmä voi johtaa suorituskyvyn heikkenemiseen, eikä järjestelmä voi täyttää vaatimusta. Ainakin Suorituskyky- ja Failover-testipalvelut tulisi suorittaa Hadoop-ympäristössä.

Suorituskykytestaus sisältää työn valmistumisajan, muistin käytön, tiedonsiirtonopeuden ja vastaavien järjestelmän mittareiden testaamisen. Vaikka vikasietotestipalvelun motiivi on varmistaa, että tietojenkäsittely tapahtuu saumattomasti datasolmujen epäonnistumisen yhteydessä

Suorituskyvyn testaus

Suurten tietojen suorituskyvyn testaus sisältää kaksi päätoimintoa

  • Datan käyttö ja koko : Tässä vaiheessa Big Data -testari tarkistaa, kuinka nopeasti järjestelmä voi kuluttaa tietoja eri tietolähteistä. Testaus sisältää toisen viestin tunnistamisen, jonka jono voi käsitellä tiettynä ajanjaksona. Se sisältää myös kuinka nopeasti tietoja voidaan lisätä taustalla olevaan tietovarastoon, esimerkiksi lisäysnopeus Mongo ja Cassandra -tietokantaan.
  • Tietojenkäsittely : Siihen sisältyy nopeuden tarkistaminen, jolla kyselyt tai kartta vähentävät töitä suoritetaan. Se sisältää myös tietojenkäsittelyn testaamisen erikseen, kun taustalla oleva tietovarasto täytetään tietojoukoissa. Esimerkiksi Map Reduce -työkalujen suorittaminen taustalla olevassa HDFS: ssä
  • Alikomponenttien suorituskyky : Nämä järjestelmät koostuvat useista komponenteista, ja on välttämätöntä testata kukin näistä komponenteista erikseen. Esimerkiksi kuinka nopeasti viesti indeksoidaan ja kulutetaan, MapReduce-työt, kyselyn suorituskyky, haku jne.

Suorituskyvyn testausmenetelmä

Suurten tietosovellusten suorituskyvyn testaus käsittää valtavan määrän jäsenneltyjä ja jäsentämättömiä tietoja, ja se vaatii erityistä testausmenetelmää tällaisen massiivisen tiedon testaamiseksi.

Suorituskykytestaus suoritetaan tässä järjestyksessä

  1. Prosessi alkaa Big Data -klusterin asetuksella, jonka suorituskyky on testattava
  2. Tunnista ja suunnittele vastaavat kuormitukset
  3. Valmista yksittäiset asiakkaat (mukautetut komentosarjat luodaan)
  4. Suorita testi ja analysoi tulos (jos tavoitteet eivät täyty, viritä komponentti ja suorita uudelleen)
  5. Optimaalinen kokoonpano

Suorituskyvyn testauksen parametrit

Suorituskykytestauksessa tarkistettavat parametrit ovat

  • Tietojen tallennus: Kuinka tietoja tallennetaan eri solmuihin
  • Sitoumuslokit: Kuinka suuren sitoumuslokin saa kasvaa
  • Samanaikaisuus: Kuinka monta ketjua voi suorittaa kirjoitus- ja lukutoiminnon
  • Välimuisti: Viritä välimuistiasetukset "rivivälimuisti" ja "avaimen välimuisti".
  • Aikakatkaisut: Yhteyden aikakatkaisun, kyselyn aikakatkaisun jne. Arvot
  • JVM-parametrit: kasan koko, GC-keräysalgoritmit jne.
  • Kartta heikentää suorituskykyä: lajittelee, yhdistää jne.
  • Viestin jono: Viestin nopeus, koko jne.

Testiympäristön tarpeet

Testiympäristön on oltava riippuvainen testattavasta sovellustyypistä. Suurten dataohjelmistojen testauksessa testausympäristön tulisi kattaa

  • Siinä pitäisi olla tarpeeksi tilaa tallennukseen ja prosessoida suuri määrä tietoa
  • Sen pitäisi olla klusteri, jossa on hajautetut solmut ja tiedot
  • Sen pitäisi olla vähimmäisprosessorin ja muistin käyttöaste, jotta suorituskyky pysyy korkeana Big Data -suorituskyvyn testaamiseksi

Suurten tietojen testaus vs. Perinteinen tietokantatestaus

Ominaisuudet

Perinteinen tietokantatestaus

Suurten tietojen testaus

Tiedot

  • Testerityö jäsenneltyjen tietojen kanssa
  • Tester toimii sekä jäsenneltyjen että jäsentämättömien tietojen kanssa

Lähestymistavan testaaminen

  • Testausmenetelmä on hyvin määritelty ja testattu ajallisesti
  • Testausmenetelmä edellyttää kohdennettua T & K-työtä

Testausstrategia

  • Testerillä on mahdollisuus valita "näytteenotto" -strategia manuaalisesti tai "tyhjentävä todentaminen" -strategia automaatiotyökalulla
  • "Näytteenotto" -strategia isoissa tiedoissa on haaste

Infrastruktuuri

  • Se ei vaadi erityistä testiympäristöä, koska tiedostokoko on rajoitettu
  • Se vaatii erityisen testiympäristön suuren datakoon ja tiedostojen (HDFS) vuoksi

Vahvistustyökalut

Tester käyttää joko Excel-pohjaisia ​​makroja tai käyttöliittymäpohjaisia ​​automaatiotyökaluja

Ei määriteltyjä työkaluja, valikoima on laaja ohjelmointityökaluista, kuten MapReduce, HIVEQL: ään

Testaustyökalut

Testaustyökaluja voidaan käyttää perustiedot ja vähemmän koulutusta.

Testityökalun käyttäminen vaatii erityisiä taitoja ja koulutusta. Työkalut ovat myös syntymässä ja ajan myötä se voi tuoda esiin uusia ominaisuuksia.

Big Data -skenaarioissa käytetyt työkalut

Big Data Cluster

Big Data -työkalut

NoSQL:

  • CouchDB, tietokannat MongoDB, Cassandra, Redis, ZooKeeper, HBase

MapReduce:

  • Hadoop, Hive, Sika, CSS, Oozie, Kafka, S4, MapR, Flume

Varastointi:

  • S3, HDFS (Hadoop-hajautettu tiedostojärjestelmä)

Palvelimet:

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

Käsittely

  • R, Yahoo! Putket, mekaaninen turkki, BigSheets, Datameer

Suurten tietojen testauksen haasteet

  • Automaatio

    Big-datan automaatiotestaus vaatii jonkun, jolla on teknistä osaamista. Automatisoituja työkaluja ei myöskään ole tarkoitettu käsittelemään odottamattomia ongelmia, jotka syntyvät testauksen aikana

  • Virtualisointi

    Se on yksi testauksen kiinteistä vaiheista. Virtuaalikoneen viive luo ajoitusongelmia reaaliaikaisessa suurten tietojen suorituskyvyn testauksessa. Kuvien hallinta myös Big Data -palvelussa on vaivaa.

  • Suuri tietojoukko
    • Tarve tarkistaa enemmän tietoja ja tehdä se nopeammin
    • Tarve automatisoida testaus
    • On pystyttävä testaamaan eri alustoilla

Suorituskykytestauksen haasteet

  • Erilaiset tekniikat : Jokainen alikomponentti kuuluu eri tekniikkaan ja vaatii testausta erikseen
  • Tiettyjen työkalujen puuttuminen : Yksittäinen työkalu ei voi suorittaa end-to-end-testausta. Esimerkiksi NoSQL ei välttämättä sovi viestijonoihin
  • Testiskriptaus : Testiskenaarioiden ja testitapausten suunnitteluun tarvitaan korkea komentosarjojen taso
  • Testiympäristö : Se tarvitsee erityisen testiympäristön suuren tiedon koon vuoksi
  • Seurantaratkaisu : On olemassa rajoitettuja ratkaisuja, jotka voivat seurata koko ympäristöä
  • Diagnostinen ratkaisu : Mukautettu ratkaisu on kehitettävä suorituskyvyn pullonkaulojen poraamiseksi

Yhteenveto

  • Tietotekniikan ja data-analytiikan edetessä uudelle tasolle suurten tietojen testaus on väistämätöntä.
  • Suuri tietojenkäsittely voi olla erä, reaaliaikainen tai vuorovaikutteinen
  • Big Data -sovellusten testaamisen 3 vaihetta ovat
    • Tietojen vaiheittainen validointi
    • "MapReduce" -tarkistus
    • Lähdön validointivaihe
  • Arkkitehtuurin testaus on iso data-testauksen tärkeä vaihe, koska huonosti suunniteltu järjestelmä voi johtaa ennennäkemättömiin virheisiin ja suorituskyvyn heikkenemiseen
  • Suurten tietojen suorituskyvyn testaus sisältää vahvistamisen
    • Tiedonsiirtonopeus
    • Tietojenkäsittely
    • Alakomponenttien suorituskyky
  • Suurten tietojen testaus eroaa hyvin perinteisestä datatestauksesta tietojen, infrastruktuurin ja validointityökalujen suhteen
  • Big Data Testing -haasteisiin kuuluvat virtualisointi, testausautomaatio ja suurten tietojoukkojen käsittely. Big Data -sovellusten suorituskyvyn testaus on myös ongelma.