Data Pipeline Test Automation parhaat käytännöt

Data Pipeline Test Automation parhaat käytännöt

Lähdesolmu: 2035833

Tietojen integrointiprosessit hyötyvät automaattisesta testauksesta aivan kuten muutkin ohjelmistot. Silti dataputkiprojektin löytäminen sopivalla automaattisilla testeillä on harvinaista. Vaikka projektissa on monia testejä, ne ovat usein jäsentämättömiä, eivät kerro niiden tarkoitusta ja niitä on vaikea suorittaa.

Ominaisuus dataputki kehitys on korkealaatuisten tietojen toistuvaa julkaisemista käyttäjien palautteen ja hyväksynnän saamiseksi. Jokaisen dataputken iteraation lopussa datan odotetaan olevan korkealaatuista seuraavaa vaihetta varten. 

Automaattinen testaus on olennaista dataputkien integraatiotestauksessa. Manuaalinen testaus on epäkäytännöllistä erittäin iteratiivisissa ja mukautuvissa kehitysympäristöissä.

Manuaalisen tietojen testauksen ensisijaiset ongelmat

Ensinnäkin se kestää liian kauan ja on kriittinen estäjä putkilinjojen toistuville toimituksille. Tiimit, jotka luottavat ensisijaisesti manuaaliseen testaukseen, päätyvät lykkäämään testausta tiettyihin testausjaksoihin, mikä mahdollistaa virheiden kerääntymisen. 

Toiseksi manuaalinen dataputkitestaus ei ole riittävän toistettavissa regressiotestausta varten. 

Dataputken testien automatisointi vaatii alustavaa suunnittelua ja jatkuvaa huolellisuutta, mutta kun tekniset tiimit ottavat käyttöön automaation, projektin onnistuminen on varmempaa.

Dataputkien muunnelmia

  • Pura, muunna ja lataa (ETL)
  • Pura, lataa ja muunna (ELT)
  • Datajärvi, tietovaraston putkistot
  • Reaaliaikaiset putket
  • Koneoppimisputkistot

Data Pipeline -komponentit testausautomaatiota varten

Dataputket koostuvat useista komponenteista, joista jokainen vastaa tietystä tehtävästä. Tietoputken elementtejä ovat:

  • Tietolähteet: Tietojen alkuperä
  • Tietojen otto: Tietojen keräämisprosessi tietolähteestä
  • Tietojen muuntaminen: Prosessi, jossa kerätyt tiedot muunnetaan muotoon, jota voidaan käyttää jatkoanalyysiin
  • Tietojen tarkistukset/vahvistukset: Prosessi, jolla varmistetaan, että tiedot ovat tarkkoja ja johdonmukaisia
  • Tietovarasto: Prosessi muunnettujen ja validoitujen tietojen tallentamiseksi tietovarastoon tai datajärveen
  • Tietojen analysointi: Prosessi, jossa analysoidaan tallennettuja tietoja kuvioiden, trendien ja oivallusten tunnistamiseksi

Parhaat käytännöt dataputkitestauksen automatisoimiseksi

Se, mitä ja milloin automatisoidaan (tai jos tarvitset automatisointia), ovat tärkeitä päätöksiä testi- (tai kehitys-) tiimille. Automaatioon sopivien tuoteominaisuuksien valinta ratkaisee pitkälti automaation onnistumisen. 

