Najboljše prakse pri avtomatizaciji testiranja podatkovnega cevovoda

Najboljše prakse pri avtomatizaciji testiranja podatkovnega cevovoda

Izvorno vozlišče: 2035833

Procesi integracije podatkov imajo koristi od avtomatiziranega testiranja tako kot katera koli druga programska oprema. Vendar je redko najti projekt cevovoda podatkov z ustreznim naborom avtomatiziranih testov. Tudi če ima projekt veliko testov, so pogosto nestrukturirani, ne sporočajo svojega namena in jih je težko izvesti.

Značilnost podatkovni cevovod razvoj je pogosto objavljanje visokokakovostnih podatkov za pridobivanje povratnih informacij uporabnikov in sprejemanje. Na koncu vsake ponovitve podatkovnega cevovoda se pričakuje, da so podatki visoke kakovosti za naslednjo fazo. 

Avtomatizirano testiranje je bistveno za integracijsko testiranje podatkovnih cevovodov. Ročno testiranje je nepraktično v zelo iterativnih in prilagodljivih razvojnih okoljih.

Primarne težave z ročnim testiranjem podatkov

Prvič, traja predolgo in je kritičen zaviralec pogoste dobave cevovodov. Ekipe, ki se zanašajo predvsem na ročno testiranje, na koncu preložijo testiranje na namenska obdobja testiranja, kar omogoči kopičenje napak. 

Drugič, ročno testiranje cevovoda podatkov ni dovolj ponovljivo za regresijsko testiranje. 

Avtomatizacija preskusov podatkovnega cevovoda zahteva začetno načrtovanje in stalno skrbnost, a ko tehnične ekipe sprejmejo avtomatizacijo, je uspeh projekta bolj zagotovljen.

Različice podatkovnih cevovodov

  • Ekstrahiraj, transformiraj in naloži (ETL)
  • Ekstrahiraj, naloži in transformiraj (ELT)
  • Podatkovno jezero, cevovodi podatkovnega skladišča
  • Cevovodi v realnem času
  • Cevovodi strojnega učenja

Komponente podatkovnega cevovoda za premislek o avtomatizaciji testiranja

Podatkovni cevovodi so sestavljeni iz več komponent, od katerih je vsaka odgovorna za določeno nalogo. Elementi podatkovnega cevovoda vključujejo:

  • Viri podatkov: Izvor podatkov
  • Zaužitje podatkov: Postopek zbiranja podatkov iz vira podatkov
  • Preoblikovanje podatkov: Postopek pretvorbe zbranih podatkov v obliko, ki se lahko uporablja za nadaljnjo analizo
  • Preverjanja/validacije podatkov: Postopek za zagotavljanje točnosti in doslednosti podatkov
  • Shranjevanje podatkov: Postopek shranjevanja transformiranih in potrjenih podatkov v podatkovno skladišče ali podatkovno jezero
  • Analiza podatkov: Postopek analiziranja shranjenih podatkov za prepoznavanje vzorcev, trendov in vpogledov

Najboljše prakse za avtomatizacijo testiranja podatkovnega cevovoda

Kaj in kdaj avtomatizirati (ali celo, če potrebujete avtomatizacijo) so ključne odločitve za testno (ali razvojno) ekipo. Izbira ustreznih lastnosti izdelka za avtomatizacijo v veliki meri določa uspeh avtomatizacije. 

Najboljše prakse pri avtomatizaciji testov za podatkovni cevovod vključujejo:

  • Določite jasne in specifične cilje testa: Preden se lotite testiranja, je nujno, da definirate, kaj želite s testiranjem doseči. To vam bo pomagalo ustvariti učinkovite in učinkovite teste, ki zagotavljajo dragocene vpoglede.
  • Preizkusite vse poteke dela podatkovnega cevovoda: Podatkovni cevovod je običajno sestavljen iz več komponent: vnos podatkov, obdelava, transformacija in shranjevanje. Pomembno je, da preizkusite vsako komponento, da zagotovite pravilen in gladek pretok podatkov skozi cevovod.
  • Uporabite verodostojne testne podatke: Pri preskušanju podatkovnega cevovoda je pomembno, da uporabite realistične podatke, ki posnemajo scenarije iz resničnega sveta. To bo pomagalo prepoznati morebitne težave, ki se lahko pojavijo pri ravnanju z različnimi vrstami podatkov.
  • Avtomatizirajte z učinkovitimi orodji: To je mogoče doseči z uporabo ogrodij in orodij za testiranje.
  • Redno spremljajte cevovod: Tudi po končanem testiranju je nujno, da cevovod redno spremljate, da zagotovite, da deluje, kot je predvideno. To bo pomagalo prepoznati težave, preden postanejo kritične.
  • Vključite deležnike: V proces testiranja vključite zainteresirane strani, kot so podatkovni analitiki, podatkovni inženirji in poslovni uporabniki. To bo pomagalo zagotoviti, da bodo testi ustrezni in dragoceni za vse zainteresirane strani.
  • Vodite dokumentacijo: Pomembno je vzdrževanje dokumentov, ki opisujejo teste, testne primere in rezultate testov. To bo pomagalo zagotoviti, da se testi lahko ponovijo in vzdržujejo skozi čas.

