Ohjelmistojen validointi mittausjärjestelmissä
Rahkola, Janne (2022)
Rahkola, Janne
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-202205118498
https://urn.fi/URN:NBN:fi:amk-202205118498
Tiivistelmä
Tutkimuksen lähtökohtana toimi Kajaanin Mittaustekniikan yksikössä kehitetty MITYSens-olosuhdejärjestelmä, jonka ohjelmiston laatu oli tarkoitus validoida. Aihepiiriä kartoittaessa kuitenkin selvisi, ettei validoinnille löydy yksiselitteistä ja tarkkaa määritystä. Täten validoinnin tarkastelua kohdennettiin uudelleen ja päähuomio asetettiin ESP32-kehitysalustaan ja lämpötila-anturiin DS18B20, joiden ohjelmistoa, toimintaa ja testausta tarkastellaan erilaisista näkökulmista.
Tutkimus alkaa ohjelmiston kehittämisen menetelmistä ja erilaisista ohjelmistokehityksen työkaluista, minkä jälkeen siirrytään tutkimuksen käytännön toteutukseen. Ohjelmistotestauksen pääasiallisina työkaluina käytetään Visual Studio Codea ja siihen asennettua liitännäistä PlatformIO, minkä lisäksi palvelimella tehtävät toimenpiteet suoritetaan GitLab-versionhallinnan Docker-konteissa. Kyseisten työkalujen avulla voidaan suorittaa niin yksikkötestejä kuin koko järjestelmää tarkastelevia toimenpiteitäkin.
Ylipäätään ohjelmistojen validoinnin keskiössä ovat erilaiset manuaaliset tai automatisoidut testit, joiden avulla on mahdollista varmentaa funktioiden, luokkien ja toiminnallisuuksien oikeellisuus. Toisaalta mittausjärjestelmien ohjelmistojen validoinnissa on laajemmassa perspektiivissä tarkasteltaessa huomioitava myös koko tuotantoketjun laatutekijät. Tällöin ohjelmiston elinkaaren aikana päädytään ensimmäisestä vaatimusmäärittelystä aina ohjelmiston ylläpitoon ja viimeisen vaiheen alasajoon saakka. Tosin on huomattava, että tämän tutkimuksen puitteissa laajemman näkökulman käsittelyä täytyi rajata voimakkaasti.
Mittausjärjestelmien validoinnin suhteen on myös huomattava, että ohjelmistojen ja mittalaitteen tulosten validointi eivät ole sama asia. Mittaustulosten validointi perustuu enimmäkseen referenssimittauksille ja niiden matemaattiselle tarkastelulle, mutta tässä tutkimuksessa aihetta oli vain mahdollista sivuta lyhyesti. Ehkä tulevissa tutkimuksissa validointia voidaan tarkastella perinpohjaisemmin, jolloin joitain tästä tutkimuksesta rajattuja aihepiirejä voidaan ottaa parempaan tarkasteluun.
Tutkimus alkaa ohjelmiston kehittämisen menetelmistä ja erilaisista ohjelmistokehityksen työkaluista, minkä jälkeen siirrytään tutkimuksen käytännön toteutukseen. Ohjelmistotestauksen pääasiallisina työkaluina käytetään Visual Studio Codea ja siihen asennettua liitännäistä PlatformIO, minkä lisäksi palvelimella tehtävät toimenpiteet suoritetaan GitLab-versionhallinnan Docker-konteissa. Kyseisten työkalujen avulla voidaan suorittaa niin yksikkötestejä kuin koko järjestelmää tarkastelevia toimenpiteitäkin.
Ylipäätään ohjelmistojen validoinnin keskiössä ovat erilaiset manuaaliset tai automatisoidut testit, joiden avulla on mahdollista varmentaa funktioiden, luokkien ja toiminnallisuuksien oikeellisuus. Toisaalta mittausjärjestelmien ohjelmistojen validoinnissa on laajemmassa perspektiivissä tarkasteltaessa huomioitava myös koko tuotantoketjun laatutekijät. Tällöin ohjelmiston elinkaaren aikana päädytään ensimmäisestä vaatimusmäärittelystä aina ohjelmiston ylläpitoon ja viimeisen vaiheen alasajoon saakka. Tosin on huomattava, että tämän tutkimuksen puitteissa laajemman näkökulman käsittelyä täytyi rajata voimakkaasti.
Mittausjärjestelmien validoinnin suhteen on myös huomattava, että ohjelmistojen ja mittalaitteen tulosten validointi eivät ole sama asia. Mittaustulosten validointi perustuu enimmäkseen referenssimittauksille ja niiden matemaattiselle tarkastelulle, mutta tässä tutkimuksessa aihetta oli vain mahdollista sivuta lyhyesti. Ehkä tulevissa tutkimuksissa validointia voidaan tarkastella perinpohjaisemmin, jolloin joitain tästä tutkimuksesta rajattuja aihepiirejä voidaan ottaa parempaan tarkasteluun.