Tietoputken testejä automatisoitaessa parhaita käytäntöjä ovat:

  • Määritä selkeät ja tarkat testitavoitteet: Ennen kuin aloitat testaamisen, on tärkeää määritellä, mitä haluat saavuttaa testaamalla. Tämä auttaa sinua luomaan tehokkaita ja tehokkaita testejä, jotka tarjoavat arvokkaita oivalluksia.
  • Testaa dataputken kaikkia työnkulkuja: Tietoputki koostuu yleensä useista osista: tiedon käsittelystä, käsittelystä, muuntamisesta ja tallentamisesta. On tärkeää testata jokainen komponentti varmistaaksesi oikean ja sujuvan tiedonkulun putkilinjan läpi.
  • Käytä uskottavia testitietoja: Dataputkea testattaessa on tärkeää käyttää realistisia tietoja, jotka jäljittelevät todellisia skenaarioita. Tämä auttaa tunnistamaan ongelmat, joita saattaa ilmetä eri tietotyyppejä käsiteltäessä.
  • Automatisoi tehokkailla työkaluilla: Tämä voidaan saavuttaa käyttämällä testauskehyksiä ja työkaluja.
  • Tarkkaile putkistoa säännöllisesti: Vaikka testaus on valmis, on tärkeää seurata putkistoa säännöllisesti sen varmistamiseksi, että se toimii tarkoitetulla tavalla. Tämä auttaa tunnistamaan ongelmat ennen kuin niistä tulee kriittisiä ongelmia.
  • Ota sidosryhmät mukaan: Ota testausprosessiin mukaan sidosryhmät, kuten dataanalyytikot, tietosuunnittelijat ja yrityskäyttäjät. Tämä auttaa varmistamaan, että testit ovat merkityksellisiä ja arvokkaita kaikille sidosryhmille.
  • Säilytä dokumentaatio: Testejä, testitapauksia ja testituloksia kuvaavien asiakirjojen säilyttäminen on tärkeää. Tämä auttaa varmistamaan, että testit voidaan toistaa ja ylläpitää ajan myötä.

Ole varovainen; epävakaiden ominaisuuksien muuttamisen automatisointia tulisi välttää. Nykyään mitään tunnettua liiketoimintatyökalua tai menetelmä-/prosessisarjaa ei voida pitää täydellisenä dataputken päästä päähän -testina. 

Harkitse testiautomaatiotavoitteitasi

Dataputken testausautomaation kuvataan käyttävän työkaluja 1) testin suorittamisen, 2) todellisten tulosten vertailut ennustettuihin tuloksiin ja 3) testien edellytysten ja muiden testien valvonta- ja raportointitoimintojen asettaminen. 

Yleensä testiautomaatio sisältää olemassa olevan manuaalisen prosessin automatisoinnin, joka käyttää muodollista testiprosessia.

Vaikka manuaaliset dataputkitestit voivat paljastaa monia tietovirheitä, ne ovat työlästä ja aikaa vieviä. Lisäksi manuaalinen testaus voi olla tehotonta tiettyjen vikojen havaitsemisessa. 

Dataputken automaatio sisältää testiohjelmien kehittämisen, jotka muutoin joutuisivat suorittamaan manuaalisesti. Kun testit on automatisoitu, ne voidaan toistaa nopeasti. Tämä on usein kustannustehokkain menetelmä dataputkelle, jolla voi olla pitkä käyttöikä. Pienetkin korjaukset tai parannukset liukuhihnan elinkaaren aikana voivat aiheuttaa aiemmin toimineiden ominaisuuksien rikkoutumisen.

Automatisoidun testauksen integroiminen dataputkien kehittämiseen on ainutlaatuinen haaste. Nykyiset automatisoidut ohjelmistokehityksen testaustyökalut eivät ole helposti mukautettavissa tietokanta- ja tietoputkiprojekteihin. 

Tietoputkiarkkitehtuurien laaja valikoima mutkistaa näitä haasteita entisestään, koska niihin liittyy useita tietokantoja, jotka vaativat erityistä koodausta tiedon poimimista, muunnoksia, lataamista, tietojen puhdistus, tietojen yhdistäminen ja tietojen rikastaminen.

Testausautomaatiotyökalut voivat olla kalliita, ja niitä käytetään yleensä manuaalisen testauksen kanssa. Niistä voi kuitenkin tulla kustannustehokkaita pitkällä aikavälillä, varsinkin kun niitä käytetään toistuvasti regressiotesteissä.

