Theseus käyttökatko ma 22.4. klo 12 alkaen. Katko jatkuu 22.4. klo 15 asti ja on koko Theseuksen laajuinen. Lisäksi töiden käsittely ja syöttö on estetty ti 23.4. ainakin klo 12 asti. Theseus service break from Mon 22.4. at 12:00. The break will last until 15:00 on Mon 22.4. and is Theseus-wide. In addition, processing and uploading of work will be blocked until at least 12:00 on Tue 23.4.
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ä.