Tekoälyn hyödyntäminen ohjelmistotestauksessa
Nevanperä, Jussi (2020)
Nevanperä, Jussi
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-06-06
Julkaisun pysyvä osoite on
https://urn.fi/URN:NBN:fi:tuni-202006035895
https://urn.fi/URN:NBN:fi:tuni-202006035895
Tiivistelmä
Tämä tutkielma on kirjallisuuskatsaus, jossa tarkastellaan millaisia vaikutuksia tekoälyn hyödyntämisellä on ohjelmistotestauksessa. Motiivina tutkielman aiheelle toimi ohjelmistotestauksen samanaikainen tärkeys, sekä sen potentiaalinen riski tuhlata kehitystyön tärkeitä resursseja. Tutkielman tarkoituksena on aiempien tutkimuksien ja esimerkkien avulla perustella, miksi tekoälyn hyödyntäminen ohjelmistotestauksessa on tärkeää. Perustelut tekoälyn hyödyntämiselle pitävät sisällään ohjelmistotestauksen työvaiheita, joissa tekoälyä voidaan hyödyntää, erillisen osuuden tekoälyn vahvuuksista yleensä, sekä yksityiskohtaisempia esimerkkejä tekoälyn soveltamistavoista ohjelmistotestauksessa.
Tutkielman tutkimusmateriaalia on kerätty kolmesta eri tietokannasta: IEEE Xploresta, ScienceDirectistä sekä ACM:stä. Aineisto koottiin vuosien 2005 ja 2020 välillä julkaistuista artikkeleista ja konferenssipapereista, jotka käsittelevät sekä ohjelmistotestausta, että tapoja soveltaa tekoälyä sen toteutuksessa. Lopullisia tutkimukseen valittuja lähteitä kertyi 16 kappaletta.
Tutkimuksen tulokset tukevat tekoälyn käytön tärkeyttä ohjelmistotestauksessa. Tekoälyä osataan soveltaa ohjelmistotestauksen jokaisessa vaiheessa. Jo ensimmäisiä testejä varten kyetään tekemään ennustuksia eri osa-alueiden virheherkkyydestä. Näin säästetään testaajien aikaa ja voidaan kohdistaa testaamista oikeisiin alueisiin. Tekoäly kykenee yhdistelemään aiemmista testeistä kerättyä dataa ja tämän pohjalta muokkaamaan tulevia testejä. Myös testien onnistumista voidaan seurata ja tuloksia kategorisoida tekoälyn avulla. Kun testi on ajettu ja ohjelmistoa on sen pohjalta muutettu, tekoäly mahdollistaa nopean tavan löytää kaikki osa-alueet, joihin muutos on vaikuttanut. Näin voidaan valikoida, mitkä testit on syytä ajaa ja mitkä voidaan jättää välistä. Kaikki nämä sovellustavat edesauttavat ohjelmistojen nopeampaa ja halvempaa valmistusta.
Tutkielman tutkimusmateriaalia on kerätty kolmesta eri tietokannasta: IEEE Xploresta, ScienceDirectistä sekä ACM:stä. Aineisto koottiin vuosien 2005 ja 2020 välillä julkaistuista artikkeleista ja konferenssipapereista, jotka käsittelevät sekä ohjelmistotestausta, että tapoja soveltaa tekoälyä sen toteutuksessa. Lopullisia tutkimukseen valittuja lähteitä kertyi 16 kappaletta.
Tutkimuksen tulokset tukevat tekoälyn käytön tärkeyttä ohjelmistotestauksessa. Tekoälyä osataan soveltaa ohjelmistotestauksen jokaisessa vaiheessa. Jo ensimmäisiä testejä varten kyetään tekemään ennustuksia eri osa-alueiden virheherkkyydestä. Näin säästetään testaajien aikaa ja voidaan kohdistaa testaamista oikeisiin alueisiin. Tekoäly kykenee yhdistelemään aiemmista testeistä kerättyä dataa ja tämän pohjalta muokkaamaan tulevia testejä. Myös testien onnistumista voidaan seurata ja tuloksia kategorisoida tekoälyn avulla. Kun testi on ajettu ja ohjelmistoa on sen pohjalta muutettu, tekoäly mahdollistaa nopean tavan löytää kaikki osa-alueet, joihin muutos on vaikuttanut. Näin voidaan valikoida, mitkä testit on syytä ajaa ja mitkä voidaan jättää välistä. Kaikki nämä sovellustavat edesauttavat ohjelmistojen nopeampaa ja halvempaa valmistusta.
Kokoelmat
- Kandidaatintutkielmat [8800]