Usein testiautomaatioehdokkaat   

  • BI-raportin testaus 
  • Liiketoiminta, hallitus noudattaa
  • Tietojen yhdistämisen käsittely
  • Tietojen puhdistus ja arkistointi
  • Tietojen laatutestit
  • Tietojen täsmäytys (esim. lähteestä kohteeseen)
  • Tietojen muunnokset
  • Dimensiotaulukon tiedot latautuvat
  • Päästä päähän -testaus
  • ETL, ELT validointi ja varmennustestaus
  • Faktataulukon tiedot latautuvat 
  • Tiedoston/tietojen latauksen vahvistus
  • Inkrementaalinen kuormitustestaus
  • Kuormitus- ja skaalautuvuustestaus
  • Puuttuvat tiedostot, tietueet, kentät
  • Suorituskykytestaus 
  • Viittaava eheys
  • Regressiotestaus
  • Turvallisuustestaus
  • Lähdetietojen testaus ja profilointi
  • Vaihe, ODS-tietojen validoinnit 
  • Yksikkö-, integrointi- ja regressiotestaus

Näiden testien automatisointi voi olla tarpeen käsittelyn monimutkaisuuden ja varmennettavien lähteiden ja kohteiden määrän vuoksi. 

Useimmissa projekteissa dataputkien testausprosessit on suunniteltu varmistamaan ja toteuttamaan tietojen laatu.

Nykyään saatavilla olevat erilaiset tietotyypit asettavat testaushaasteita

Nykyään on saatavilla laaja valikoima tietotyyppejä perinteisistä strukturoiduista tietotyypeistä, kuten tekstistä, numeroista ja päivämääristä, jäsentämättömiin tietotyyppeihin, kuten ääni, kuvat ja video. Lisäksi erilaisia ​​puolistrukturoituja tietoja, kuten XML ja JSON, käytetään laajasti verkkokehityksessä ja tiedonvaihdossa.

Esineiden internetin (IoT) myötä eri tietotyypit, mukaan lukien anturitiedot, sijaintitiedot ja koneen välinen viestintä, ovat lisääntyneet räjähdysmäisesti. Kun näitä tietotyyppejä poimitaan ja muunnetaan, testaus voi muuttua monimutkaisemmaksi ilman asianmukaisia ​​työkaluja. Tämä on johtanut uusiin tiedonhallintatekniikoihin ja analyyttisiin tekniikoihin, kuten stream-käsittelyyn, reunalaskentaan ja reaaliaikaiseen analytiikkaan.

Kuvassa 1 on esimerkkejä nykyään yleisesti käytetyistä tietotyypeistä. Suuri määrä edustaa haasteita testattaessa, onko vaaditut muunnokset suoritettu oikein. Tämän seurauksena data-ammattilaisten on tunnettava laaja valikoima tietotyyppejä ja oltava mukautuvia testaamaan uusia trendejä ja teknologioita.

Kuva 1: Esimerkkejä erilaisista tietolähteistä ja tietokohteista

Arvioi putkiston komponentit mahdollista automaattista testausta varten

Keskeinen osa ketterää ja muuta modernia kehitystä on automatisoitu testaus. Voimme soveltaa tätä tietoisuutta tietoputkeen.

Olennainen näkökohta dataputkitestauksessa on, että lisättyjen toimintojen ja ylläpidon tarkistamiseksi tehtyjen testien määrä kasvaa edelleen. Kuva 2 näyttää monia alueita, joilla testiautomaatiota voidaan soveltaa dataputkessa.

Kuva 2: "Kuumapisteiden" testaus dataputken alusta loppuun

Testausautomaatiota toteutettaessa dataa voidaan seurata lähdekerroksista dataliukuhihnakäsittelyn kautta dataliukuhihnan latauksiin ja lopuksi käyttöliittymäsovelluksiin tai -raportteihin. Oletetaan, että käyttöliittymäsovelluksesta tai -raportista löytyy korruptoituneita tietoja. Siinä tapauksessa automatisoitujen ohjelmistopakettien suorittaminen voi auttaa määrittämään nopeammin, sijaitsevatko yksittäiset ongelmat tietolähteissä, dataputkiprosessissa, äskettäin ladatussa dataputken tietokannassa/datamartissa vai business intelligence/analytics -raporteissa.