Bodi previden; izogibati se je treba avtomatizaciji spreminjanja nestabilnih funkcij. Danes nobeno znano poslovno orodje ali nabor metod/procesov ne more veljati za popoln preizkus podatkovnega cevovoda od konca do konca. 

Razmislite o svojih ciljih avtomatizacije testiranja

Avtomatizacija testiranja podatkovnega cevovoda je opisana kot uporaba orodij za nadzor 1) izvajanja testa, 2) primerjave dejanskih izidov s predvidenimi izidi in 3) nastavitev preskusnih predpogojev in drugih funkcij nadzora in poročanja o preskusih. 

Na splošno avtomatizacija testiranja vključuje avtomatizacijo obstoječega ročnega postopka, ki uporablja formalni postopek testiranja.

Čeprav lahko ročni testi podatkovnega cevovoda razkrijejo številne napake v podatkih, so naporni in dolgotrajni. Poleg tega je lahko ročno testiranje neučinkovito pri odkrivanju določenih napak. 

Avtomatizacija podatkovnega cevovoda vključuje razvoj testnih programov, ki bi jih sicer morali izvesti ročno. Ko so testi avtomatizirani, jih je mogoče hitro ponoviti. To je pogosto stroškovno najučinkovitejša metoda za cevovod podatkov, ki ima lahko dolgo življenjsko dobo. Celo manjši popravki ali izboljšave v življenjski dobi cevovoda lahko povzročijo okvaro funkcij, ki so prej delovale.

Vključevanje avtomatiziranega testiranja v razvoj podatkovnega cevovoda predstavlja edinstven sklop izzivov. Trenutna orodja za testiranje avtomatiziranega razvoja programske opreme niso zlahka prilagodljiva projektom baze podatkov in podatkovnih cevovodov. 

Široka paleta arhitektur podatkovnih cevovodov te izzive dodatno zaplete, ker vključujejo več baz podatkov, ki zahtevajo posebno kodiranje za ekstrakcijo podatkov, transformacije, nalaganje, čiščenje podatkov, združevanje podatkov in obogatitev podatkov.

Orodja za avtomatizacijo testiranja so lahko draga in se običajno uporabljajo skupaj z ročnim testiranjem. Vendar lahko na dolgi rok postanejo stroškovno učinkoviti, zlasti če se večkrat uporabljajo v regresijskih testih.

Pogosti kandidati za avtomatizacijo testiranja   

  • Testiranje BI poročil 
  • Posel, vladna skladnost
  • Obdelava združevanja podatkov
  • Čiščenje in arhiviranje podatkov
  • Testi kakovosti podatkov
  • Usklajevanje podatkov (npr. od vira do cilja)
  • Transformacije podatkov
  • Podatki dimenzijske tabele se naložijo
  • Testiranje od konca do konca
  • ETL, ELT validacijsko in verifikacijsko testiranje
  • Podatki tabele dejstev se naložijo 
  • Preverjanje nalaganja datoteke/podatkov
  • Inkrementalno testiranje obremenitve
  • Testiranje obremenitve in razširljivosti
  • Manjkajoče datoteke, zapisi, polja
  • Testiranje učinkovitosti 
  • Referenčna integriteta
  • Regresijsko testiranje
  • Testiranje varnosti
  • Testiranje in profiliranje izvornih podatkov
  • Uprizoritev, validacije podatkov ODS 
  • Enotno, integracijsko in regresijsko testiranje

Avtomatizacija teh testov bo morda potrebna zaradi zapletenosti obdelave ter števila virov in ciljev, ki jih je treba preveriti. 

Za večino projektov so postopki testiranja podatkovnega cevovoda zasnovani za preverjanje in izvajanje kakovosti podatkov.

Raznolikost vrst podatkov, ki so danes na voljo, predstavlja izzive pri testiranju

Danes je na voljo veliko različnih tipov podatkov, od tradicionalnih strukturiranih tipov podatkov, kot so besedilo, številke in datumi, do nestrukturiranih tipov podatkov, kot so zvok, slike in video. Poleg tega se različne vrste polstrukturiranih podatkov, kot sta XML in JSON, pogosto uporabljajo pri spletnem razvoju in izmenjavi podatkov.

