Testitapausten suunnittelun merkitys
Testitapauksien suunnittelu ja testaustuloksien raportointi ovat avainasemassa laadukkaassa hyväksymistestauksessa. Ilman kattavaa dokumentaatiota siitä, miten testaus on suoritettu ja mitä havaintoja on tehty, on vaikea päättää, onko tietojärjestelmä riittävän laadukas julkaistavaksi tuotantokäyttöön. Testitapauksien suunnittelussa on tärkeätä tunnistaa loppukäyttäjien tietojärjestelmässä suorittamat toiminnot.
Ketteristä menetelmistä tuttua käyttäjätarinamallia voidaan käyttää apuna testitapauksien suunnittelussa, vaikka ohjelmistoja kehitettäisiin perinteisen vesiputousmallin mukaisesti. Tässä artikkelissa esiteltävässä opinnäytetyössä kartoitettiin Laurea-ammattikorkeakoulun tietojärjestelmäprojektien nykyisiä testauskäytäntöjä ja mahdollisia kehityskohteita. Erityisesti artikkeli keskittyy esittelemään ideaa käyttäjätarinoiden hyödyntämisestä hyväksymistestauksen testitapaussuunnittelussa.
Testauksen suunnittelun, suorittamisen ja raportoinnin huolellinen suunnittelu on tietojärjestelmän hyväksymistestauksen keskeinen laatumittari. Ilman tarkkaa testaussuunnitelmaa ja testitapauksia, tietojärjestelmän hyväksymistestaus on tietojärjestelmän kokeilemista testaajan oman asiantuntijuuden ja testauskokemuksen pohjalta. Tällöin myös päätös siitä, onko tietojärjestelmä valmis tuotantokäyttöön perustuu käytännössä testaajien tuntemuksiin, ei dokumentoituihin testituloksiin. Tutkimuksessa useampi haastateltava toikin esille, että päätös tietojärjestelmän tuotantoon siirrosta perustuu tuntemukseen, ei faktoihin: ”Ohjelmaa on kokeiltu ja se tuntuu toimivan.”
Kehittämiskohteita ja ratkaisuehdotuksia
Tutkimuksen tavoitteena oli muodostaa ratkaisuehdotuksia havaituille kehittämiskohteille. Erityisesti tavoitteena oli konkreettisten työvälineiden muodostaminen tietojärjestelmäprojektien testauksen kehittämiseksi. Tutkimushanke toteutettiin osana Tampereen ammattikorkeakoulun teknologiaosaamisen johtamisen ylempää AMK-tutkintoa. Tutkimusmenetelmänä käytettiin puolistrukturoitua teemahaastattelua ja haastateltaviksi valittiin yhdeksän tietojärjestelmien pääkäyttäjää ja kaksi projektipäällikköä. Kaikki haastateltavat olivat kokeneita oman vastuualueensa asiantuntijoita. Haastatteluiden teemaksi valittiin Laurean nykyiset testauskäytännöt, tietojärjestelmän tuotantokäyttöönotto ja tietojärjestelmän toimittajan vastuulla oleva testaus. Haastattelut purettiin ja aineisto koodattiin eri teema-alueisiin. Haastatteluaineiston analysoinnin lopputuloksena muodostui neljä teemakokonaisuutta, johon haastattelujen havainnot liittyivät: 1) testauksen suunnittelu ja suorittaminen, 2) testiympäristön käyttö testauksessa, 3) uuden tietojärjestelmän tai ohjelmistoversion käyttöönotto sekä 4) toimittajan suorittama testaus.
Kuhunkin teemakokonaisuuteen muodostettiin haastatteluaineiston analysoinnin pohjalta kehityskohteita. Jokaiselle kehityskohteelle luotiin ratkaisuehdotuksia, jotka syntyivät teoriaan perehtymisen sekä haastatteluissa esille tulleiden kehittämistarpeiden että kehittämisideoiden pohjalta. Taulukossa 1 on yhteenveto havaituista kehityskohteista ja muodostetuista ratkaisuehdotuksista.
Taulukko 1 Tutkimuksessa havaitut kehityskohteet ja niille muodostetut ratkaisuehdotukset
Käyttäjätarinapohjainen testitapaussuunnittelu
Käyttäjätarinat ovat ketterissä menetelmissä yleisesti käytetty vaatimuksien dokumentointitapa. Käyttäjätarinasta selviää, kuka tekee, mitä tekee ja miksi tekee (kuva 1). Ketterissä menetelmissä ohjelmistovaatimukset puretaan käyttäjätarinoiksi ja ohjelmiston toteutusvaiheessa käyttäjätarinat pilkotaan vielä tarkemmiksi toteutettaviksi tehtäviksi. (Haikala & Mikkonen, 2011, 83-84.) Esimerkiksi käyttäjätarina voi olla seuraavan kaltainen: ”Opiskelija voi tarkastella lukujärjestystään lukkarikoneesta.”
Kuva 1 Käyttäjätarina
Käyttäjätarinoita voidaan käyttää myös perinteisemmässä vesiputousmallia seuraavassa ohjelmistoprojektissa. Käyttäjätarinoiden avulla voidaan kuvata esimerkiksi loppukäyttäjän tietojärjestelmässä suorittamia toimintoja. Tällöin käyttäjätarinoita voidaan hyödyntää hyväksymistestauksen testitapaussuunnittelussa. Tietojärjestelmän hyväksymistestauksen tärkeimpiä tehtäviä on varmistaa, että tietojärjestelmä soveltuu juuri todellisiin käyttötilanteisiin. Hyväksymistestauksen testitapaussuunnittelu on siis hyvä aloittaa dokumentoimalla käyttötilanteet käyttäjätarinoin. Kuvassa 2 on esimerkki opiskelijan palveluja tarjoavan Pakki-palvelun käyttäjätarinoista. Kun kaikki käyttäjätarinat on kuvattu, voidaan siirtyä suunnittelemaan kullekin käyttäjätarinalle tarkempaa testitapausta tai mahdollisesti useampia testitapauksia. Testitapaukset kuvaavat vaihe vaiheelta varsinaisen testin suorittamisen. Ennen hyväksymistestauksen aloittamista testitapauksien katselmoinnilla varmistetaan, että kaikki tarpeelliset käyttäjätarinat ja niiden suorittamista tarkemmin kuvaavat testitapaukset on dokumentoitu. Tarkasti kuvatut testitapaukset mahdollistavat testitapauksien identtisen toistamisen myös eri testaajien suorittamana. Käyttäjätarinoita ja tarkempia testitapauskuvauksia voidaan hyödyntää myös myöhemmin valmisteltaessa loppukäyttäjien käyttöohjeita tai valmistauduttaessa loppukäyttäjien koulutuksiin.
KUVA 2 Mindmap käyttäjätarinoista (piirretty Edraw Mind Map -ohjelmalla)
Testitapauksien suunnittelu käyttäjätarinoista tarkkoihin testitapauskuvauksiin vaatii sekä aikaa että resursseja. Toisena vaihtoehtona edellä kuvatulle toimintamallille on suorittaa hyväksymistestaus suoraan käyttäjätarinoiden pohjalta ilman tarkempia testivaihekuvauksia. Tällöin testitapauksen testaaja päättää, miten hän tarkalleen ottaen toteuttaa käyttäjätarinan. Mikäli testitapauksen suoritusvaiheita ei dokumentoida tarkasti, on riski ettei testitapausta tulla uudelleentestauksen yhteydessä suorittamaan tarkalleen samaan tapaan. Lisäksi vain käyttäjätarinoihin pohjautuvat testitapaukset vaativat testaajalta hyvää ennakkotietämystä tietojärjestelmän toiminnasta, jotta hän kykenee suorittamaan testausta. Testauksen suunnittelun, suorittamisen ja raportoinnin huolellinen suunnittelu on tietojärjestelmän hyväksymistestauksen keskeinen laatumittari.
Myös testauksen kattavuutta on vaikeampi arvioida, mikäli testitapauksien katselmoinnissa ovat vain käyttäjätarinat katselmoinnin kohteena; tietojärjestelmä kun mahdollistaa käyttäjätarinan suorittamisen usealla tavalla. Ilman tarkkoja testitapauskuvauksia, erilaiset testipolut eivät välttämättä tule testatuksi.
Testauksen suunnittelun, suorittamisen ja raportoinnin huolellinen suunnittelu on tietojärjestelmän hyväksymistestauksen keskeinen laatumittari.
Kolmas vaihtoehto on suorittaa hyväksymistestaus käyttäjätarinoiden pohjalta ja vasta testausta suoritettaessa kuvata tarkemmin testitapauksen suorittamiseen liittyvät vaiheet. Ensimmäisen hyväksymistestauskierroksen jälkeen katselmoidaan testitapaukset. Mikäli katselmoinnissa havaitaan puuttuvia käyttäjätarinoita tai käyttäjätarinoista uupuu vaihtoehtoisia testipolkuja, korjataan puutteet ja suoritetaan niiltä osin hyväksymistestaus uudestaan.
Tietojärjestelmän hyväksymistestausta suunniteltaessa kannattaakin pohtia eri vaihtoehtojen hyötyjä ja haittoja. Viimeisin, kolmas vaihtoehto voi olla useimmiten paras toimintatapa toteuttaa hyväksymistestaus ja testitapauksien kuvaus. Toiseen vaihtoehtoon nähden testitapauksien tarkka kuvaus tuo monia hyötyjä kuten aiemmin kuvattiin. Toiseksi, ensimmäiseen vaihtoehtoon verrattuna testitapauksien tarkka kuvaus vaatii useimmiten samanaikaisesti tietojärjestelmän konkreettista käyttöä, jotta testitapauksen vaiheet voi käytännössä kuvata.
Ratkaisuehdotuksista konkreettisiin työvälineisiin
Hyväksymistestauksen käyttäjätarinapohjainen testitapaussuunnittelu on yksi tutkimuksen lopputuloksena syntyneistä ratkaisuehdotuksista. Tämän uskotaan kehittävän nykyisiä hyväksymistestauksen suunnittelu- ja suorittamiskäytäntöjä. Taulukossa 1 määriteltyjä ratkaisuehdotuksia tullaan työstämään konkreettisiksi työvälineiksi erillisessä kehitysprojektissa. Tulevilla Laurean pääkäyttäjäpäivillä käsitellään myös tarkemmin koko tutkimuksen tuloksia sekä jatkoprojektin edistymistä.
Lähde
Edraw Mind Map –ohjelma. Luettu 12.5.2016. https://www.edrawsoft.com/freemind.php
Haikala, I. & Mikkonen, T. 2011. 12. painos. Ohjelmistotuotannon käytännöt. Helsinki: Talentum.
Kirjoittajat
Tuuli Rinne
Insinööri, ylempi-AMK
Projektipäällikkö, Laurea-ammattikorkeakoulu
Hanna Pihlajarinne
Tkt, AmO
Tuntiopettaja, Tampereen ammattikorkeakoulu
Kuvituskuva: Joel Forsman
Kommentit