locknet.ro

archive

Luni, la Wurbe #5

Pare greu de crezut, insa toate locurile pentru wurbe #5 au fost ocupate! Sincer, tema propusa a fost de super nisa (sa fiu si eu in trend) si nu ma (ne) asteptam ca un numar atat de mare de persoane sa se arate interesate de test driven development / behavioral driven development.

Probabil discutiile vor acoperi aspecte generale sau frameworkuri pentru testare, insa sper sa vad prezentatori ce vor rula unit-teste pe o aplicatie “reala”. Vreau sa vad ceva mai mult decat hello test world. Cu cat mai multe “failures”, cu atat mai bine!

[aurelian@stalingrad slobod.xxx]$ rake
...
15 tests, 0 assertions, 0 failures, 30 errors

Povestea mea despre unit testing se continua pe site, nu prea lunga dar poate destul de plictisitoare. Tu cand ai scris ultimul test case?

Okay, sa fi trecut deja un an si jumatate – cel putin – de cand am scris ultimul Test Case. Imi aduc aminte cum am lucrat vreo 7-8 zile pentru a incerca sa acopar cu teste o aplicatie existenta. In tot acest timp am descoperit si fixat destul de multe probleme. Insa, atunci cand s-au introdus facilitati noi in aplicatie restul echipei a considerat ca un unit test este un task degradant pentru un “senior programmer” – mai pompos denumit “software architect” – iar idea a fost abandonata.

Eu am fost luat de valul asta “agile” cam prin 2004. Totul a pornit de la un individ (mentorul meu, persoana importanta- nu il cunosti) care incerca sa ma convinga cat de misto e sa iti poti testa toata aplicatia apasand o singura data pe ENTER.

Ideea m-a atras si am folosit modelul proaspat invatat – de a testa inainte de a scrie implementarea – si in practica atunci cand a fost nevoie sa scriu un mic programel in java. Vai ce satisfactie simteam cand plecam acasa si vedeam cum indicatorul de progres era complet verde.. A fost un succes total, iar initiativa mea a fost adoptata destul de usor de inca vreo doi colegi.

Mai tarziu, am avut sarcina de a scrie un API, si cum specificatiile erau destul de vagi descriind concepte destul de abstracte ..am cerut unit teste. Spre multumirea mea le-am primit iar restul este istorie – in cateva zile implementarea era gata.

Web testing? sigur, am fixat odata un bug – din ala pus pe bugzilla – cu simple test plecand de la descrierea problemei aparute si a pasilor pentru a o reproduce. Bine, mai intai am intampinat ceva dificultati chiar cu frameworkul insa odata rezolvate, am putut sa produc un fix fara a incarca pagina web in browser, poate doar o singura data inainte de a pune codul in productie.

O perioada am cochetat si cu code coverage dar nu atat de mult incat sa devin dependent.

rSpec? inca nu, si probabil nu si in viitorul apropiat. Poate dupa wurbe #5 ma apuca vreo pasiunea, cine stie…