Robot Framework -testaus Kubernetes-ympäristössä
Köppä, Joonas (2019)
Köppä, Joonas
2019
Kaikki oikeudet pidätetään
Julkaisun pysyvä osoite on
https://urn.fi/URN:NBN:fi:amk-201903143065
https://urn.fi/URN:NBN:fi:amk-201903143065
Tiivistelmä
Tässä opinnäytetyössä toteutettiin Liaison Technologies Oy:n toukokuussa 2018 toimeksiantama soveltuvuusselvitys Robot Framework -työkalun käyttämisestä mikropalveluihin perustuvan ohjelmiston integraatiotestauksessa. Työ suunniteltiin ja toteutettiin yrityksen Tampereen toimipisteen laadunvarmistusosastolla yhteistyössä aikaisempien testien ja testikirjastojen kehittäjien kanssa. Päämotiivi soveltuvuusselvitykselle oli uusien integraatiotestien toteuttamisen helpottaminen ja täten vähemmän teknisen henkilökunnan valjastaminen mukaan testien luomisprosessiin.
Soveltuvuusselvityksessä oli kolme päätavoitetta. Ensin piti selvittää, miten yrityksen aikaisempaa Java-ohjelmointikielellä toteutettua integraatiotestausta varten luotua apukirjastoa voitaisiin käyttää hyväksi Robot Framework -testeissä. Sitten tuli luoda uusi Robot Framework -testi, jossa apukirjaston toiminnallisuudet on abstraktioitu selkolukuisten avainsanakutsujen taakse. Sitä varten tuli toteuttaa esimerkkitestiksi tiedostopalvelimella tiedostoa prosessoivan ohjelmiston testaaminen. Lopuksi työssä kehitetty testi tuli saattaa ajettavaksi Kubernetes-ympäristössä niin, että varmistuttaisiin mahdollisuudesta ajaa tulevaisuudessa kehitettävät testit osana jatkuvan integraation testiautomaatioprosessia.
Ratkaisu Java-apukirjaston käyttöön Robot Framework -testeissä löytyi frameworkin tukemista ulkoisista avainsanoja sisältävistä kirjastopalvelimista. Opinnäytetyössä toteutettiin Java-ohjelmointikielellä avainsanakirjasto, johon Robot Framework -testiajot voivat ottaa yhteyden. Java-apukirjasto asetettiin avainsanakirjaston riippuvaisuudeksi, jolloin siinä saatiin valjastettua käyttöön kaikki apukirjaston toiminnallisuudet. Kirjaston lisäksi luotiin kahdeksanosainen Robot Framework -testitiedosto, jossa kutsutaan kirjastopalvelimen toiminnallisuuksia varsinaiset funktiokutsut taakseen abstraktioivien avainsanojen avulla. Testi ajettiin ensin onnistuneesti läpi paikallisesti, jonka jälkeen se säiliöitiin Docker-työkalulla ja sisällytettiin osaksi Kubernetes-määrittelytiedostoa. Luotu tiedosto lähetettiin Kuberneteksen komentorivityökalulla yrityksen Kubernetes-palvelimelle, jossa testiajo suoritettiin vielä kerran läpi onnistuneesti.
Kaikki opinnäytetyön päätavoitteet saavutettiin onnistuneesti, ja soveltuvuusselvityksen lopputuloksena yrityksessä päätettiin jatkaa Robot Framework -työkalujen ja testimenetelmien kehittämistä eteenpäin. Tulevaisuudessa yrityksessä on tarkoitus siirtyä toteuttamaan kasvavassa määrin integraatiotestausta yksinomaan Robot Frameworkin avulla. Yrityksen vähemmän teknistä henkilökuntaa on jo opastettu Robot Frameworkin käyttöön ja heiltä saatu palaute uutta testaustapaa koskien on ollut erittäin positiivista.
Soveltuvuusselvityksessä oli kolme päätavoitetta. Ensin piti selvittää, miten yrityksen aikaisempaa Java-ohjelmointikielellä toteutettua integraatiotestausta varten luotua apukirjastoa voitaisiin käyttää hyväksi Robot Framework -testeissä. Sitten tuli luoda uusi Robot Framework -testi, jossa apukirjaston toiminnallisuudet on abstraktioitu selkolukuisten avainsanakutsujen taakse. Sitä varten tuli toteuttaa esimerkkitestiksi tiedostopalvelimella tiedostoa prosessoivan ohjelmiston testaaminen. Lopuksi työssä kehitetty testi tuli saattaa ajettavaksi Kubernetes-ympäristössä niin, että varmistuttaisiin mahdollisuudesta ajaa tulevaisuudessa kehitettävät testit osana jatkuvan integraation testiautomaatioprosessia.
Ratkaisu Java-apukirjaston käyttöön Robot Framework -testeissä löytyi frameworkin tukemista ulkoisista avainsanoja sisältävistä kirjastopalvelimista. Opinnäytetyössä toteutettiin Java-ohjelmointikielellä avainsanakirjasto, johon Robot Framework -testiajot voivat ottaa yhteyden. Java-apukirjasto asetettiin avainsanakirjaston riippuvaisuudeksi, jolloin siinä saatiin valjastettua käyttöön kaikki apukirjaston toiminnallisuudet. Kirjaston lisäksi luotiin kahdeksanosainen Robot Framework -testitiedosto, jossa kutsutaan kirjastopalvelimen toiminnallisuuksia varsinaiset funktiokutsut taakseen abstraktioivien avainsanojen avulla. Testi ajettiin ensin onnistuneesti läpi paikallisesti, jonka jälkeen se säiliöitiin Docker-työkalulla ja sisällytettiin osaksi Kubernetes-määrittelytiedostoa. Luotu tiedosto lähetettiin Kuberneteksen komentorivityökalulla yrityksen Kubernetes-palvelimelle, jossa testiajo suoritettiin vielä kerran läpi onnistuneesti.
Kaikki opinnäytetyön päätavoitteet saavutettiin onnistuneesti, ja soveltuvuusselvityksen lopputuloksena yrityksessä päätettiin jatkaa Robot Framework -työkalujen ja testimenetelmien kehittämistä eteenpäin. Tulevaisuudessa yrityksessä on tarkoitus siirtyä toteuttamaan kasvavassa määrin integraatiotestausta yksinomaan Robot Frameworkin avulla. Yrityksen vähemmän teknistä henkilökuntaa on jo opastettu Robot Frameworkin käyttöön ja heiltä saatu palaute uutta testaustapaa koskien on ollut erittäin positiivista.