Big Data Testing Tutorial: Mikä on, strategia, kuinka testata Hadoop

Big Datan testaus

Big Datan testaus on big data -sovelluksen testausprosessi, jolla varmistetaan, että big data -sovelluksen kaikki toiminnot toimivat odotetulla tavalla. Big data -testauksen tavoitteena on varmistaa, että big datajärjestelmä toimii sujuvasti ja virheettömästi samalla, kun sen suorituskyky ja tietoturva säilyvät.

Big data on kokoelma suuria tietojoukkoja, joita ei voida käsitellä perinteisillä laskentatekniikoilla. Testaus Näistä tietojoukoista käsitellään erilaisia ​​työkaluja, tekniikoita ja kehyksiä. Big data liittyy tiedon luomiseen, tallentamiseen, hakuun ja analysointiin, mikä on merkittävä määrä, monimuotoisuus ja nopeus. Voit oppia lisää Big Datasta, Hadoopista ja MapReducesta tätä

Mikä on Big Datan testausstrategia?

Big Data -sovelluksen testaus on enemmän sen tietojenkäsittelyn varmentamista ohjelmistotuotteen yksittäisten ominaisuuksien testaamisen sijaan. Mitä tulee Big datan testaukseen, suorituskyky- ja toimintatestaus ovat avaimet.

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

Big Datan testausstrategia

Tämän lisäksi tietojen laatu on myös tärkeä tekijä Hadoop-testauksessa. Ennen sovelluksen testaamista on tarpeen tarkistaa tietojen laatu ja se tulee katsoa osaksi tietokantatestausta. Se sisältää erilaisten ominaisuuksien, kuten vaatimustenmukaisuuden, tarkkuuden, päällekkäisyyden, johdonmukaisuuden, oikeellisuuden, tietojen täydellisyyden, tarkistamisen, jne. Seuraavaksi tässä Hadoop-testaus-opetusohjelmassa opimme testaamaan Hadoop-sovelluksia.

Kuinka testata Hadoop-sovelluksia

Seuraava kuva antaa korkean tason yleiskatsauksen Big Data -sovellusten testauksen vaiheisiin

Testaa Hadoop-sovelluksia

Big Data Testing tai Hadoop Testing voidaan jakaa laajasti kolmeen vaiheeseen

Vaihe 1: Tietojen vaiheittainen vahvistus

Tämän big datan testausoppaan ensimmäistä vaihetta kutsutaan Hadoop-a edeltäväksi vaiheeksi, joka sisältää prosessin validoinnin.

  • Tiedot eri lähteistä, kuten RDBMS, verkkoblogit, sosiaalinen media jne. tulee validoida, jotta varmistetaan, että järjestelmään vedetään oikeat tiedot
  • Lähdetietojen vertailu Hadoop-järjestelmään lähetettyihin tietoihin varmistaaksesi, että ne täsmäävät
  • Varmista, että oikeat tiedot poimitaan ja ladataan oikeaan HDFS-sijaintiin

Työkalut kuten Talend, Datameer, voidaan käyttää tietojen vaiheittaiseen validointiin

Vaihe 2: "MapReduce" -tarkistus

Toinen vaihe on "MapReducen" validointi. Tässä vaiheessa Big Datan testaaja varmistaa liiketoimintalogiikan validoinnin jokaisessa solmussa ja sitten validoi ne suoritettuaan useita solmuja ja varmistaa, että

  • Map Reduce -prosessi toimii oikein
  • Tietoihin sovelletaan tietojen yhdistämis- tai erottelusääntöjä
  • Avainarvoparit luodaan
  • Tietojen validointi Map-Reduce-prosessin jälkeen

Vaihe 3: Lähdön vahvistusvaihe

Hadoop-testauksen viimeinen tai kolmas vaihe on tulosteen validointiprosessi. Tulostusdatatiedostot luodaan ja ovat valmiita siirrettäväksi EDW:hen (Enterprise Data Warehouse) tai mihin tahansa muuhun vaatimuksen mukaiseen järjestelmään.

Kolmannen vaiheen toimintaan kuuluu mm

  • Tarkistaaksesi, että muunnossääntöjä sovelletaan oikein
  • Tietojen eheyden ja onnistuneen tiedon latauksen tarkistaminen kohdejärjestelmään
  • Voit tarkistaa, ettei tiedoissa ole korruptoitumista vertaamalla kohdetietoja HDFS-tiedostojärjestelmän tietoihin

