Selvitys HTTP API -jäljittelypalvelimen luomisesta
Einola, Santeri (2023)
Einola, Santeri
2023
Julkaisun pysyvä osoite on
https://urn.fi/URN:NBN:fi:amk-2023060421156
https://urn.fi/URN:NBN:fi:amk-2023060421156
Tiivistelmä
Työn tarkoituksena oli selvittää, mitä etuja HTTP API -jäljittelypalvelimen käyttämisellä on perinteisten testikirjastojen käyttöön verrattuna, mahdollisuudet ja menetelmät mainitun jäljittelypalvelimen luomiselle sekä mahdollisuuksien mukaan toteuttaa sellaisen käyttöönotto finanssialan yrityksen web-sovelluksessa. Selvitystyön tuloksena syntyi kattava raportti siitä, miten jäljittelypalvelimen käyttäminen vertautuu perinteisempiin integraatiotestausmenetelmiin. Merkittävimpinä etuina voidaan katsoa olevan jäljittelypalvelimen hyödyntämisen realistisuus tuotantokäytössä olevien, kolmannen osapuolen palvelimien käyttöön verraten sekä tällaisten tuotantopalvelimien testauskäytöstä seuraavien haittapuolien eliminoiminen.
Koska jäljittelypalvelimen luomisen todettiin olevan mahdollista ja sen käyttöönotto sisälsi etuja perinteisempiin integraatiotestausmenetelmiin verrattuna, päätettiin sellainen toteuttaa työn kohteena olevalle sovellukselle. Toteutuksen työkaluksi valittiin WireMock, joka on työn tekohetkellä tarkoitukseen pätevin ja soveltuvin vaihtoehto. WireMockia vastaavia työkaluja ei juuri ole tarjolla, ja muutamat jokseenkin samankaltaiset työkalut sisältävät merkittäviä haittapuolia WireMockiin verrattuna.
Käyttöönoton tuloksena yrityksen sovelluksen integraatiotestaaminen kohentui monelta osin. Koska alun perin sovelluksessa kolmannen osapuolen palveluihin liittyvään integraatiotestaamiseen käytettiin joko automaatiotesteihin sisällytettyjä kirjastoja tai suoraan kolmannen osapuolen palveluja, saavutettiin WireMock-palvelimen käyttöön siirtymisen myötä merkittäviä parannuksia. Näistä tärkeimmät ovat jäljittelypalvelimen realistisuus kolmannen osapuolen tuotantopalvelimiin nähden, sen nopeus ja luotettavuus sekä kolmannen osapuolen palveluiden testikäytöstä johtuvien kulujen eliminoiminen. Lisäksi vapaasti muokattavat testikutsupäätteet sekä -data ovat WireMockin tuomia uusia ominaisuuksia.
Koska jäljittelypalvelimen luomisen todettiin olevan mahdollista ja sen käyttöönotto sisälsi etuja perinteisempiin integraatiotestausmenetelmiin verrattuna, päätettiin sellainen toteuttaa työn kohteena olevalle sovellukselle. Toteutuksen työkaluksi valittiin WireMock, joka on työn tekohetkellä tarkoitukseen pätevin ja soveltuvin vaihtoehto. WireMockia vastaavia työkaluja ei juuri ole tarjolla, ja muutamat jokseenkin samankaltaiset työkalut sisältävät merkittäviä haittapuolia WireMockiin verrattuna.
Käyttöönoton tuloksena yrityksen sovelluksen integraatiotestaaminen kohentui monelta osin. Koska alun perin sovelluksessa kolmannen osapuolen palveluihin liittyvään integraatiotestaamiseen käytettiin joko automaatiotesteihin sisällytettyjä kirjastoja tai suoraan kolmannen osapuolen palveluja, saavutettiin WireMock-palvelimen käyttöön siirtymisen myötä merkittäviä parannuksia. Näistä tärkeimmät ovat jäljittelypalvelimen realistisuus kolmannen osapuolen tuotantopalvelimiin nähden, sen nopeus ja luotettavuus sekä kolmannen osapuolen palveluiden testikäytöstä johtuvien kulujen eliminoiminen. Lisäksi vapaasti muokattavat testikutsupäätteet sekä -data ovat WireMockin tuomia uusia ominaisuuksia.