Tietojen nopean tunnistamisen ja suorituskykyongelmien korostaminen monimutkaisissa dataputkiarkkitehtuureissa on keskeinen työkalu kehitystehokkuuden edistämiseen, rakennusjaksojen lyhentämiseen ja julkaisukriteerien tavoitteiden saavuttamiseen.

Päätä automatisoitavien testien luokat

Temppu on määrittää, mitä pitäisi automatisoida ja miten kukin tehtävä käsitellään. Testejä automatisoitaessa tulee ottaa huomioon joukko kysymyksiä, kuten:

  • Paljonko testien automatisointi maksaa?
  • Kuka vastaa testiautomaatiosta (esim. kehittäjä, laadunvarmistus, tietosuunnittelijat)?
  • Mitä testaustyökaluja tulisi käyttää (esim. avoin lähdekoodi, toimittaja)?
  • Vastaavatko valitut työkalut kaikki odotukset?
  • Miten testitulokset raportoidaan?
  • Kuka tulkitsee testituloksia?
  • Miten testiskriptejä ylläpidetään?
  • Kuinka järjestämme skriptit helpon ja tarkan käytön varmistamiseksi? 

Kuvassa 3 on esimerkkejä aikakestoista (testin suorittamiseen, vikojen tunnistamiseen ja raportointiin) manuaalisissa vs. automaattisissa testitapauksissa todellisesta projektikokemuksesta.

Kuva 3: Manuaalisen ja automaattisen testin suorittamisen kestojen vertailu.

Automatisoidun dataputken testauksen tavoitteena on kattaa tietoputken lataamisen kriittisimmät toiminnot – lähde- ja kohdetietojen synkronoinnin ja täsmäytyksen.

Automaattisen testauksen edut ja rajoitukset

 Testaa automaation haasteita

  • Raportin testaus: Liiketoimintatiedon tai analyyttisten raporttien testaus automatisoinnin avulla
  • Tietojen monimutkaisuus: Tietojen testaus sisältää usein monimutkaisia ​​tietorakenteita ja muunnoksia, jotka voivat olla haastavia automatisoida ja vaatia erikoisosaamista.
  • Putkilinjan monimutkaisuus: Dataputket voivat olla monimutkaisia ​​ja niihin voi kuulua useita käsittelyvaiheita, joiden testaus ja virheenkorjaus voi olla haastavaa. Lisäksi putkilinjan yhden osan muutoksilla voi olla tahattomia seurauksia loppupäässä.

Testaa automaation edut

  • Suorittaa testitapaukset nopeammin: Automaatio voi nopeuttaa testiskenaarioiden toteuttamista.
  • Luo uudelleenkäytettävän testisarjan: Kun testiskriptit on suoritettu automaatiotyökaluilla, ne voidaan varmuuskopioida, jotta ne voidaan helposti palauttaa ja käyttää uudelleen.
  • Helpottaa testiraportointia: Monien automatisoitujen työkalujen mielenkiintoinen ominaisuus on niiden kyky tuottaa raportteja ja testitiedostoja. Nämä ominaisuudet kuvaavat tarkasti tietojen tilaa, tunnistavat selkeästi puutteet ja niitä käytetään vaatimustenmukaisuuden tarkastuksissa. 
  • Vähentää henkilöstö- ja korjauskuluja: Aika, joka kuluu manuaaliseen testaukseen tai uudelleentestaukseen vikojen korjaamisen jälkeen, voidaan käyttää muihin IT-osaston aloitteisiin.