S prihodom interneta stvari (IoT) je prišlo do eksplozije različnih vrst podatkov, vključno s podatki senzorjev, podatki o lokaciji in podatki o komunikaciji med stroji. Ko se te vrste podatkov ekstrahirajo in preoblikujejo, lahko testiranje postane bolj zapleteno brez ustreznih orodij. To je vodilo do novih tehnologij za upravljanje podatkov in analitičnih tehnik, kot so obdelava toka, robno računalništvo in analitika v realnem času.

Slika 1 prikazuje primere podatkovnih tipov, ki se danes pogosto uporabljajo. Ogromno število predstavlja izziv pri preskušanju, ali so zahtevane transformacije pravilno izvedene. Posledično morajo biti strokovnjaki za podatke dobro seznanjeni s širokim naborom vrst podatkov in biti prilagodljivi za preizkušanje nastajajočih trendov in tehnologij.

Slika 1: Primeri različnih virov podatkov in podatkovnih ciljev

Ocenite komponente cevovoda za morebitno avtomatizirano testiranje

Ključni element agilnega in drugega sodobnega razvoja je avtomatizirano testiranje. To zavedanje lahko uporabimo pri cevovodu podatkov.

Bistven vidik testiranja podatkovnega cevovoda je, da se bo število izvedenih testov še naprej povečevalo za preverjanje dodane funkcionalnosti in vzdrževanja. Slika 2 prikazuje številna področja, kjer je mogoče uporabiti avtomatizacijo testiranja v podatkovnem cevovodu.

Slika 2: Testiranje "vročih točk" od začetka do konca podatkovnega cevovoda

Pri izvajanju avtomatizacije testiranja je mogoče podatke spremljati od izvornih plasti prek obdelave podatkovnega cevovoda do obremenitev v podatkovnem cevovodu in končno do sprednjih aplikacij ali poročil. Recimo, da so poškodovani podatki najdeni v sprednji aplikaciji ali poročilu. V tem primeru lahko izvedba avtomatiziranih paketov pomaga hitreje ugotoviti, ali se posamezne težave nahajajo v virih podatkov, procesu cevovoda podatkov, na novo naloženi bazi podatkov/trgovini cevovoda podatkov ali poročilih poslovne inteligence/analitike.

Poudarek na hitrem prepoznavanju težav s podatki in zmogljivostjo v zapletenih arhitekturah podatkovnih cevovodov zagotavlja ključno orodje za spodbujanje razvojne učinkovitosti, skrajšanje ciklov gradnje in izpolnjevanje ciljev meril izdaje.

Odločite se o kategorijah testov za avtomatizacijo

Trik je v tem, da določite, kaj je treba avtomatizirati in kako ravnati s posamezno nalogo. Pri avtomatizaciji testov je treba upoštevati niz vprašanj, kot so:

  • Kakšni so stroški avtomatizacije testov?
  • Kdo je odgovoren za avtomatizacijo testiranja (npr. Dev., QA, podatkovni inženirji)?
  • Katera orodja za testiranje je treba uporabiti (npr. odprtokodno, prodajalca)?
  • Bodo izbrana orodja izpolnila vsa pričakovanja?
  • Kako se bodo poročali o rezultatih testa?
  • Kdo interpretira rezultate testa?
  • Kako se bodo vzdrževali testni skripti?
  • Kako bomo organizirali skripte za enostaven in natančen dostop? 

Slika 3 prikazuje primere časovnega trajanja (za izvedbo preizkusa, identifikacijo napak in poročanje) za ročne in avtomatizirane testne primere iz dejanske izkušnje projekta.

Slika 3: Primerjava trajanja ročnega in avtomatiziranega izvajanja testa.

Namen avtomatiziranega testiranja podatkovnega cevovoda je pokriti najbolj kritične funkcije za nalaganje podatkovnega cevovoda – sinhronizacijo in usklajevanje izvornih in ciljnih podatkov.

Prednosti in omejitve avtomatiziranega testiranja

 Izzivi avtomatizacije testiranja

  • Poročilo o testiranju: Testiranje poslovne inteligence ali analitičnih poročil z avtomatizacijo
  • Kompleksnost podatkov: Preizkušanje podatkovnega cevovoda pogosto vključuje zapletene podatkovne strukture in transformacije, ki jih je lahko težko avtomatizirati in zahtevajo specializirano strokovno znanje.
  • Kompleksnost cevovoda: Podatkovni cevovodi so lahko zapleteni in lahko vključujejo več stopenj obdelave, kar je lahko izziv za testiranje in odpravljanje napak. Poleg tega imajo lahko spremembe na enem delu cevovoda neželene posledice v smeri toka.

