Testaus – yksi eniten väärin ymmärretty osa-alue tuotekehityksessä?
Emme tiedä, onko yllä oleva väite totta. Se voi olla liioittelua, mutta kokemuksemme perusteella siinä piilee totuuden siemen. Eikä se ole mikään ihme, sillä testaus on helppo ymmärtää väärin. Moni testaa tai johtaa testausta oman työnsä ohella ilman, että on opiskellut testausta.
Kannattaa siis lisätä ymmärrystä siitä, mitä testaus ja sen johtaminen on. Parantunut ymmärrys auttaa johtamaan ja kehittämään testausta – olipa se alihankittua tai omissa käsissä.
Testauksen johtaminen tarkoittaa testaukseen ja testaajiin liittyvien asioiden hoitamista testattavan tuotteen elinkaaren ajan. Sen tavoitteena on varmistaa, että testaus on sopivan monipuolista, oikea-aikaista ja hyvälaatuista liiketoiminnan tarpeeseen verrattuna. Testauksen johtamista ei voida erottaa muusta johtamisesta, jottei testaus siiloudu muusta tekemisestä. Testauksen johtamista helpottaa, kun ymmärtää ohjelmistokehityksen ja testauksen olevan ongelmanratkaisuprosessi (pitää ymmärtää ja ratkoa käyttäjien tarpeita) eikä vain toimitusprojekti (pitää rakentaa ennalta määritelty tuote).
Testausta voidaan johtaa organisaatiotasolla ja operatiivisella tasolla. Niitä ei voida erottaa toisistaan, molempia tarvitaan. Organisaatiotasolla eli yritys- tai osastotasolla testausta voi johtaa testauksen johtaja. Operatiivisen tason eli tuote-, projekti- tai tiimitason testausta voi johtaa testauspäällikkö tai siitä voi vastata koko tuotekehitystiimi yhdessä. Rajanveto näiden kahden tason välillä on häilyvä ja erot riippuvat asiayhteydestä, kuten yrityksen koosta. Molempiin voi kuulua seuraavanlaisia tehtäviä:
- Testauksen mahdollistamista
- Testauksen puolesta puhumista
- Rekrytointia ja toimittajien valitsemista
- Testaajien esihenkilönä olemista
- Oppimisen johtamista
- Budjetointia
- Työnohjausta
- Muutosjohtamista
Yllä olevien asioiden lisäksi molemmilla tasoilla voi olla niille ominaisia tehtäviä. Esimerkiksi organisaatiotasolla voidaan linjata ja dokumentoida yrityksen yhteiset linjaukset testaukseen liittyen kuten budjetointi, rekrytointi, alihankinta, osaamisen kehittäminen ja testausyhteisö. Lisäksi kannattaa luoda näkyvyys testaukseen läpi organisaation. Operatiivisella tasolla testaus viedään käytäntöön kussakin tiimissä. Silloin testauksen johtamisessa tulee huolehtia mm. siitä, että tiimi löytää heille parhaat tavat testata, kaikki tarvittava testaus tulee tehdyksi ja että testausta kehitetään jatkuvasti. Operatiivisella tasolla johtamiseen voi kuulua myös testaajien ohjaamista sekä testauksen koordinointia ja aikataulutusta.
Testauksen johtaminen on ennen kaikkea ihmisten johtamista. Kuten aina johtamisessa, myös testauksen johtamisessa jokaista ihmistä tulee johtaa hänelle sopivalla tavalla, joka riippuu hänen osaamisestaan. Tätä voidaan pohtia kolmitasoisen Shu-Ha-Ri -oppimismallin kautta:
Shu, ”seuraa ohjetta”: Kun henkilö ei osaa testata, hän on testauksen suhteen Shu-tasolla. Hän tarvitsee tarkat ohjeet, mitä tehdä ja kuinka testata. Hän ei osaa kyseenalaistaa annettuja ohjeita, sillä hän ei tiedä taustalla olevia teorioita ja periaatteita. Tällä tasolla testausprosessi, tarkat testitapaukset ja muut vastaavat ohjeet voivat toimia. Tällä tasolla olevaa testaajaa tulee pystyä neuvomaan, kuinka testata käytännössä.
Ha, ”riko ohje”: Kun henkilö on testannut tarpeeksi kauan ohjeita seuraten, hän alkaa kyseenalaistamaan saamiaan ohjeita. Miksi pitää käyttää tarkkoja testitapauksia? Voinko testata paremmin ilman testitapauksia? Hän opettelee uusia lähestymisiä testaukseen ja niiden taustalla olevia periaatteita. Oppiminen tapahtuu oman työn ulkopuolelta, vaikkapa toiselta testaajalta, kurssista tai tästä kirjasta. Hän vie uusia ideoita ja oppeja käytäntöön. Tällä tasolla olevaa testaajaa tulee pystyä tukemaan ja valmentamaan testauksessa ja oppimisessa.
Ri, ”ole ohje”: Kun henkilö osaa taustalla olevat periaatteet ja on vienyt käytäntöön uusia tapoja testata, hän oppii omasta työstään ja kokeiluistaan. Hän luo itse parhaat tavat testata omassa asiayhteydessään, eikä hän välttämättä osaa sanoa, miksi hän testaa kuten testaa, koska testaus ja valinnat tulevat häneltä luonnostaan. Tällä tasolla olevaa testaajaa tulee pystyä neuvomaan ja rohkaisemaan löytämään parempia tapoja testata. Tulee luoda turvallinen ympäristö, jossa jokainen voi kokeilla erilaisia tapoja testata ilman pelkoa epäonnistumisesta.
Johtajan tulee ymmärtää, millä yllä mainituista tasoista johdettava henkilö milloinkin on, jotta hän voi tukea ja johtaa häntä oikein. Hänen tulee myös tukea ihmisiä kasvamaan kohti Ri-tasoa. Johtajan tulee myös ymmärtää, millä tasolla hän on itse testauksen ymmärtämisen ja osaamisen suhteen, jottei hän vaadi muilta asioita, jotka auttaisivat vain häntä itseään.
Olemme tiivistäneet testauksen johtamisen muistisääntöön ACT 2 LEAD (suomeksi: toimi johtaaksesi). Se muistuttaa, että testauksen johtaminen tarkoittaa tekoja. Pelkät puheet eivät riitä. Testauksen johtamista ei voi täysin ulkoistaa tai delegoida, vaikka ympärillä olisi kuinka viisaita ihmisiä.
Muistisäännön nimi on lyhenne kahdeksasta alla mainitusta keskeisestä asiasta, jotka on hyvä pitää mielessä testausta johdettaessa.
- Add: Lisää testaus luonnolliseksi osaksi kaikkea tekemistä. Johda kokonaisuutta, jossa testaus on mukana.
- Context: Ymmärrä asiayhteys testauksessa ja sen johtamisessa. Ei ole olemassa yhtä oikeaa tapaa testata eikä johtaa testausta.
- Transparency: Vaadi ja luo näkyvyys testaukseen, niin organisaatiotasolla kuin myös operatiivisella tasolla, olipa testaus oman organisaation tai toimittajan vastuulla. Mitä parempi on näkyvyys testaukseen, sitä paremmin sitä voi johtaa.
- 2: Huolehdi, että tuotetta testaa sekä ihminen että kone. Ihminen on hyvä tekemään tutkimisluonteista työtä ja automaatio tarkistusluonteista työtä – molempia tarvitaan.
- Learn: Opi testataksesi ja testaa oppiaksesi. Käytä testauksessa havaittuja oppeja parantaaksesi testausta ja sen johtamista sekä testattavaa tuotetta ja liiketoimintaa.
- Enable: Mahdollista hyvä testaus luomalla laatukulttuuri, jossa testauksen ja laadun tärkeys ymmärretään. Edistä kulttuuria päivittäisessä työssäsi ja tekemissäsi päätöksissä.
- Adapt: Sopeuta testaus riskeihin. Kohdista testausta korkeariskisiin alueisiin ja vähennä riskejä testaamalla ne ensin.
- Diverse: Huolehdi, että testaus on tarpeeksi monipuolista. Silloin saat testauksen kohteesta tarpeeksi monipuolista tietoa.
Kaikesta tästä olemme kirjoittaneet kirjan ACT 2 LEAD Ohjelmistotestauksen johtamisen käsikirja. Hanki kirja ja lue lisää testauksen johtamisesta www.act2lead.net ja www.ketteratkirjat.fi
Marko Rytkönen on ohjelmistotestaaja lähes 30 vuoden kokemuksella. Hänen erityisalaansa on testauksen johtaminen, yritys- ja osastotasoilla. Marko työskentelee QA Coachina Hidden Traililla ja hän on kirjoittanut kirjan ACT 2 LEAD – Ohjelmis totestauksen johtamisen käsikirja yhdessä Kari Kakkosen kanssa. Marko on tehnyt vapaaehtoistyötä FiSTBn hallituksessa ja hän oli perustamassa FiSTB Testing Assemblyä, jonka järjestäjänä hän toimi 10 vuotta. Hän on tunnettu ohjelmistotestauksen vaikuttaja ja aktiivinen testauksen puolestapuhuja.
Kari Kakkonen on ohjelmistotestaaja yli 25 vuoden kokemuksella, lisäksi vahvuuksina ketteryys, DevOps ja tekoäly. Karin testausmaailma on aina pyörinyt johtamisen ympärillä. Kari työskentelee kouluttajana Knowitilla kirjoittaen sivussa kirjoja testauksesta (ACT 2 LEAD Marko Rytkösen kanssa, Dragons Out, Agile Testing Foundations). Kari on myös testausyhteisöjen aktiivi niin globaalilla kuin kansallisella kentällä (ISTQB, TMMi, TestausOSY…)