Mahdolliset rajoitukset

  • Manuaalista testausta ei voida täysin korvata: Vaikka automaatiota voidaan käyttää erilaisiin sovelluksiin ja testitapauksiin, se ei voi täysin korvata manuaalista testausta. Edelleen on olemassa monimutkaisia ​​testitapauksia, joissa automaatio ei kaappaa kaikkea, ja käyttäjien hyväksymistestissä loppukäyttäjien on usein suoritettava testit manuaalisesti. Siksi automaattisen ja manuaalisen testauksen oikea yhdistelmä on elintärkeää. 
  • Työkalujen hinta: Kaupalliset testaustyökalut voivat olla kalliita niiden koosta ja toimivuudesta riippuen. Pinnalla yritys voi nähdä tämän tarpeettomana kuluna. Pelkästään uudelleenkäyttö voi kuitenkin tehdä siitä nopeasti hyödyn. 
  • Koulutuksen hinta: Testaajia tulisi kouluttaa ohjelmoinnin lisäksi myös automatisoitujen testien ajoittamiseen. Automaattiset työkalut voivat olla monimutkaisia ​​käyttää ja vaatia käyttäjäkoulutusta.
  • Automaatio vaatii suunnittelua, valmistelua ja resursseja: Automaattisen testauksen onnistuminen riippuu pääasiassa tarkoista testausvaatimuksista ja testitapausten huolellisesta kehittämisestä ennen testauksen aloittamista. Valitettavasti testitapausten kehittäminen on edelleen pääasiassa manuaalista prosessia. Koska jokainen organisaatio ja tietoputkisovellus voi olla ainutlaatuinen, monet automaattiset testityökalut eivät luo testitapauksia.

Data Pipeline Test Automationin käytön aloittaminen

Kaikki dataputkien testit eivät sovellu automatisointiin. Arvioi yllä olevat tilanteet selvittääksesi, minkä tyyppisistä automaatiotyypeistä olisi hyötyä testiprosessillesi ja kuinka paljon sitä tarvitaan. Arvioi testivaatimukset ja tunnista tehokkuusetuja, jotka voidaan saavuttaa automaattisella testauksella. Tiedonsiirtotiimit, jotka käyttävät paljon aikaa regressiotestaukseen, hyötyvät eniten. 

Kehitä liiketoimintamalli automatisoitua testausta varten. IT:n on ensin pyrittävä välittämään arvo yritykselle. 

Arvioi vaihtoehdot. Kun olet arvioinut IT-osaston nykytilan ja vaatimukset, määritä, mitkä työkalut sopivat organisaation testausprosessien ja -ympäristöjen kanssa. Vaihtoehdot voivat sisältää toimittajat, avoimen lähdekoodin, sisäiset työkalut tai yhdistelmä työkaluja. 

Päätelmät

Koska testiautomaatiosta on nopeasti tullut olennainen vaihtoehto manuaaliselle testaukselle, yhä useammat yritykset etsivät työkaluja ja strategioita automaation onnistuneeseen toteuttamiseen. Tämä on johtanut Appiumiin, Seleniumiin, Katalon Studioon ja moniin muihin perustuvien testiautomaatiotyökalujen merkittävään kasvuun. Tietojen putkistolla ja tietosuunnittelijoilla, BI- ja laadunvarmistustiimeillä on kuitenkin oltava oikeat ohjelmointitaidot voidakseen käyttää näitä automaatiotyökaluja täysimääräisesti. 

Monet IT-asiantuntijat ovat ennustaneet, että testaajien ja kehittäjien välistä tietokuilua tulee ja tullaan jatkuvasti pienentämään. Automatisoidut dataputkien testaustyökalut voivat vähentää merkittävästi koodin testaukseen käytettyä aikaa verrattuna perinteisiin manuaalisiin menetelmiin.

Datapiippujen kehitysmahdollisuuksien lisääntyessä myös tarve kattavammalle ja nykyaikaisemmalle automatisoidulle datatestaukselle kasvaa.

Aikaleima:

Lisää aiheesta DATAVERSITEETTI