Testiautomaatio tietovarastossa Automaattisen regressiotestauksen periaate ja hyödyt
Sisältö 2 Testaus kiinteänä osana DW-toteutusta Regressiotestauksen merkitys Robot Framework Automatisoitu DW:n regressiotestaus: periaate & hyödyt Aureoliksen ratkaisu
Aureolis lyhyesti 3 Aureolis on jatkuvia Business Intelligence -palveluita tuottava asiantuntijaorganisaatio Perustettu 2001 Liikevaihto 6,4 M Henkilöstöä 70 BI-hankkeita 1000
Toimintaympäristö Business Intelligence, liiketoimintatiedon hallinta Tietovarastointi Raportointi Analytiikka Tiedolla johtaminen Tietojen integrointi Tiedon laatu Tiedon historiointi Tietomallit Vakioraportit Ad hoc -raportit ja itsenäiskäyttö Visualisoinnit Mittaristot Tilastolliset menetelmät Matemaattinen mallinnus Tiedon louhinta Tietojen kuvaaminen ja hallinta Tiedonhallintaprosessit RoadMap Toiminnan ennustaminen Strategia
Testaus on osa kaikkea toteutusta 5 Testauksen asema BI-hankkeissa on usein heikko! Perinteinen vesiputousmalli: koodataan nippu komponentteja, projektin päätteeksi erillinen testausvaihe jos aikaa jää Moderni, ketterä testaus: testausvaihe kuuluu osaksi jokaisen yksittäisen komponentin toteutusta AureolisBlogi: Ketterällä testauksella laatua BI-hankkeisiin Tärkeää tunnistaa ja hyödyntää testauksen eri osa-alueet yksikkö-, integraatio-, järjestelmä-, käytettävyys-,
Regressiotestaus 6 Perhosen siivenisku Amazonilla voi aiheuttaa pyörremyrskyn Atlantilla kuinka välttää yllättävät heijastusvaikutukset? Regressiotestaus varmistaa, että muutokset on tehty rikkomatta mitään muuta Perustuu kattaviin ja toistettaviin yksikkötesteihin DW-toteutuksessa esim. jokaisen taulun jokaisen sarakkeen laskennan testaus Käytännössä edellyttää aina jonkinasteista automaatiota
DW:n yksikkötestit ja automatisointi 7 Tunne testitapauksesi! yksittäinen yksikkötestitapaus esim.: taulun XX sarake YY lasketaan summaamalla yhteen sarakkeet FF ja GG tauluista NN ja MM yksikkötesti testaa yksittäisen käsittelypolun Automatisoinnilla pyritään välttämään samanlaisena toistuvaa manuaalista testausta tavallinen tietovarasto voi sisältää tuhansia yksikkötestitapauksia! automatisointi kannattaa kohdistaa riskiperusteisesti
Robot Framework testiautomaatiovälineenä 8 http://robotframework.org/ Open Source työkalu kaikenlaiseen testiautomaatioon Sovellus- ja käyttöjärjestelmäriippumaton Testitapaukset määritellään käyttäen avainsanoja kukin avainsana tarkoittaa tiettyä toimintoa avainsanoja määritellään kirjastoissa omia avainsanoja voi määritellä ja tehdä niistä omia kirjastoja Robotti suorittaa määritellyt testitapaukset ja raportoi tulokset
Robot Framework 9
Robot Framework 10
Automatisoitu DW:n regressiotestaus: periaate Aureoliksen ratkaisu DW-yksikkötestien automatisointiin hyödyntää Robot Frameworkia käytössä SAS-tietovarastoissa, tulossa MS SQL -ratkaisu Testitapausten muodostaminen: kontrolloitu input tuottaa odotetun outputin ei koodata käsittelyä uusiksi, vaan annetaan input-testidatasetti ja verrataan lopputulosta määritysten pohjalta muodostettuun output-testidatasettiin Robotille määritetään taulu- tai ETL-kohtaiset testit ja luettavat testidatat sekä joukko parametreja 11
Esimerkkityönkulku 12 1. Liiketoimintamääritykset yksittäiselle ETL-prosessille 2. Automaattitestien ja testidatojen päivitykset 3. ETL-prosessin koodaus 4. Yksikkötestaus ETL-prosessille ja virhekorjaukset 5. Automaattitestien suoritus koko järjestelmälle ja virhekorjaukset 6. Automaattitestien suoritus uudelleen 7. 8. Profit!
Automatisoitu DW:n regressiotestaus: hyödyt 13 Datalähtöinen näkökulma paljastaa koodausvirheet hyvissä ajoin ja estää yllättävät regressiot muutokset on helpompi eristää Tuhannet yksikkötestit voidaan suorittaa minuuteissa vaikka päivittäin jatkuva laadunvalvonta vähillä resursseilla: jokaisen muutoksen jälkeen voidaan testata koko DW! Huom: testitapausten ja datojen ylläpito lisää jonkin verran toteutustyön määrää ja edellyttää selkeää toteutus- ja testausprosessia saavutettavat hyödyt kuitenkin merkittävät
Aureoliksen DW-testiautomaation käyttö 14 Helposti implementoitava komponentti Testiautomaatio voidaan rakentaa olemassa olevan DWratkaisun päälle, tai uuden kehityksen yhteydessä Testidatasetit muodostettavissa rajapinta- ja tietokantakuvausten ja liiketoimintamääritysten pohjalta ei edellytä varsinaista koodausta, Robotin kytkemisen ja parametrisoinnin lisäksi
Testiautomaation jatkokehitystä Aureoliksessa 15 Käyttöliittymäpää interaktiiviset web-sovellukset ja portaalit Robot Framework voi simuloida klikkauksia ja erilaisia syötteitä jo käytössä Aureoliksen Profektum-järjestelmässä DW-testiautomaation laajennukset muille alustoille MS SQL työn alla
Robotti ei väsy 16
Juha Korpela tietovarastoasiantuntija juha.korpela@aureolis.com +358408422898 Aureolis Oy Hevosenkenkä 3 - FI-02600 Espoo, Finland office +358 20 741 2790 www.aureolis.com - contact@aureolis.com