Tiedonkeräyssovelluksen pohja
Bergius, Simo (2020)
Bergius, Simo
2020
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-2020061819138
https://urn.fi/URN:NBN:fi:amk-2020061819138
Tiivistelmä
Opinnäytetyössä tuotettiin malliesimerkki tiedonkeräyssovelluksesta tiedonkeräys-, tiedonsiirto-, tiedonvarastointi- ja -tiedonnäyttösovelluksia tuottavalle ohjelmistoyritykselle. Sovellus tehtiin C++-ohjelmointikielellä käyttäen Qt-ohjelmisto-kehystä. Sovelluksesta oli tarkoitus tehdä mahdollisimman yksinkertainen, joka liittää yrityksen omat pohjakomponentit toisiinsa. Sovellusta voitaisiin käyttää pohjana tuleville projekteille, jossa yleisimmät komponentit on otettu valmiiksi käyttöön ja jota on helppo lähteä jatkokehittämään asiakastarpeen mukaan.
Toissijaisena tarkoituksena tuotettiin Jenkins-alustalle käännös- ja testausautomaatio, johon on liitetty koodin staattista analyysiä, käännösvaroitusten keräämisen ja testien koodikattavuutta ja näiden asioiden näyttämistä. Jenkins-automaatio oli tarkoitus tehdä siten, että siitä voidaan ottaa mallia muuallakin. Tätä tehdessä opittiin C++-sovellusten automaattista integrointitestausta ja automaattista koostamista, jota tarvitaan laadun varmistamiseksi.
Testausautomaatio tehtiin Robot Framework -kielellä. Testitapauksia tehtiin testaamaan tiedonkeruusovellusta, joka käyttää pohjakirjastoja, joten epäsuorasti myös pohjakirjastoja testattiin.
Sovelluksesta tehtiin Docker-image, joka voidaan asentaa useanlaiseen ympäristöön, ja jota voidaan käyttää malliesimerkkinä Linux C++ -sovelluksen kontittamisesta.
Työn päätavoite onnistui niin kuin oli määritelty. Tiedonkeruusovelluksen toteutus onnistui juuri niin kuin oli ajateltu. Työssä onnistuttiin toteuttamaan sovellus, joka yhdistää valmiit komponentit toisiinsa yksinkertaisella tavalla. Jenkins-automaatio onnistui myös odotusten mukaisesti. Automaattiset testit tulivat toteutettua hieman suppeampina kuin alun perin oli tarkoitus.
Toissijaisena tarkoituksena tuotettiin Jenkins-alustalle käännös- ja testausautomaatio, johon on liitetty koodin staattista analyysiä, käännösvaroitusten keräämisen ja testien koodikattavuutta ja näiden asioiden näyttämistä. Jenkins-automaatio oli tarkoitus tehdä siten, että siitä voidaan ottaa mallia muuallakin. Tätä tehdessä opittiin C++-sovellusten automaattista integrointitestausta ja automaattista koostamista, jota tarvitaan laadun varmistamiseksi.
Testausautomaatio tehtiin Robot Framework -kielellä. Testitapauksia tehtiin testaamaan tiedonkeruusovellusta, joka käyttää pohjakirjastoja, joten epäsuorasti myös pohjakirjastoja testattiin.
Sovelluksesta tehtiin Docker-image, joka voidaan asentaa useanlaiseen ympäristöön, ja jota voidaan käyttää malliesimerkkinä Linux C++ -sovelluksen kontittamisesta.
Työn päätavoite onnistui niin kuin oli määritelty. Tiedonkeruusovelluksen toteutus onnistui juuri niin kuin oli ajateltu. Työssä onnistuttiin toteuttamaan sovellus, joka yhdistää valmiit komponentit toisiinsa yksinkertaisella tavalla. Jenkins-automaatio onnistui myös odotusten mukaisesti. Automaattiset testit tulivat toteutettua hieman suppeampina kuin alun perin oli tarkoitus.