Testauksella regressioriski hallintaan


2014-02-14, 07:59 Kirjoittanut Kimmo Hakala

Ketterän ohjelmistokehityksen yksi keskeisistä haasteista on se, että jokaisen kehityskierroksen eli iteraation jälkeen kehitettävän ohjelmiston koko kasvaa. Testaajille tämä merkitsee sitä, että uusien ominaisuuksien lisäksi myös jo aiemmin kehitetyt ja testatut ominaisuudet pitäisi testata uudestaan. Ketterän ideologian mukaan muutoksiin reagoidaan ja näin ollen myös aiemmin toimitettuja ja asiakkaan hyväksymiä ominaisuuksia voidaan muuttaa liiketoiminnan muuttuneita tarpeita vastaaviksi. Tässä blogikirjoituksessa esitetään muutamia seikkoja, joiden avulla saadaan regressioriskiä paremmin hallittua.

Automatisoi: Olisi hyvä ottaa myös automaatio testauksen tueksi mahdollisimman aikaisessa vaiheessa jokaiselle testitasolle alkaen yksikkötesteistä aina järjestelmätestaukseen. Hyvin laaditut automaattiset testit kuvaavat samalla järjestelmän toiminnan (Crispin et Gregory).

Priorisoi: Kaiken testaaminen on käytännössä mahdotonta, joten pitää priorisoida. Jokaisen kehityskierroksen aikana regressiotestauksen testitapaukset on hyvä arvioida uudelleen ja ottaa regressiotesteihin mukaan vain sopivimmat. Automatisoituihin testeihin otetaan vain ne, jotka siihen tarkoitukseen sopivat ja joista saadaan lisäarvoa testaukselle. Laajemmin ajateltuna mikä tahansa toistuva ja aikaa vievä tehtävä on potentiaalinen ehdokas automatisoinnille.

Regressioriskin hallittavuus vaikeutuu “palikoiden” lisääntyessä

Regressioriskin hallittavuus vaikeutuu "palikoiden" lisääntyessä. Kuva Californian Legolandista

Pidä aineisto ajan tasalla: Pidä testauksessa tarvittava aineisto ajan tasalla. Tämä tarkoittaa testitapauksia (sekä automatisoitujen että manuaalisten testien), testauksessa tarvittavaa dataa yms.

Noudata myös seuraavia periaatteita:

Minimoi hukka (muda, waste): Leanin hyödyntäminen tuottavuuden parantamisessa ei tarkoita sitä että tehdään töitä entistä kovempaan tahtiin, vaan se että tehdään asiakkaan näkökulmasta oikeita tehtäviä ja niitäkin oikein.

Kommunikoi: Loppupeleissä pehmeät arvot voivat ratkaista projektin onnistumisen. Kommunikointi ja tiedon jakaminen kehittäjien ja testaajien (ja muiden projektin sidosryhmien) kesken on ensiarvoisen tärkeää.

Lisää aiheesta:
Lisa Crispin et Janet Gregory, "Agile Testing, a practical guide for Testers"

http://guide.agilealliance.org/

http://searchsoftwarequality.techtarget.com

http://whatis.techtargetcom/

http://www.scrumalliance.org/

 


comments powered by Disqus