Test automation as a part of agile software development
Rautavesi, Tiia (2019)
Rautavesi, Tiia
2019
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-201905109178
https://urn.fi/URN:NBN:fi:amk-201905109178
Tiivistelmä
Insinöörityössä tutkittiin testiautomaation sisällytystä ja ylläpitämistä osana asiakkaan ketterää ohjelmistokehitystä. Lähtötilanteessa asiakkaalla ei ollut vielä testiautomaatiota sisällytettynä prosesseissaan ja ohjelmistotestaus oli hajanaista. Tutkimusongelma oli asiakkaan
ohjelmistotestauksen jäsentäminen ja parantaminen ja testiautomaation sisällyttäminen yrityksen prosesseihin ketterästi ja kestävästi.
Työssä tutkittiin ja vertailtiin vesiputousmallin ja ketterän kehityksen (agile) mallin tarjoamia periaatteita ohjelmistotestauksen näkökulmasta. Näihin menetelmiin ja niiden esittämiin testausmalleihin pohjautuen asiakkaalle luotiin uusi testiprosessimalli, johon sisällytettiin tarvittavat työvaiheet ja perustiedot menestyksekkään testiprosessin täytäntöön panemiseksi.
Työssä perehdyttiin testiautomaatioon myös yleisemmin, mutta pääosin tapauskohtaisesti, asiakkaan näkökulmasta. Asiakkaan tarpeisiin etsittiin parasta mahdollista testiautomaatiokehystä. Tärkeimmät vaatimukset valittavalle ojelmistokehykselle olivat modulaarisen testauksen tukeminen ja helppokäyttöisyys. Sen tuli myös olla ilmainen ja avoimeen lähdekoodiin
perustuva.
Tulokset testiprosessin uudistamisen kannalta pohjautuivat pitkälti ketterän kehityksenmalliin ja sen periaatteisiin asiakkaan ja loppukäyttäjän huomioimisen näkökulmasta. Asiakkaanprosessien aiemman tilanteen perusteella niihin oli sisällytettävä aiempaa enemmän kommunikaatiota ja dokumentaatiota asiakkaan tarpeista. Testidokumentaatiota painotettiin lähinnä käyttäjätarinoiden luomiseen ja teknisten vaatimusten luomiseen niiden pohjalta. Tämä projektin tai sprintin alussa luotu dokumentaatio taas toimii alustana tuotekehitykselle ja testiautomaatiolle. Testiautomaatio luodaan RobotLab-ympäristössä Robot Framework -ohjelmistokehystä käyttäen. Robot Framework valittiin testiautomaatiokehykseksi, koska se tukee modulaarisuutta todella hyvin ja se on helppo ottaa käyttöön varsinkinRobotLabin kanssa. RobotLab mahdollistaa testien luomisen ja jakamisen selkeässämuodossa, ja testit voi paketoida ja jakaa linkin avulla muille tiimin jäsenille, jotka voivat ajaa testejä ilman RobotLabin lataamista.
Insinöörityönä tehty uusi testiprosessi ottaa asiakkaan tarpeet paremmin huomioon kuin aiempi. Testaaminen on myös luotettavampaa, nopeampaa ja helpommin toistettavaa testiautomaation sisällytyksen ansiosta. Testidataa on huomattavasti entistä helpompaa kerätä, sillä Robot Framework tuottaa yksityiskohtaisia raportteja testeistä.
ohjelmistotestauksen jäsentäminen ja parantaminen ja testiautomaation sisällyttäminen yrityksen prosesseihin ketterästi ja kestävästi.
Työssä tutkittiin ja vertailtiin vesiputousmallin ja ketterän kehityksen (agile) mallin tarjoamia periaatteita ohjelmistotestauksen näkökulmasta. Näihin menetelmiin ja niiden esittämiin testausmalleihin pohjautuen asiakkaalle luotiin uusi testiprosessimalli, johon sisällytettiin tarvittavat työvaiheet ja perustiedot menestyksekkään testiprosessin täytäntöön panemiseksi.
Työssä perehdyttiin testiautomaatioon myös yleisemmin, mutta pääosin tapauskohtaisesti, asiakkaan näkökulmasta. Asiakkaan tarpeisiin etsittiin parasta mahdollista testiautomaatiokehystä. Tärkeimmät vaatimukset valittavalle ojelmistokehykselle olivat modulaarisen testauksen tukeminen ja helppokäyttöisyys. Sen tuli myös olla ilmainen ja avoimeen lähdekoodiin
perustuva.
Tulokset testiprosessin uudistamisen kannalta pohjautuivat pitkälti ketterän kehityksenmalliin ja sen periaatteisiin asiakkaan ja loppukäyttäjän huomioimisen näkökulmasta. Asiakkaanprosessien aiemman tilanteen perusteella niihin oli sisällytettävä aiempaa enemmän kommunikaatiota ja dokumentaatiota asiakkaan tarpeista. Testidokumentaatiota painotettiin lähinnä käyttäjätarinoiden luomiseen ja teknisten vaatimusten luomiseen niiden pohjalta. Tämä projektin tai sprintin alussa luotu dokumentaatio taas toimii alustana tuotekehitykselle ja testiautomaatiolle. Testiautomaatio luodaan RobotLab-ympäristössä Robot Framework -ohjelmistokehystä käyttäen. Robot Framework valittiin testiautomaatiokehykseksi, koska se tukee modulaarisuutta todella hyvin ja se on helppo ottaa käyttöön varsinkinRobotLabin kanssa. RobotLab mahdollistaa testien luomisen ja jakamisen selkeässämuodossa, ja testit voi paketoida ja jakaa linkin avulla muille tiimin jäsenille, jotka voivat ajaa testejä ilman RobotLabin lataamista.
Insinöörityönä tehty uusi testiprosessi ottaa asiakkaan tarpeet paremmin huomioon kuin aiempi. Testaaminen on myös luotettavampaa, nopeampaa ja helpommin toistettavaa testiautomaation sisällytyksen ansiosta. Testidataa on huomattavasti entistä helpompaa kerätä, sillä Robot Framework tuottaa yksityiskohtaisia raportteja testeistä.