Automated Testing Performed by Developers
Turto, Tuukka (2013)
Turto, Tuukka
Jyväskylän ammattikorkeakoulu
2013
All rights reserved
Julkaisun pysyvä osoite on
https://urn.fi/URN:NBN:fi:amk-2013060613279
https://urn.fi/URN:NBN:fi:amk-2013060613279
Tiivistelmä
Opinnäytetyö tehtiin Digia Oyj:lle ja sen tarkoituksena oli kehittää ohjelmistokehittäjien suorittamaa automaattitestausta. Erilaisiin tekniikoihin ja teknologioihin paneuduttiin kattavasti ja niitä vertailtiin. Vertailun perusteella valittiin yhteisesti käytössä olevat työkalut. Testauksen eri painopistealueisiin valikoitui joukko tekniikoita, joiden käyttöönottoon järjestettiin koulutusta. Lisäksi toteutettiin kaksi kyselyä, joilla kartoitettiin ohjelmistokehittäjien mielipiteitä liittyen automaattiseen testaukseen ja sen hyödyllisyyteen.
Työssä paneuduttiin erityisesti ratkaisemaan testausta estäviä ongelmia ja esitettiin erilaisia ratkaisumalleja niihin. Osa kehitykseen osallistuneista tiimeistä otti automaattisen testauksen aktiiviseen käyttöön. Yleisesti ottaen, kehittäjät kokivat automaattisen testauksen mielekkääksi ja työtä helpottavaksi. Eri tiimeissä testauksen painopiste muotoutui omanlaisekseen tiimin sen hetkisten tarpeiden mukaan.
Samalla huomattiin, ettei automaattisten testien tuominen vanhaan järjestelmään ole helppo toimenpide ja se saattaa vaatia totutusta poikkeavia suunnitteluratkaisuja. Testit myös vaativat jatkuvaa ylläpitoa järjestelmän muuttuessa.
Tutkimuksen aikana havaittiin järjestelmän subjektiivisesti havannoidun laadun parantuneen. Kehittäjät saivat paremman kokonaiskuvan järjestelmän komponenttien toiminnasta ja heidän koodissaan oli vähemmän virheitä.
Työssä paneuduttiin erityisesti ratkaisemaan testausta estäviä ongelmia ja esitettiin erilaisia ratkaisumalleja niihin. Osa kehitykseen osallistuneista tiimeistä otti automaattisen testauksen aktiiviseen käyttöön. Yleisesti ottaen, kehittäjät kokivat automaattisen testauksen mielekkääksi ja työtä helpottavaksi. Eri tiimeissä testauksen painopiste muotoutui omanlaisekseen tiimin sen hetkisten tarpeiden mukaan.
Samalla huomattiin, ettei automaattisten testien tuominen vanhaan järjestelmään ole helppo toimenpide ja se saattaa vaatia totutusta poikkeavia suunnitteluratkaisuja. Testit myös vaativat jatkuvaa ylläpitoa järjestelmän muuttuessa.
Tutkimuksen aikana havaittiin järjestelmän subjektiivisesti havannoidun laadun parantuneen. Kehittäjät saivat paremman kokonaiskuvan järjestelmän komponenttien toiminnasta ja heidän koodissaan oli vähemmän virheitä.