Verkko-ohjelmointirajapinnan testauksen automatisointi
Ala-Könni, Nico (2022)
Ala-Könni, Nico
2022
All rights reserved. This publication is copyrighted. You may download, display and print it for Your own personal use. Commercial use is prohibited.
Julkaisun pysyvä osoite on
https://urn.fi/URN:NBN:fi:amk-2022052712586
https://urn.fi/URN:NBN:fi:amk-2022052712586
Tiivistelmä
Insinöörityön tarkoitus oli tutkia verkko-ohjelmointirajapintoja, niiden testausta ja testauksen automatisointia. Työssä selvitettiin aihetta ensin lähdeaineiston avulla tutkimalla, mitä ohjelmointirajapinnat ovat, millaisia hyötyjä ja heikkouksia niihin liittyy ja miten niitä luodaan ja käytetään. Sen jälkeen tutkittiin ohjelmointirajapintoihin, niiden testaukseen ja testauksen automatisointiin liittyviä teknologioita ja työkaluja. Viimeiseksi selvitettiin ohjelmointirajapintojen testauksen suunnittelua ja toteutusta sekä automatisointia.
Rajapinnan testaus on keskeinen vaihe ohjelmiston koko elinkaaren hallintaa. Ohjelmointirajapinnoissa, niiden testauksessa ja automatisoinnissa voidaan hyödyntää useita eri teknologioita ja työkaluja. Testaussuunnitelman ja testitapausten määrittely ovat keskeinen osa testausprosessin hallintaa. Manuaalinen testaus on edellytys testauksen automatisoinnille. Oikein toteutettuna testauksen automatisointi tuo monia hyötyjä.
Työssä toteutettiin kootun tietoperustan pohjalta myös tapaustutkimus, jossa suunniteltiin ja toteutettiin verkko-ohjelmointirajapinnan testaus ja testauksen automatisointi. Testattava ohjelmointirajapinta oli yksinkertainen GraphQL-rajapinta verkkosovelluksesta, jossa pystyttiin luomaan reseptejä, kommentoimaan niitä ja antamaan niistä arvosteluja. Rajapinta oli ohjelmoitu JavaScript-ohjelmointikielellä, ja se käytti MongoDB-tietokantaa. Rajapinnan manuaalinen testaus tehtiin Postman-testaussovelluksella, testit luotiin testi- ja prosessiautomaation Robot Framework -ohjelmistolla ja testien automatisointiin käytettiin Jenkins-automaatiopalvelin.
Insinöörityön lopputuloksena päähavaintoja olivat testaussuunnitelman ja testitapausten määrittelyn hyödyllisyys ja tärkeys testauksen toteutukselle, testauksen mukanaolon tarpeellisuus jo heti ohjelmakehityksessä sekä testauksessa löydettyjen virheiden korjaaminen ja testitapausten uudelleen testaaminen
Rajapinnan testaus on keskeinen vaihe ohjelmiston koko elinkaaren hallintaa. Ohjelmointirajapinnoissa, niiden testauksessa ja automatisoinnissa voidaan hyödyntää useita eri teknologioita ja työkaluja. Testaussuunnitelman ja testitapausten määrittely ovat keskeinen osa testausprosessin hallintaa. Manuaalinen testaus on edellytys testauksen automatisoinnille. Oikein toteutettuna testauksen automatisointi tuo monia hyötyjä.
Työssä toteutettiin kootun tietoperustan pohjalta myös tapaustutkimus, jossa suunniteltiin ja toteutettiin verkko-ohjelmointirajapinnan testaus ja testauksen automatisointi. Testattava ohjelmointirajapinta oli yksinkertainen GraphQL-rajapinta verkkosovelluksesta, jossa pystyttiin luomaan reseptejä, kommentoimaan niitä ja antamaan niistä arvosteluja. Rajapinta oli ohjelmoitu JavaScript-ohjelmointikielellä, ja se käytti MongoDB-tietokantaa. Rajapinnan manuaalinen testaus tehtiin Postman-testaussovelluksella, testit luotiin testi- ja prosessiautomaation Robot Framework -ohjelmistolla ja testien automatisointiin käytettiin Jenkins-automaatiopalvelin.
Insinöörityön lopputuloksena päähavaintoja olivat testaussuunnitelman ja testitapausten määrittelyn hyödyllisyys ja tärkeys testauksen toteutukselle, testauksen mukanaolon tarpeellisuus jo heti ohjelmakehityksessä sekä testauksessa löydettyjen virheiden korjaaminen ja testitapausten uudelleen testaaminen