Olen viime aikoina ollut vähän innostunut yksikkötestauksesta ("unit testing").
Softa, jota työkseni kehitän, on vaikea debugata lennossa. Sen on pakko pyöriä koko ajan tai kone jumittuu. Sitä ei voi pysäyttää ja tutkia ja ihmetellä miksi se toimii noin ja ajaa askel kerrallaan eteenpäin. Lisäksi siinä on säikeitä. Linuxin GDB ei tykkää säikeistä.
Mutta kun kirjoitan yksikkötestin, sitä voin ajaa debuggerin alla ja pysäyttää ja ajaa askel kerrallaan. Herkkua! Ja usein yksikkötestit ovat niin yksinkertaisia, että ongelma selviää jo pelkästään koodia tuijottamalla.
Otsikon linkistä löytyy kuitenkin juttu herrasta, jonka mielestä yksikkötestien kirjoittaminen on pelkkää ajanhukkaa. Hänen mielestään testaaminen pitää tehdä käsin ohjelmaa käyttämällä, itse ja beta-testaajien toimesta. Onhan siinä toisaalta vähän perääkin, mutta minun ohjelmaani käytetään niin vähän, että minun ei ole mahdollista saada ohjelmaani innokkaiden beta-testaajien käsiin, etenkään sellaisten, jotka haluaisivat törmätä bugeihin. Ja minun ohjelmassani bugi tarkoittaa automaattisesti sitä, että kone hyytyy tai hajoaa jotenkin muuten ilkeällä tavalla.
1 kommentti:
Niin tuota noin, yksikkötestaus on whiteboxing testausta ja regressio, integraatiotestaus blackboxia. Ei parane sekoittaa näitä keskenään.
Lähetä kommentti