Knihovnička našeho týmu zajištění kvality softwaru (součást technického oddělení CZ.NIC) začíná být obtěžkána množstvím literatury, a tak jí tu a tam dočasně ulevím tím, že některou knihu vytáhnu a jejím prostřednictvím si rozšířím znalosti zajištění kvality a testování. Protože knih o této oblasti je dost málo, a těch dobrých ještě méně, rozhodl jsem se napsat k těm dobrým, které přečtu, krátké recenze, a pomocí nich tyto knihy doporučit pozornosti jejich možných čtenářů. Rád bych se nyní podělil o dvě z nich.
Jak testuje software Microsoft
Alan Page, Bj Rollison, Ken Johnston – Computer Press, 2009
Ačkoli by se mohlo zdát, že kniha popisující testování v komerční a obecně asi nepříliš oblíbené společnosti, jež je o několik řádů větší než ta naše, nám nemůže přinést mnoho užitku, dovoluji si tvrdit opak. Autoři jsou či byli v Microsoftu jedněmi z nejvýše postavených lidí zabývajících se testováním a jejich nadšení pro tuto oblast vývoje a jejich znalosti a dovednosti z knihy čiší. K její snadné stravitelnosti přispívá také to, že je psána typickým „americkým způsobem“: prakticky a s poměrně velkým množstvím historek sahajících od „motivačních příběhů“ na začátku každé kapitoly po téměř kazuistiky s detektivním nádechem, které dokládají důležitost toho či onoho aspektu testování nebo řízení kvality softwaru. Nechybí ovšem ani poměrně teoretické kapitoly vysvětlující základní testovací techniky (k nimž se mnoho příběhů napsat nedá), a tak kniha může posloužit nejen zběhlejším kvalitářům a testerům, ale i nováčkům jako základní učebnice. Rovněž šíře záběru knihy je ojedinělá, např. na zamyšlení nad systémy pro příjem zpětné vazby od zákazníka jsem zatím jinde nenarazil. Pomineme-li nemnohé části, např. tu o komunikaci mezi jednotlivými testerskými týmy či charakteristiky jednotlivých aplikací používaných v Microsoftu pro testování, které jsou z pochopitelných důvodů u nás nevyužitelné (ovšem nikoli neinspirativní!), lze říci, že se autorům podařilo do 380 stran vměstnat čtivým způsobem mnoho poučení a nápadů. I překlad do češtiny zní opravdu česky, a tak nezbývá než knihu laskavému čtenáři jedině doporučit.
Testing Python: Applying Unit Testing, TDD, BDD and Acceptance Testing
David Sale – Wiley, 2014
Osnovou této knihy jsou testovací nástroje a knihovny pro jazyk Python. Na bohatých příkladech jejich použití autor systematicky ukazuje, jak otestovat aplikace napsané v tomto jazyce. Začíná jednotkovými testy (knihovny Unittest, Nose, PyTest…), pokračuje testovatelnou dokumentací (Doctest), poté na příkladu použití Nose představuje koncept vývoje řízeného testy a zastavuje se u vývoje řízeného chováním (t.j. akceptačními testy) a knihoven Lettuce a Robot. Věnuje se i výkonnostnímu testování, a to pomocí nástrojů JMeter a cProfile. Nechybí ani statická analýza kódu proti standardu PEP-8 a popis nástroje Pylint. Z celé knihy je patrná snaha autora popsané nástroje co nejvíce propojit, představit rozšíření jejich testovacích možností pomocí pluginů (Rednose, Pytest-cov a mnohé jiné) a automatizovat jejich použití, která vrcholí popisem možností skriptovacího nástroje Paver a jeho automatického spuštění nástrojem Jenkins. Výklad je zakončen kouřovým testováním aplikace nasazené (jak jinak než automaticky) do preprodukčního prostředí. Autor v nutné míře popisuje i další software potřebný k vývoji a testování ukázkové aplikace pro správu bankovních účtů, kterou čtenář sleduje od začátku do konce knihy, a tak je kniha zaměřena velmi prakticky a působí kompaktním dojmem. K její praktičnosti přispívá i to, že se autor nezabývá teorií testování: vše je podřízeno možnostem představených nástrojů. Kniha tak poslouží čtenáři k seznámení se s představenými nástroji (pro hlubší seznámení jsou na konci kapitol odkazy) a jejich smysluplným použitím v procesu vývoje, přičemž čtenářem by spíše než tester měl být vývojář, protože mnohé uvedené testovací činnosti jsou náplní jeho práce. Použitelnost knihy zvyšuje i její aktuálnost: vyšla v roce 2014.
Obě knihy tedy určitě shledávám hodnými přečtení. Doufám, že to budu moci říci i o dalších knihách, které z naší knihovničky vytáhnu. :) Anebo má někdo ze čtenářů na tyto knihy jiný názor?
Mohlo to být delší…
Jestli Vás recenze navnadila k přečtení, byla dlouhá dostatečně. :) A jestli nenavnadila, zbytečně byste s ní ztrácel čas, ne? :)