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ä
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
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.
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.
Suorituskykytestaus suoritetaan tässä järjestyksessä
- Prosessi alkaa Big data -klusterin asettamisesta, jonka suorituskyky on testattava
- Tunnista ja suunnittele vastaavat työmäärät
- Valmistele yksittäisiä asiakkaita (muokatut skriptit luodaan)
- Suorita testi ja analysoi tulos (jos tavoitteet eivät täyty, viritä komponentti ja suorita uudelleen)
- 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.