TESTAUKSEN TAVOITTEET JA TARPEELLISUUS
Testauksen tavoitteet vaihtelevat ohjelmiston kontekstin ja ohjelmiston testaustarpeiden mukaan. Tavoitteet vaihtelevat myös ohjelmiston elinkaaren eri vaiheissa. Esimerkiksi kehitysvaiheen keskivaiheissa voi olla tärkeää löytää mahdollisimman monta vikaa, kun taas ennen julkaisupäivää on tärkeintä yhdistää tietoja ohjelmiston laadusta ja julkaisuun liittyvistä riskeistä. Minkä tahansa ohjelmiston testauksen yleiset tavoitteet kertovat tuotteen laatutasosta projektin eri vaiheissa. Ne voivat sisältää mm. vaatimusten arviointia ja varmistamista, käyttäjätarinoiden arviointia sekä sen varmistamista, että ohjelmisto täyttää käyttäjien ja sidosryhmien odotukset. Testauksen tavoitteena on estää ja löytää viat ja toimintahäiriöt ja tarjota riittävästi tietoa projektin omistajalle tuotteen laadusta ja riskeistä, jotta päätöksiä tuotteen suhteen olisi helpompi tehdä. Tuotteen tarkalla testauksella voidaan yleensä vähentää tuotteen toimintahäiriöiden riskiä tuotannossa. Viat löytyvät testauksen aikana ja toivottavasti korjataan. Tämä johtaa tuotteen korkeampaan laatutasoon. Lisäksi ohjelmistojen testaamista voidaan vaatia lakisääteisten vaatimusten tai erityisten standardien takia."Hyvin suunniteltu ohjelmistotestaus voi tehdä keskinkertaisista ohjelmistoista erittäin hyviä."
Muutamia syitä virheiden esiintymiseen ohjelmistossa ovat mm. liian tiukka aikataulu, inhimillinen virhe, kokematon tiimi, kommunikaation puute, käytetyn tekniikan monimutkaisuus tai vieraiden tekniikoiden käyttö ja väärinkäsitykset.HUOMIOITA TESTAUSPROSESSIN LUONNISSA
Ohjelmistotestauksella on arvoa vain, jos se tuottaa arvoa ohjelmistokehityksen elinkaaren eri osille. Siksi on tärkeää, että testaus sopii ohjelmistokehityksen elinkaareen ja tukee sitä. Ei ole väliä, minkälaista elinkaarta kehitysprosessi käyttää, testauksen on yritettävä tukea sitä. Tosiasiassa jokainen ohjelmistokehityksen elinkaaren malli vaikuttaa merkittävästi siihen, miten testaus tehdään. On olemassa useita erilaisia ohjelmistokehityksen elinkaaria. Tunnetuimpia malleja ovat V-malli ja ketterä malli. Uudempia malleja ovat mm. spiraalimalli ja nopea sovelluskehitysmalli. Siksi testauksen on ainakin oltava tietoinen erityyppisistä ohjelmistokehityksen elinkaarista ja oltava valmiita mukautumaan erityyppisiin kehitysmalleihin. Jotta testaus olisi onnistunutta missä tahansa projektissa, on testaajan ymmärrettävä, mitä tarvitaan, milloin sitä tarvitaan ja kenelle sitä tehdään. Myös projektiin osallistujilla ja sidosryhmillä voi olla omat odotuksensa testaukselle. Jotkut saattavat haluta tietää vain löydetyt kriittiset ongelmat, toiset haluavat tietää jokaisen löydetyn pienemmän ongelman ja toiset haluavat viikoittaisen raportin tuotteen laadusta. Koska kaikki nämä osat voivat muokata testausprosessin muotoa, on myös tärkeää ymmärtää, että ketterä projekti voi eri kokoluokan organisaatioissa olla erilainen ja vaatia testaukselta eri asioita.PÄÄAJATUKSIA TESTAUSPROSESSIN TOTEUTUKSELLE
Tuotteen kehitysprosessilla on suuri vaikutus siihen, millainen testausprosessin pitäisi olla. Usein kehitysprosessi ja testausprosessi kulkevatkin käsi kädessä alusta alkaen."On tärkeää, että testaus sopii ohjelmistokehityksen elinkaareen ja tukee sitä."
Kaksi samantyyppistä, mutta eri kokoluokan ohjelmistoprojektia eivät välttämättä tarvitse uutta testausprosessia vaan voivat parhaimmillaan käyttää samaa testausprosessia. Tarvittavat muutokset voidaan tehdä eri tasoilla, kuten testausstrategiassa. Niin paljon kuin maailmassa on erilaisia ohjelmistoprojekteja, on olemassa erilaisia mahdollisia testausprosesseja, jotka mukautuvat ohjelmistoprojektin mukaan aina hieman omiksi prosesseikseen. Loistava ja hyvin suunniteltu testausprosessi ei takaa hyvää tulosta. Testaajien taidot testauksessa ja viestinnässä ovat vähintään yhtä tärkeässä roolissa. Diplomityö on saatavissa verkossa Aalto-yliopiston kokoelmista (https://bit.ly/dt-ratilainen). Työ on palkittu parhaana ohjelmistotestaukseen liittyvänä opinnäytetyönä FISTB ry:n (Finnish Software Testing Board) puolesta. Palkinto annettiin 12.9.2019 järjestetyssä FiSTB Testing Assembly -testaustapahtumassa. Teksti: Tomi Ratilainen Kuva: Shutterstock