Ohjelmistotestauksen automatisointi ja parhaat käytännöt
Lindgren, Aku (2020)
Lindgren, Aku
2020
Tietojenkäsittelytieteiden kandidaattiohjelma - Bachelor's Degree Programme in Computer Sciences
Informaatioteknologian ja viestinnän tiedekunta - Faculty of Information Technology and Communication Sciences
This publication is copyrighted. You may download, display and print it for Your own personal use. Commercial use is prohibited.
Hyväksymispäivämäärä
2020-05-18
Julkaisun pysyvä osoite on
https://urn.fi/URN:NBN:fi:tuni-202004273958
https://urn.fi/URN:NBN:fi:tuni-202004273958
Tiivistelmä
Ohjelmistotestauksen automatisointi on välttämätöntä modernissa jatkuvan integraation ohjelmistoprojektissa, sillä tiheässä julkaisusyklissä kehittäjät tarvitsevat mahdollisimman nopean palautteen tekemästään koodista. Testien automatisointi on juurruttanut sijaansa ohjelmistokehityksessä, mutta silti monet yritykset kattavat automatisoidulla testauksella vain vähimmäismäärän, johtuen automatisoitujen testien kehitys- ja ylläpitokuluista. Tutkielman tavoite on selvittää, mitkä tekijät kasvattavat automatisointikuluja, sekä miten resursseja pystytään säästämään samalla säilyttäen testiautomaation tehokkuus.
Tutkielmassa tarkastellaan automatisoitavaksi valittavien testitasojen ja -tyyppien valintaa, sekä testitapausten priorisointia pienempiin kokonaisuuksiin. Tutkittavan aiheen nopean kehittymisen vuoksi tutkielmaan pyrittiin valita mahdollisimman uusia tutkimuksia, jotta lähdemateriaali heijastaisi nykyisiä ohjelmistokehityksen käytäntöjä.
Tutkielma osoittaa, että kaikkia testitasoja ei tule pyrkiä automatisoimaan täysin. Automatisoituja testejä suorittamalla harvoin löydetään uusia vikoja ohjelmistosta, mutta niiden avulla voidaan varmistaa, ettei aiemmin toiminut ominaisuus ole hajonnut ja näin manuaaliset testausresurssit voidaan ohjata monimutkaisempiin tehtäviin. Testiautomaatioprojektin kuluista suurin osa syntyy testien ylläpidosta, ja ylläpidon laiminlyömisestä kertyneestä teknologisesta velasta. Testien suorittaminen usein mahdollistaa hajonneiden testitapausten tunnistamisen ajoissa ja pidentää näin testitapausten elinikää.
Tutkielmassa tarkastellaan automatisoitavaksi valittavien testitasojen ja -tyyppien valintaa, sekä testitapausten priorisointia pienempiin kokonaisuuksiin. Tutkittavan aiheen nopean kehittymisen vuoksi tutkielmaan pyrittiin valita mahdollisimman uusia tutkimuksia, jotta lähdemateriaali heijastaisi nykyisiä ohjelmistokehityksen käytäntöjä.
Tutkielma osoittaa, että kaikkia testitasoja ei tule pyrkiä automatisoimaan täysin. Automatisoituja testejä suorittamalla harvoin löydetään uusia vikoja ohjelmistosta, mutta niiden avulla voidaan varmistaa, ettei aiemmin toiminut ominaisuus ole hajonnut ja näin manuaaliset testausresurssit voidaan ohjata monimutkaisempiin tehtäviin. Testiautomaatioprojektin kuluista suurin osa syntyy testien ylläpidosta, ja ylläpidon laiminlyömisestä kertyneestä teknologisesta velasta. Testien suorittaminen usein mahdollistaa hajonneiden testitapausten tunnistamisen ajoissa ja pidentää näin testitapausten elinikää.
Kokoelmat
- Kandidaatintutkielmat [8997]