Testaajan suunnistuskoulu – Viestistä kattavuutta

Mitä tiedät suunnistuksesta? Tai mitä tuosta lajista tulee mieleen? Kenties koulun liikuntatunnit. Kenties radiolähetyksen maastossa kuiskaileva selostaja. Jos olet suunnistanut, todennäköisesti muistisi lokeroista löytyy joku makea pummi. Olen itse eksynyt suunnistusporukoihin ja laji on vienyt siinä määrin mennessään, että edessä on elämäni kolmas Jukolan viesti. Tässä blogisarjassa kerron harrastelijan havaintoja suunnistuksesta ja liitän ne ammattimaiseen ohjelmistotestaukseen.

Noniin! Aiempien suunnistusartikkelien myötä mieleemme on syntynyt mielikuva, mitä skriptattujen testien – testikeissien tai -tapausten – ajaminen käytännnössä luonteeltaan on. Asiat tehdään kerta toisensa jälkeen samalla tavalla, eikä samoja polkuja tallaamalla uusia bugeja löydy. Polulle kaatuneet puut kylläkin havaitaan. Tälle testauksen työlajille on kyllä oma paikkansa, mutta miten testauksen kattavuutta voidaan parantaa ja niitä uusiakin bugeja löytää?

Vastaus löytyy kuvasta. Kartta ja siinä vilisevät reitit ovat Jukolan viestistä vuodelta 2017. Jukolahan tosiaan on seitsemän suunnistajan joukkueiden viestikisa. Kuten huomaat, nyt jokainen uusi osuus tuo vähintäänkin jotain uutta aiempiin reitteihin verrattuna. Miten tähän päästään testauksessa?

Vastaus on tutkiva testaus! Tutkivan testauksen käsite on varmasti monelle tuttu, mutta olen huomannut testaajien kanssa keskustellessani, ettei menetelmä välttämättä ole syvällisemmin tuttu, vaikka tutkivaa testausta olisi tehty vuosikaudet. Määritelmällisesti kyse toki on siitä, että ohjelmistoa lähdetään käyttämään, käytettäessä siitä opitaan uutta ja tämän opitun perusteella suunnitellaan uusia testejä. Monelle testaajalle tärkeintä tuntuu olevan se, että enää ei tarvitse kirjoittaa testitapauksia 🙂

Voin kuitenkin luvata, ettei tutkiva testaus pidemmän päälle tuo juurikaan etuja, ellei muutamia avainasioita ole otettu huomioon. Puolivillaisesti tehty tutkiva testaus ajautuu pikaisesti samojen testien ajamiseen kerta toisensa jälkeen – ilman näkyvyyttä siitä, mitä oikeastaan on tehty. Lopputuloksena on siis skriptattua testaamista vahvasti muistuttava lopputulos vähän kehnompana versiona. Jos näin toimit, ammut meitä kaikkia testaajia jalkaan!

Olennaista siis on, että testaajana pidät huolen siitä, että jokainen testikierros todellakin tuo jotain uutta testaukseen. Ja että tuosta tekemisestä jää joku todiste. Tässä lyhyt listaus, jonka avulla korotat testauksen tasoa jo merkittävästi:

  1. Sessiot: Jaa testaukseen käytettävissä oleva aika lyhyempiin jaksoihin. Isompi ongelma pienempiin paloihin. Kuulostaako tutulta?
  2. Tavoite: Anna jokaiselle sessiolle selkeä tavoite. Tässä on myös mahdollisuutesi tuoda jokin uusi testaustekniikka uusien ennen löytämättömien bugien saalistamiseen.
  3. Muistiinpanot: Pidä session aikana kirjaa tekemisestäsi. Bugit, stepit, havainnot, kysymykset, testausideat jne. Näillä voit ohjata seuraavia sessioita päättömän sinkoilun sijaan.

Näiden kolmen stepin jälkeen tutkiva testaamisesi on jo paremmalla tasolla, kuin isolla joukolla testaajista! Tekemisesi on suunnitelmallista, pystyt missä tahansa vaiheessa kertomaan mitä olet tehnyt ja vielä aikeissa tehdä ja löydät vinon pinon niitä himoittuja bugeja.

Testaajan suunnistuskoulun opetus 5: Tutkivan testauksen pitäisi olla kuin suunnistusviesti. Jokainen osuus vierailee uusilla poluilla. Jos näin ei ole, et ota tutkivan testauksen tarjoamia hyötyjä irti.

PS. Olen saanut tähän osioon apua ulkopuolelta. Itse en ole kaikkia noita osuuksia Jukolassa juossut. Kiitokset joukkueille OK kunto OK, Kaukaa haettu ja BOK lajoittamastanne gps-datasta!

Testaajan suunnistuskoulu kokonaisuudessaan:

  1. Kartta tyhjää täynnä
  2. Juonikas ratamestari
  3. Oletko kuivan kesän orava?
  4. Apinoiden armeija
  5. Viestistä kattavuutta 2.7.2018
  6. Mestariksi kertaamalla 9.7.2018