Testeři a programátoři. Týmy závislé jeden na druhém a sledující společný cíl - dokonalý produkt. Zároveň také specialisté, jejichž povaha práce skoro nemůže být rozdílnější. Každý se na produkt dívá z jiné perspektivy a přispívá tak k jeho dokonalému fungování. Hladká a úzká spolupráce programátorů a testerů je tedy klíčová.
Ale je vždy hladká? Občas se setkáme s tím, že panuje mezi těmito dvěma skupinami specialistů určitá rivalita, možná nepochopení. Rozhodli jsme se podívat na některé rozdíly v povaze práce těchto dvou skupin a pokusíme se pomoci obrousit některé hrany, do kterých se v běžných pracovních dnech naráží.
Tématu se věnuje Standa, který zná velmi dobře oba tábory. Kombinuje práci na projektech, kde zastává roli testera se zaměřením na automatizaci (Java) s vlastním projektem, ve kterém funguje jako C++ developer.
Jak pracují programátoři?
Programátoři mají za úkol napsat kód aplikace nebo programu podle zadání architekta. Programátoři obvykle pracují „v toku (anglicky - in flow)“. „Flow je podmínkou hlubokého, téměř meditativního zapojení. V tomto stavu panuje jemný pocit euforie a člověk si většinou neuvědomuje plynutí času: „Začal jsem pracovat. Vzhlédl jsem a uplynuly tři hodiny.“
Do tohoto stavu nelze libovolně přepínat, trvá alespoň 15 minut ponoření a soustředění, než se do něj dostanete. Je ale velmi snadné tento flow narušit. Pokud se vás někdo vyrušuje každých pár minut, výsledkem je nižší produktivita a rostoucí podráždění.
Milí testeři, mějte prosím toto „flow” na paměti, když s programátory komunikujete a nechtějte od nich odpovědi vždy hned. Kdykoli je to možné, zkuste zvolit méně rušivý způsob komunikace. E -mail je tedy lepší než chat, chat je lepší než telefonní hovor nebo náhlé objevení se. Pokud je to možné, doporučujeme si osobní komunikaci nebo dobu, kdy vám bude programátor k dispozici pro akutní řešení chyb, předem naplánovat.
Jak pracují testeři?
Úkolem testerů je hledat v kódech programátorů chyby a vady a upozorňovat je na ně. Práce testera obvykle zahrnuje časté střídání pozornosti: během dne může tester někdy provést desítky nesouvisejících úkolů. Úloha testera začíná na projektu ve chvíli, kdy dostane do rukou seznam požadavků na to, jak by měla daná aplikace nebo program fungovat. Na základě toho si připraví testovací scénáře a čeká, až mu vývojáři doručí produkt ve verzi připravené k testování.
Tester ale nemůže otestovat jen to, co má v popisu. Musí se na všechny funkcionality dívat v širší perspektivě: nerozhodila náhodou ta nová nějaké původní, nepřestalo něco fungovat?
Milí developeři, neohánějte se proto prosím odmítnutími, že chyba není v popisu, a proto je irelevantní nebo že daná věc není chyba, ale „featura”. Podívejte se na ně spíš z toho úhlu, že tester vám pomůže díky odhalené chybě uzavřít práci na daném tasku a nebudete se k tomu muset vracet později, až už si nebudete pamatovat, co jste to vlastně programovali.
Konstruktivně reportované chyby si není třeba brát osobně
Hledat chyby na něčí práci není lehká úloha, stejně tak jako soustavně přijímat upozornění na nedostatky nebo kritiku. Pro dobré vztahy mezi těmito dvěma skupinami specialistů je to i hodně vratký základní kámen. Pojďme si přiznat na rovinu, že kritiku nemá rád nikdo. Někdo je na ni citlivější, někdo se s ní vyrovnává lépe, ale příjemná není zkrátka nikomu.
Někdy může mezi testery a programátory vzniknout naprosto zbytečný až škodlivý antagonismus, který ničí týmového ducha, kazí vztahy mezi lidmi a vytváří konflikty. V ideálním případě musí mít všichni členové projektu na paměti, že mají společný cíl. Nejsou nepřátelé ani odpůrci, ale kolegové a nakonec jsou všichni na stejné lodi. Jak na té lodi společně zůstat?
Smiřme se s tím, že chyby budou existovat, budou je dělat programátoři i testeři a velmi často budou mít při vzájemných sporech tak trochu pravdu obě strany.
Až budete, testeři, v budoucnu opět reportovat chyby, pamatujte na nejdůležitější zásadu: reportovaná chyba musí být dobře popsána a zdůvodněna. Možná ještě trochu více než v jakékoliv jiné komunikaci zachovávejte respekt.
Vysvětlete, proč si myslíte, že je něco vada. V ideálním případě uveďte odkaz na specifikace nebo normy, které musí program splňovat. Pokud si jen myslíte, že „by to bylo lepší naopak“, možná by váš komentář měl být považován za vylepšení nebo požadavek na funkci.
A až vám, developeři, budou z testingu hlásit bugy, na které je třeba se podívat, neberte si to osobně. Zkuste se povznést nad tu prvotní přirozenou reakci, že to nebudete dělat a podívejte se na to z širší perspektivy. Díky testingu se můžete posunout dál, dodat lepší výsledek, vytvořit lepší produkt.
Závěrem snad jen dodáme, že přejeme hodně vzájemného pochopení a méně rozporů nejen mezi týmy testerů a programátorů a doporučujeme nadhled a humor, které často všechno vyřeší.
🟡 Hledáte zajímavý projekt? Mrkněte, jak to u nás chodí a jaké kolegy aktuálně hledáme.
🟡 Máte kolegu nebo kamaráda, který se poohlíží po novém projektu? Zapojte se do našeho referral programu Doporuč a získejte finanční odměnu za doporučení.
🟡 Chtěli byste začít pracovat v IT? Stáhněte si náš ebook ZAČNĚTE PRACOVAT V IT: aneb od prvních krůčků po vysněnou práci, ve kterém vás provedeme krůček po krůčku informacemi, kurzy i praxí, které jsou tolik potřebné nejen pro ty, kteří chtějí změnit obor, ale i pro ty, kteří se chtějí pracovně posunout a dále se vzdělávat.
Nebo sdílejte tento článek, který třeba poslouží i vašim známým.