Architecture 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 ja järjestelmä ei välttämättä täytä vaatimuksia. Vähintään, Suorituskyky ja vikasietotesti palvelut tulee tehdä Hadoop-ympäristössä.

Suorituskykytestaus sisältää työn valmistumisajan, muistin käytön, tiedonsiirron ja vastaavien järjestelmämittareiden testauksen. Failover-testipalvelun motiivi on varmistaa, että tietojen käsittely tapahtuu saumattomasti datasolmujen epäonnistuessa

Suorituskykytestaus

Big Datan suorituskykytestaus sisältää kaksi päätoimintoa

  • Tietojen nieleminen ja kautta: Tässä vaiheessa Big Datan testaaja tarkistaa, kuinka nopea järjestelmä pystyy kuluttamaan dataa eri tietolähteistä. Testauksessa tunnistetaan eri viesti, jonka jono voi käsitellä tietyllä aikavälillä. Se sisältää myös kuinka nopeasti tietoja voidaan lisätä taustalla olevaan tietovarastoon, esimerkiksi lisäysnopeus Mongoon ja Cassandra tietokanta.
  • Tietojenkäsittely: Siinä tarkistetaan nopeus, jolla kyselyt tai kartan pienennystyöt suoritetaan. Se sisältää myös tietojenkäsittelyn testaamisen erikseen, kun taustalla oleva tietovarasto täytetään tietojoukkojen sisällä. Esimerkiksi Map Reduce -töiden suorittaminen taustalla HDFS
  • Komponenttien alaosa: Nämä järjestelmät koostuvat useista osista, ja on tärkeää testata jokainen näistä komponenteista erikseen. Esimerkiksi kuinka nopeasti viesti indeksoidaan ja kulutetaan, MapReduce-työt, kyselyn suorituskyky, haku jne.
  • Suorituskykytestauksen lähestymistapa

    Big data -sovelluksen suorituskyvyn testaus sisältää valtavien määrien strukturoidun ja strukturoimattoman datan testaamisen, ja se vaatii erityistä testaustapaa tällaisen massiivisen datan testaamiseen.

    Suorituskykytestauksen lähestymistapa

    Suorituskykytestaus suoritetaan tässä järjestyksessä

    1. Prosessi alkaa Big data -klusterin asettamisesta, jonka suorituskyky on testattava
    2. Tunnista ja suunnittele vastaavat työmäärät
    3. Valmistele yksittäisiä asiakkaita (muokatut skriptit luodaan)
    4. Suorita testi ja analysoi tulos (jos tavoitteet eivät täyty, viritä komponentti ja suorita uudelleen)
    5. Optimaalinen kokoonpano

    Suorituskykytestauksen parametrit

    Suorituskykytestausta varten on tarkistettava erilaisia ​​parametreja

    • Tietojen tallennus: Miten tiedot tallennetaan eri solmuihin
    • Toimituslokit: Kuinka suureksi toimituslokin annetaan kasvaa
    • Samanaikaisuus: Kuinka monta säiettä voi suorittaa kirjoitus- ja lukutoiminnon
    • Välimuisti: Säädä välimuistiasetukset "rivivälimuisti" ja "avainvälimuisti".
    • Aikakatkaisut: Arvot yhteyden aikakatkaisulle, kyselyn aikakatkaisulle jne.
    • JVM-parametrit: Keon koko, GC-keräysalgoritmit jne.
    • Kartta vähentää suorituskykyä: lajittelee, yhdistä jne.
    • Viestijono: Viestin nopeus, koko jne.

    Testiympäristön tarpeet

    Testiympäristön on oltava riippuvainen testattavan sovelluksen tyypistä. Big datan ohjelmistotestauksessa testiympäristön tulisi kattaa

    • Siinä pitäisi olla tarpeeksi tilaa tallennusta ja suuren datamäärän käsittelyä varten
    • Siinä pitäisi olla klusteri, jossa on hajautettuja solmuja ja tietoja
    • Siinä pitäisi olla vähintään suorittimen ja muistin käyttöaste, jotta suorituskyky pysyy korkeana Big Datan suorituskyvyn testaamiseksi

    Big datan testaus vs. Perinteinen tietokannan testaus

    Kiinteistöt Perinteinen tietokantatestaus Big datan testaus
    Päiväys Testaaja työskentelee strukturoidun tiedon kanssa Testaaja toimii sekä strukturoidun että strukturoimattoman tiedon kanssa
    Testausmenetelmä Testaustapa on hyvin määritelty ja aika-testattu Testaustapa vaatii kohdennettua T&K-toimintaa
    Testausstrategia Testaaja voi valita manuaalisen näytteenottostrategian tai automaatiotyökalun kattavan varmistusstrategian. Big datan "näytteenotto"-strategia 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.
    Validointityökalut Testaaja käyttää joko Excel-pohjaista makrot tai käyttöliittymäpohjaisia ​​automaatiotyökaluja Ei määriteltyjä työkaluja, valikoima on laaja ohjelmointityökaluista, kuten MapReduce, HIVEQL:iin
    Testaustyökalut Testaustyökaluja voidaan käyttää peruskäyttötiedoilla ja pienemmällä koulutuksella. Testaustyökalun käyttäminen vaatii erityisiä taitoja ja koulutusta. Lisäksi työkalut ovat vasta syntymässä, ja ajan myötä se saattaa sisältää 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, Pig, Cascading, Oozie, Kafka, S4, MapR, Flume
    Varastointi: S3, HDFS (Hadoop Distributed File System)
    palvelimet: Elastinen, Heroku, Elastinen, Google App Engine, EC2
    Käsittely R, Yahoo! Putket, mekaaninen Turk, BigSheets, Datameer

    Big Data -testauksen haasteita

    • Automaatio

      Automaatiotestaus Big data vaatii jonkun, jolla on teknistä asiantuntemusta. Automatisoidut työkalut eivät myöskään ole varustettuja käsittelemään odottamattomia testauksen aikana ilmeneviä ongelmia

    • virtualisointi

      Se on yksi testauksen olennaisista vaiheista. Virtuaalikoneen latenssi aiheuttaa ajoitusongelmia reaaliaikaisessa big datan suorituskyvyn testauksessa. Myös kuvien hallinta Big datassa on vaivalloista.

    • Suuri tietojoukko
      • On tarkistettava enemmän tietoja ja tehtävä se nopeammin
      • Testaus on automatisoitava
      • Pitää pystyä testaamaan eri alustoilla

    Suorituskykytestauksen haasteita

    • Monipuolinen teknologiavalikoima: Jokainen osakomponentti kuuluu eri teknologiaan ja vaatii testauksen erikseen
    • Tiettyjen työkalujen puuttuminen: Yksikään työkalu ei voi suorittaa päästä päähän -testausta. Esimerkiksi, NoSQL ei ehkä sovi viestijonoihin
    • Testaa komentosarjat: Testiskenaarioiden ja testitapausten suunnitteluun tarvitaan korkeatasoinen komentosarja
    • Testiympäristössä: Se tarvitsee erityisen testiympäristön suuren datakoon vuoksi
    • Monitorointiratkaisu: On olemassa rajoitettuja ratkaisuja, jotka voivat valvoa koko ympäristöä
    • Diagnostinen ratkaisu: Mukautettu ratkaisu on kehitettävä suorituskyvyn pullonkaula-alueiden poraamiseksi

    Yhteenveto

    • Tietotekniikan ja data-analytiikan edetessä uudelle tasolle Big datan testaus on väistämätöntä.
    • Suuren datan käsittely voi olla eräajoa, reaaliaikaista tai interaktiivista
    • Big Data -sovellusten testauksen kolme vaihetta ovat tietojen vaiheittainen validointi, "MapReduce"-validointi ja tulosten validointivaihe.
    • ArchiTecture Testaus on tärkeä vaihe Big data -testauksessa, koska huonosti suunniteltu järjestelmä voi johtaa ennennäkemättömiin virheisiin ja suorituskyvyn heikkenemiseen
    • Big datan suorituskykytestaukseen sisältyy tiedonsiirtonopeuden, tietojenkäsittelyn ja alikomponenttien suorituskyvyn tarkistaminen
    • Big datan testaus eroaa hyvin perinteisestä datan testauksesta datan, infrastruktuurin ja validointityökalujen osalta
    • Big Data Testingin haasteita ovat virtualisointi, testausautomaatio ja suuren tietojoukon käsittely. Big Data -sovellusten suorituskyvyn testaus on myös ongelma.