Testauksen kerrosvoileipä
Asiakas on usein kysynyt minulta, että minkä takia tarvitaan niin monta erilaista testausvaihetta? Yksinkertaisin selitys on, että ne kaikki testaavat eri lähtökohdista ja näkökulmista, koska emme tiedä, missä niitä virheitä oikein on.
Niin kauan, kun minä olen tehnyt näitä hommia, on aina huomautettu yksikkötestauksen tärkeydestä. koska se on tärkeä menetelmä hyvän koodin luomisessa. Ketterät menetelmät ja DevOps ovat korostaneet yksikkötestauksen menetelmiä ja sen automatisointia työkalujen avulla. Tärkeintä on kuitenkin tajuta, mitä pitäisi testata. Jos testaat vaan perustoimintaa, niin mahdolliset poikkeus- ja virhetilanteet jäävät testaamatta. Niitä on yleensä vaikeampi testata myöhäisimmissä testausvaiheissa.
Eri tiimien ja toimittajien tuotokset pitää myös integroida ja testata, jotta voidaan todeta kokonaistoiminnallisuuden laatu. Onhan niitä tapauksia tullut nähtyä, kun kaksi eri tiimiä ilmoittavat noudattavansa yhdessä laadittua rajapintakuvausta, mutta silti tieto niiden välillä ei siirry.
Systeemi-, järjestelmä- ja hyväksymistestaus onkin sitten kokonaisuuden testaamista teknisestä, liiketoiminnallisesta ja loppukäyttäjän näkökulmasta. Lisäksi ei-toiminnalliset tai laadulliset vaatimukset esim. käytettävyys, tietoturva ja suorituskyky pitää testata niiden vaatimalla tavalla.
Kaikki tämä kuitenkin romuttuu, jos projektin aikana ei ole tehty kunnollisia määrittelyitä. Silloin testauksen tuloksia ei voi verrata mihinkään, vaan Mertarannan sanoin ihmetellään ”taivas varjele, mitä sieltä oikein tulee”.
Hyvää työpäivän jatkoa!
– Anonyymi testipäällikkö, 6.8.2018