Testiautomaation luominen REST API:lle
Heino, Janne (2025)
Julkaisun pysyvä osoite on
https://urn.fi/URN:NBN:fi:amk-2025061923366
https://urn.fi/URN:NBN:fi:amk-2025061923366
Tiivistelmä
Työn tarkoituksena oli tutkia eri menetelmiä millä luoda testiautomaatio REST API:lle, valita yksi menetelmä tutkituista vaihtoehdoista ja lopuksi luoda testiautomaatio Skj dataserverille, jolla pystyy testaamaan palvelinta, kun uusi versio julkaistaan. Työssä tutkittiin myös mitä REST API:n testaaminen vaatii ja mitä eri testausmenetelmiä on käytettävissä palvelinten testaamiseen. Työn toimeksiantaja on Skj Systems ltd oy, jonka tuotteelle Skj dataserver luotiin testiautomaatio.
Työssä tutkittiin viittä eri vaihtoehtoa testiautomaation luomiseen, jotka ovat Postman, REST-assured, Apache Jmeter, ReadyAPI ja Python Requests. Työssä päädyttiin käyttämään Python requestia ja pytestiä testiautomaation toteuttamiseen, PyCharmia käytettiin työn kehitysympäristönä ja Postmania eri endpointtien testaamiseen.
Työssä luotiin onnistuneesti testiautomaatiolle runko, jonka avulla testejä pystyy luomaan helposti lisää. Python ratkaisuna ei välttämättä ole nopein tapa luoda testiautomaatio REST API:lle, mutta koodipohjaisen ratkaisun ansiosta se antaa enemmän vapauksia, kuin mitä käyttöliittymä pohjainen ratkaisu kuten ReadyAPI, jossa kaikki tarpeet eivät välttämättä ole mahdollisia. Työssä on lisää kehittämistä, sillä kaikkia testejä ei työn aikana saatu luotua Skj dataserverille.
Työssä tutkittiin viittä eri vaihtoehtoa testiautomaation luomiseen, jotka ovat Postman, REST-assured, Apache Jmeter, ReadyAPI ja Python Requests. Työssä päädyttiin käyttämään Python requestia ja pytestiä testiautomaation toteuttamiseen, PyCharmia käytettiin työn kehitysympäristönä ja Postmania eri endpointtien testaamiseen.
Työssä luotiin onnistuneesti testiautomaatiolle runko, jonka avulla testejä pystyy luomaan helposti lisää. Python ratkaisuna ei välttämättä ole nopein tapa luoda testiautomaatio REST API:lle, mutta koodipohjaisen ratkaisun ansiosta se antaa enemmän vapauksia, kuin mitä käyttöliittymä pohjainen ratkaisu kuten ReadyAPI, jossa kaikki tarpeet eivät välttämättä ole mahdollisia. Työssä on lisää kehittämistä, sillä kaikkia testejä ei työn aikana saatu luotua Skj dataserverille.