Pokročilý vývoj a testování aplikací

19. 3. 2015 Programování, kódování Reportáže z akcí, konference, školení Školení

Protože poslední dobou hodně řešíme správný návrh aplikace, rozhodl jsem se podívat se ke kolegům z Media na školení pokročilého vývoje a testování aplikací. Přihlásil jsem se již v minulém roce, vypsaný termín se však objevil až na konci února. Co jsem si ze školení odnesl?

Kvalitní kód

Hodně času jsme strávili nad návrhem kvalitního kódu – dozvěděli jsme se všechny poučky typu, že kód má být znovupoužitelný, testovatelný apod. Větší část dopoledne zabral praktický příklad, kdy jsme dostali konkrétní zadání, které jsme měli přetavit ve zdrojový kód. To probíhalo tak, že jsme se museli shodnout nad řešením, které lektor zapisoval. Po několika verzích jsme se nakonec dostali k výsledku, s nímž byl spokojený i lektor 🙂
Po obědě jsme dokončili teoretickou část, v níž zazněly pojmy jako dědičnost, polymorfismus, DRY, Immutable Object a další.

Testování

K tématu testování jsme se dostali až poměrně pozdě odpoledne. Rychle jsme prošli základy – proč testovat, druhy testů, nástroje apod. Poté jsme napsali několik metod a testů. Ty byly bohužel opravdu jednoduché – v praxi obvykle řešíme složitější problémy.
Poslední část školení se týkalo Dependency Injection. To už jsme ale hodně přetahovali a někteří účastníci již museli odcházet.

Dojmy

Školení nebylo špatné, ale úplně nesplnilo moje očekávání – čekal jsem větší zaměření na samotné testování.
Velmi dobře hodnotím příklady (především ten první), které pomohou zasadit věci do kontextu a ze kterých si člověk odnese i reálnou implementaci. Bohužel příklady na testování byly jednoduché a myslím, že zrovna této oblasti se měla věnovat mnohem větší pozornost. Nyní sice známe spoustu typů asertů, ale například mockování jsme probrali jen teoreticky na slidech.
Na obranu školitelů je potřeba zmínit fakt, že bez správného návrhu testování prakticky není možné, takže takto sestavený obsah má svůj důvod.
Drobným problémem také byly rozdílné znalosti účastníků. Když se 2 lidé zmínili, že nepoužívají verzovací nástroj (a pracuje jich na společném kódu více), bylo to trochu úsměvné. Nicméně toto nakonec školení prakticky nepoznamenalo, maximálně ho trochu natáhla časově.
Odnesl jsem si tak především tipy na lepší návrh aplikace, případně potvrzení, že jsme na správné cestě. K otestované aplikaci mám ale stále ještě daleko.