• Ei tuloksia

Testien tuomat hyödyt ja löydetyt ongelmat

Jos testit eivät mene läpi muutoksien jälkeen, ne tarkastetaan manuaalisesti. Jos kyseessä on virhe järjestelmässä, siitä tehdään korjauspyyntö sekä raportoidaan kehitystiimille. Fimlabille tehdyt testit ovat havainneet regressiota järjestelmien komponenttien testauksessa. E2E-testissä käytetään samoja komponentteja, jo-ten komponenttien testeissä ilmenneet ongelmat heijastuvat myös E2E-testeihin.

Tämä johtaa E2E-testin epäonnistumiseen, mutta itse tapahtumaketjussa ei ole ilmennyt ongelmia ja näytteiden elinkaari on toiminut virheittä.

Testien lisääminen Jenkinsiin ajoon Linux-virtuaalikoneelle aiheutti alussa ongel-mia, kun testit käyttäytyivät hieman eri tavalla kuin lokaalisti Windowsilla ajetta-essa. Tämä korjattiin käyttämällä tiettyihin kohtiin, kuten selaimen avaamiseen, SeleniumLibrary-avainsanoja. Testien ajot ovat epäonnistuneet satunnaisesti sa-nomaliikenteen hitauden vuoksi ja tätä on korjattu lisäämällä viiveitä ja odotusai-koja testeihin.

Automaatiotestit on suoritettu järjestelmän testiympäristössä, jonka kriittiset osat ovat toimineet hyvin. On kuitenkin huomioitava, että testiympäristö on jatkuvasti kehitysvaiheessa ja virheitä on osattu odottaa. Automaatiotestit ovat hyödyttä-neet kehittäjiä luomalla turvaa järjestelmän kehittämiselle. Myös testaajat ovat hyötyneet automaatiotesteistä, sillä se on vähentänyt manuaalitestauksen tar-vetta.

6 POHDINTA

Opinnäytetyöprosessi alkoi teknologioiden opettelusta, sillä tekijällä ei ollut aiem-paa kokemusta Robot Frameworkista. Fimlabilla automaatiotestaus oli opinnäy-tetyöprosessin alussa hyvin alkutekijöissä. Työn lopussa automaatiotestausre-sursseja on kasvatettu ja iso osa järjestelmistä on saatu katettua testein. Käytet-tävät teknologiat oli valittu ennen työn alkua, ja ne sopivatkin erinomaisesti tähän käyttötarkoitukseen. Robot Framework on hyvin suoraviivainen käyttää testien kehittämiseen ja sen kirjastot ovat hyvin kattavia. Luoduista automaatiotesteistä on ollut hyötyä kehittäjille, sekä ne ovat tuoneet helpotusta järjestelmien testaa-jille.

Ongelmia ilmeni, kun testit laitettiin ensimmäistä kertaa Linux-virtuaalikoneelle ajoon. Se suoritti osan testeistä eri tavalla, mikä johtui Chromen avaamisesta.

Ongelma kierrettiin vaihtamalla QWebin selaimen avaamiseen käytettävä avain-sana vastaavaan SeleniumLibraryn avainavain-sanaan. Toinen ongelma, sanomalii-kenteen viive, on ilmennyt läpi kehityksen. Tämä on kierretty testeissä pidentä-mällä odotusaikoja. Aika ajoin sanomaliikenteessä on kuitenkin ruuhkaa, eikä pi-dennetty odotusaika ole aina tarpeeksi pitkä. Tälle pitäisi kehittää tulevaisuu-dessa mahdollisimman pitkäikäinen korjaus. Muita kehitysehdotuksia testeille olisi testikattavuuden lisääminen ajamalla testit eri selaimilla, joilla järjestelmiä käytetään.

Haasteita työstä löytyi, mutta myös ratkaisut niihin löytyivät helposti. Automaatio-testien kehittämisessä hyödynnettiin valittuja kirjastoja monipuolisesti. Kokonai-suudessaan opinnäytetyöprosessi oli opettavainen ja toimeksiantajalle hyödylli-nen. Automaatiotestauksen kehitys jatkuu Fimlabilla ja siitä on tullut luonnollinen osa kehitystoimintaa.

LÄHTEET

An introduction to code coverage. n.d. Pittet, S. Verkkosivu. Viitattu 14.10.2021.

https://www.atlassian.com/continuous-delivery/software-testing/code-coverage Chowdhury, A. 2021. What Is Software Testing? Testim-blogi 29.6.2021. Viitattu 12.9.2021. https://www.testim.io/blog/software-testing-basics/

Colantonio, J. 2019. 11 top open-source test automation frameworks: How to choose. Techbeacon-blogi 2019. Viitattu 11.11.2021.

https://tech- beacon.com/app-dev-testing/top-11-open-source-testing-automation-fra-meworks-how-choose

Fimlab. n.d. Verkkosivu. Viitattu 21.11.2021. https://fimlab.fi/media

