Asi nejmensi zlo je prechazet na nove metodoky pomalu. Pokud skocite do XP rovyma nohama, nevim jak dopadnete u kolegu. Je to spousta novych technik, ktere je nutno se naucit, jinak to nebude fungovat.

Ja zacal od TDD (testy rizeny vyvoj) s trochou refaktorizaci. Myslim, ze casem az se mi to vice zautomatizuje budu psat vice testu i vice refaktorovat.

Testy alespon pri vyvoji MVC koponent s web rozrhranim vyvoj radikalne zrychli. Nemusite totiz porad restartovat Tomcate (nebo ktery jiny server mate), resp. testovanou aplikaci. Protoze testy probihaji (s trochou dobreho navrhu) primo jenom v JUnit. K testovani puzivam hojne Mock Objekty a Test Scenario jak je popsan zde http://www.sweb.cz/pichlik/archive/2005_10_23_archive.html.

Sam jsem ale mel strasny problem pochopit jak vlastne testovat trochu slozitejsi problem, napojeny treba na DB. Osvedcil se mi model (kdyz teda delam aplikaci primo s JDBC, ne treba Hibernate, tam by byla metodika jina) DAOReader (rozhrani) pro DAOReaderImpl a DAOReaderMock - Rozhrani implementuji dve tridy, ktera jedna je navazana na databazi a druha slouzi jako Mock objekt, pro predavani dat po cas testu.

Testuji pak aplikacni logiku pres DAOReaderMock a kdyz mam aplikacni logiku otestovanou otestuji jeste DAOReaderImpl jestli vrati skutecne z DB to co si preji. Obdobne DAOWriter pro zapis dat do DB.

Jak rikam vyvijim rychleji a to jiz z kratkodobeho hlediska, protoze nemusim cekat na start interface, abych naklikal, nebo jinak otestoval co chci.

S pozdravem Lukas Benda

P.S.: Pri testovani GUI se uz asi klikaci a testovaci metode nevyhnu (teda pokud se neucim Cactus - coz asi udelam).
Zdravim,

chtel bych se zeptat hlavne lidi, co se drzi nejake agilni metodiky
vyvoje software. Mam v umyslu presvedcit sve kolegy o  prechodu na
nekterou z techto metodik vcetne contin. integr. a s jedinou veci si
lamu hlavu. Psani testu. Chtel bych vedet jestli vyvojove tymy ktere
nejprve napisou testy a pak az koduji maji pocit, ze psanim testu
narostl cas straveny vyvojem. Je mi jasne, ze tenhle cas navic (jestli
je nejaky) se vrati pri pozdejsim vyvoji a integrovani dalsich komponent
(nemluve o tom, ze si clovek aspon uvedomi co chce napsat), ale co jsem
zjistil kdyz navrhnu psani testu atd. tak nejcastejsi poznamka je
navyseni casu pro vyvoj. A bohuzel na to management slysi.
Taky klidne muzete pridat svoje zkusenosti s agilnimi metodikami :)
(nejlepe v Jave, abych naplnil zamereni teto konference ;))

Preji hezky den

Daniel Holesinsky (DH)

Odpovedet emailem