Prednosti avtomatizacije testiranja

  • Hitreje izvaja testne primere: Avtomatizacija lahko pospeši izvajanje testnih scenarijev.
  • Ustvari testno zbirko za večkratno uporabo: Ko se preizkusni skripti zaženejo z orodji za avtomatizacijo, jih je mogoče varnostno kopirati za lažji priklic in ponovno uporabo.
  • Olajša poročanje o testih: Zanimiva značilnost številnih avtomatiziranih orodij je njihova zmožnost izdelave poročil in testnih datotek. Te zmožnosti natančno predstavljajo stanje podatkov, jasno identificirajo pomanjkljivosti in se uporabljajo pri revizijah skladnosti. 
  • Zmanjša stroške osebja in predelave: Čas, porabljen za ročno testiranje ali ponovno testiranje po odpravi napak, se lahko porabi za druge pobude v oddelku IT.

Potencialne omejitve

  • Ne more popolnoma nadomestiti ročnega testiranja: Čeprav se avtomatizacija lahko uporablja za različne aplikacije in testne primere, ne more popolnoma nadomestiti ročnega testiranja. Še vedno bodo obstajali zapleteni testni primeri, pri katerih avtomatizacija ne bo zajela vsega, pri testiranju sprejemljivosti pa morajo končni uporabniki pogosto izvajati teste ročno. Zato je pomembna prava kombinacija avtomatiziranega in ročnega testiranja v procesu. 
  • Stroški orodja: Komercialna orodja za testiranje so lahko draga, odvisno od njihove velikosti in funkcionalnosti. Na prvi pogled lahko podjetje na to gleda kot na nepotreben strošek. Vendar pa lahko že sama ponovna uporaba hitro postane prednost. 
  • Cena usposabljanja: Preizkuševalce je treba usposobiti ne le za programiranje, temveč tudi za načrtovanje avtomatiziranih testov. Samodejna orodja so lahko zapletena za uporabo in morda zahtevajo usposabljanje uporabnikov.
  • Avtomatizacija potrebuje načrtovanje, pripravo in namenske vire: Uspeh avtomatiziranega testiranja je v glavnem odvisen od natančnih zahtev testiranja in skrbnega razvoja testnih primerov pred začetkom testiranja. Na žalost je razvoj testnih primerov še vedno predvsem ročni proces. Ker sta lahko vsaka aplikacija organizacije in podatkovnega cevovoda edinstvena, mnoga avtomatizirana testna orodja ne bodo ustvarila testnih primerov.

Kako začeti z avtomatizacijo testiranja podatkovnega cevovoda

Vsi testi podatkovnega cevovoda niso primerni za avtomatizacijo. Ocenite zgornje situacije, da ugotovite, katere vrste avtomatizacije bi koristile vašemu preskusnemu procesu in koliko je potrebno. Ocenite svoje testne zahteve in ugotovite povečanje učinkovitosti, ki ga je mogoče doseči z avtomatiziranim testiranjem. Največje koristi bodo imele ekipe za prenos podatkov, ki veliko časa posvetijo regresijskemu testiranju. 

Razvijte poslovni primer za avtomatizirano testiranje. IT mora najprej dokazati, da posreduje vrednost podjetju. 

Ocenite možnosti. Po oceni trenutnega stanja in zahtev v oddelku IT določite, katera orodja so v skladu s procesi testiranja in okolji organizacije. Možnosti lahko vključujejo prodajalce, odprtokodno, interno ali kombinacijo orodij. 

Sklepi

Ker je avtomatizacija testiranja hitro postala bistvena alternativa ročnemu testiranju, vse več podjetij išče orodja in strategije za uspešno implementacijo avtomatizacije. To je povzročilo znatno rast orodij za avtomatizacijo testiranja, ki temeljijo na Appiumu, Seleniumu, Katalon Studio in mnogih drugih. Vendar morajo imeti podatkovni cevovod in podatkovni inženirji, BI in ekipe za zagotavljanje kakovosti ustrezne veščine programiranja, da lahko v celoti uporabljajo ta orodja za avtomatizacijo. 

Številni IT strokovnjaki so napovedali, da se mora in bo vrzel v znanju med preizkuševalci in razvijalci nenehno zmanjševati. Avtomatizirana orodja za testiranje podatkovnega cevovoda lahko znatno zmanjšajo čas, porabljen za testiranje kode, v primerjavi z običajnimi ročnimi metodami.

Ker se zmogljivosti za razvoj podatkovnega cevovoda še naprej povečujejo, se povečuje tudi potreba po bolj celovitem in sodobnem avtomatiziranem testiranju podatkov.

Časovni žig:

Več od PODATKOVNOST