Functional Testing vs Non-Functional Testing. n.d. Pedamkar, P. Educba-blogi n.d. Viitattu 8.11.2021. https://www.educba.com/functional-testing-vs-non-func-tional-testing

How to write and use custom Robot Framework Python RPA libraries. 2021.

Verkkosivu. Viitattu 11.11.2021. https://robocorp.com/docs/development-guide/robot-framework/how-to-use-custom-python-libraries-in-your-robots Intellipaat. 2021. What is Automation Testing? Definition, Types, Tools, Scope and Benefits. IntelliPaat-blogi 20.10.2021. Viitattu 18.11.2021. https://intelli-paat.com/blog/what-is-automation-testing/

ISO 25010. n.d. System and software quality models. International Standards Organization. Viitattu 7.11.2021. https://iso25000.com/index.php/en/iso-25000-standards/iso-25010

Jenkins. n.d. Verkkosivu. Viitattu 11.11.2021. https://www.jenkins.io/

JetBrains. n.d. Verkkosivu. Viitattu 14.10.2021. https://www.jet-brains.com/resharper/features/unit_testing.html

Kinsbruner, E. 2019. Top 7 Test Automation Benefits. Verkkosivu. Viitattu 26.8.2021. https://www.perfecto.io/blog/7-test-automation-benefits

Kinsbruner, E. 2020. What Is Test Automation?. Verkkosivu. Viitattu 26.8.2021.

https://www.perfecto.io/blog/what-is-test-automation

Koskela, L. 2018. Automaattinen ohjelmistotestaus mikropalveluarkkitehtuu-rissa. Tietotekniikan tutkinto-ohjelma. Tampereen teknillinen yliopisto. Kandi-daatintutkielma.

Kritka. 2020. Types of Software Testing. GeeksforGeeks-blogi 23.12.2020. Vii-tattu 10.9.2021. https://www.geeksforgeeks.org/types-software-testing/

Levels of Testing. n.d. Verkkosivu. Viitattu 10.9.2021. https://www.ja-vatpoint.com/levels-of-testing

Munetsi, T. 2020. What Is Jenkins Used For?. OpenLogic-blogi 6.3.2020. Vii-tattu 24.9.2021. https://www.openlogic.com/blog/what-is-jenkins-used-for Murtosalo, J. 2015. Automaatiotestaus. Tietojenkäsittelyn koulutusohjelma. Lau-rea-ammattikorkeakoulu. Opinnäytetyö.

Ohjelmistotestaus parantaa laatua. 2018. ATR Soft Oy. Verkkosivu. Viitattu 8.11.2021. https://www.atrsoft.com/2018/01/04/ohjelmistotestaus-parantaa-laa-tua/

Padmanabhan, A. 2019. Robot Framework. Devopedia-blogi 1.8.2019. Viitattu 11.11.2021. https://devopedia.org/robot-framework

Pearson, L. 2015. The Four Levels of Software Testing. Verkkosivu. Viitattu 10.9.2021. https://www.seguetech.com/the-four-levels-of-software-testing/

Qentinel. n.d. Verkkosivu. Viitattu 11.11.2021. https://qentinel.com/qweb-open-source-automation-library/

QWeb. 2021. Verkkosivu. Viitattu 11.11.2021. https://github.com/qenti-nelqi/qweb

Robot Framework. n.d. Robot Framework Foundation. Verkkosivu. Viitattu 24.9.2021. https://robotframework.org/

Scaled Agile, Inc. Päivitetty 10.2.2021. Agile Testing. Verkkosivu. Viitattu 18.11.2021. https://www.scaledagileframework.com/agile-testing/

SeleniumLibrary. 2021. Verkkosivu. Viitattu 11.11.2021. https://github.com/ro-botframework/SeleniumLibrary

Software Testing Methodologies. n.d. Pedamkar, P. Educba-blogi n.d. Viitattu 8.11.2021. https://www.educba.com/software-testing-methodologies/

Testaus ketterissä menetelmissä. n.d. Pdf-dokumentti. Viitattu 9.11.2021.

https://www.cs.helsinki.fi/u/mluukkai/ohtu2016/luento7.pdf

Testausautomaatio tehostaa laadunvarmistusta. 2018. ATR Soft Oy. Verk-kosivu. Viitattu 26.8.2021. https://www.atrsoft.com/2018/02/12/testausau-tomaatio-tehostaa-laadunvarmistusta/

The different types of software testing. n.d. Pittet, S. Verkkosivu. Viitattu 12.9.2021. https://www.atlassian.com/continuous-delivery/software-testing/ty-pes-of-software-testing

Tishchenko, D. 2019. Verkkosivu. Viitattu 18.11.2021.

https://www.a1qa.com/blog/test-automation-process-overview/

VALA Group. n.d. Laadunvarmistus ja ohjelmistotestaus. Ite wiki -blogi n.d. Vii-tattu 9.11.2021. https://www.itewiki.fi/opas/laadunvarmistus-ja-ohjelmistotes-taus/

LIITTEET

Liite 1. Fimlabin palveluväylän kuvaus