Protože se už vývojem PHP aplikací zabývám několik let, můžu neskromně prohlásit, že jsou mé znalosti a zkušenosti v této oblasti na celkem solidní úrovni. Ale víte jak, člověk se učí celý život a kdo se nevzdělává, zakrní. Proto se po odchodu na volnou nohu neustále poohlížím po vhodných školeních, které by mé schopnosti posunuly zase o laťku výš. Špatné zkušenosti s TrainTime, s.r.o.Na začátku roku 2009 jsem objevil kurz typu Pokročilé programování v PHP, do kterého jsem se rozhodl přihlásit. Pět dní před termínem konání školení ale přišla skutečná pecka. Součástí e-mailu s podrobnými informacemi totiž bylo také razantní zvýšení už tak vysoké ceny kurzu („...Ráda bych s Vámi ještě upřesnila cenu kurzu...Zjistila jsem, že cena kurzu 8000,- Kč uvedená na webu neodpovídá skutečnosti...cena tohoto kurzu je standardně 10 000,- Kč + DPH...k ceně školení se připočítává 100 Kč/den za pohoštění jako zvláštní položka...napište mi, že s cenou souhlasíte...“). Nevím, jaká je současná praxe, ale tehdy mi to přišlo tak, že školící středisko do poslední chvíle čeká, kolik zájemců se přihlásí a podle výsledného počtu se snaží zvýšením ceny dosáhnout požadovaného zisku i v případě, že je přihlášeno méně účastníků, než se původně čekalo. S odpovědí jsem tedy příliš neváhal a pro neserióznost jednání svoji účast na školení stornoval, což příslušná koordinátorka po krátké výměně názorů na věc akceptovala. A vzhledem k tomu, že společnost rozesílá faktury až po uskutečnění kurzu, jedinou újmou pro mě byla ztráta důvěry. Školení Unit testování v PHPNa další školení zaměřující se na pokročilé programování v PHP jsem nenarazil. Bez mučení přiznávám, že jsem nehledal nijak intenzivně, přesto jsem došel k názoru, že skutečně kvalitní školení (= taková, kde se dozvíte více, než se můžete běžně dočíst v knížkách nebo na na webu) „vyšší dívčí“ programování v PHP - návrhové vzory, architektura webové aplikace atd. - na českém trhu prostě nejsou. Až před časem se u seriálů o testování a agilním programování, které vycházely na Zdrojáku, začaly zobrazovat inzeráty na kurzy unit testování v PHP od autora článků, Jiřího Knesla. Mimochodem, toto je přesně ten typ cílené a relevantní reklamy, kterou budu vždy rád konzumovat. Co konzumovat, hltat! Po dlouhém váhání jsem se rozhodl přihlásit. O testování jsem si už v minulosti přečetl tucet článků a něco si i zkusil. Systematicky jsem však automatizované testy nikdy nenasadil a protože aktuálně pracuji na jednom větším projektu, kde je spolehlivost a bezchybnost aplikace důrazně vyžadována, chtěl jsem se o tématu dozvědět mnohem víc. Na kurzu se nás sešlo celkem šest a síly byly vyrovnané. O čem se na školení mluviloVysvětlení základních termínůStručné vyjasnění pojmů, které se poté objevovaly v dalším výkladu nebo jim byla věnována samostatná část školení - unit testy, integrační testy, akceptační testy, fixture, mock, stub, TDD, BDD, user story atd. Testovatelný kódZ praktického hlediska pro mě nejpřínosnější téma - zavedení zásad pro psaní testovatelného kódu moje zdrojáky poměrně dost změnilo - kód je jednodušší, přehlednější a udržovatelnější. Skutečným objevem Ameriky pro mě bylo povídání o Dependency Injection. Procesní pohled na testováníPod tento bod zařazuji několik samostatných témat výkladu - Ekonomický pohled na testování, Management a testy, Testování v agilním prostředí a Proces testování. Těžko shrnout probranou látku do několika vět - na procesy s testováním spojené bylo školení vyloženě zaměřeno a zabralo podle mého odhadu téměř polovinu času. Pokud si myslíte, že automatické testování ke své práci nepotřebujete, v této části vás Jiří donutí změnit názor a vy se nebudete moct dočkat, až s testy začnete. Celý výklad mi přišel velmi užitečný jak pro vývojáře zaměstnané ve firmách, kteří mj. musí nejprve prosadit testovaní před managementem, tak pro freelancery, jako jsem já, kteří už mají svého malého manažera uvnitř (-: Syntaxe testů v PHPUnitŠkolení bylo zaměřeno na obecné principy testování, proto bylo PHPUnitu věnováno méně času, než byste možná na školení o testování čekali. To já osobně rozhodně nepovažuji za nedostatek - učit se z manuálu můžu i doma, na školení chci získat znalosti, ke kterým bych sám došel až dlouhodobou praxí. Nehledě na to, že PHPUnit má kvalitní dokumentaci, ze které se jej snadno naučíte používat. Ukázky testování v Zend frameworku a NetteJak testovat controllery/presentery v případě, že je Selenium příliš pomalé/nedostatečné. V obou frameworcích je to velmi snadné, Zend Framework má přímou podporu pro PHPUnit, v Nette voláte objekt presenteru s parametry requestu a kontrolujete response objekt. ZF pak ještě navíc obsahuje komponentu Zend_Test_PHPUnit_Db pro testování databáze. „Oddychová“ témata - agilní programování, deploymentaneb další hromada užitečných informací, tipů a triků. Akceptační testy, user storiesČást věnovaná tomu, jak definovat, co má software dělat, a jak ověřit, že to skutečně dělá. Velmi náročné téma, pokud ale psaní user stories a akceptační testování důsledně zavedete do praxe, testy pak chrání jak vývojáře, tak zákazníka. Praktická cvičení testováníJediná část, ke které mám výhrady:
Poznámky aneb co se jinam nevešlo
Shrnutí
pomocný učitel Václav Poustka, Dobytí severního pólu
Dojmy ze školení mám jednoznačně pozitivní. Jiří se ukázal jako výtečný školitel - z celého dne si nevybavuji žádnou hluchou pasáž, kdy by mě napadlo „tohle poslouchat nemusím, na chvilku si můžu dovolit vypnout“. Znalost problematiky testování v PHP jsem si výrazně rozšířil a pochopil mnoho souvislostí, které jsem doposud tak nějak tušil, ale neměl je převedené do konkrétních pouček, rad a pravidel. Jedinou nedostatkem tak byla malá časová dotace pro procvičení nabytých znalostí. Pokud to s vývojem v PHP myslíte opravdu vážně, absolvování tohoto kurzu Vám určitě doporučuji. Informace, které se zde dozvíte, jen tak někde nenačtete. Další postřehy ze školení naleznete v článku Martina Hujera, který se zúčastnil stejného kurzu: http://weblog.shopio.cz/zajimavosti/skoleni-php-testovani/ |
|||

Poslat nový komentář