Můžete prosím vysvětlit, čím přesně se v rámci testování naučí dobrým návykům?
To muzu vysvetlit za nej, protoze si myslim neco podobneho - kazdy programator by mel obcas delat testera na svem produktu, nebo obecne bych rekl, ze by vsechny role (jako vyvoj, navrh, testovani, L2) pri vyvoji produktu mely vic rotovat (samozrejme za predpokladu, ze jsou ochotni si to zkusit a maji na to).
Nejde o to, ze se tak nauci psat lepsi kod. Ale muze se naucit to, jak uzivatele pouzivaji produkt, kde je to snadne a kde je to opruz, a chovani produktu pri zatezi. Muze se naucit casti produktu, ktere moc neznal nebo ktere nevyvijel. Tyto znalosti pak snadno vedou k dalsim inovacim. Muze se naucit efektivne si zautomatizovat vlastni praci, vytvorit si vlastni efektivni prostredi, ktere se mu hodi i pri vyvoji.
Naopak, programator potencialne do testovani vnasi znalost vnitrniho fungovani produktu a jeho slabin. Tusi, co se ma otestovat vic a co neni treba az tak testovat. Druha vec, kterou casto muze prinest je ochota veci automatizovat a zlepsit stavajici testovaci nastroje. Oboji jsou vynikajici doplnky (nikoli vsak nahrada!) normalniho testovani.
Na testovani nepotrebujes prakticky zadne znalosti a na to stat se slusnym testerem staci trocha toho analytickeho mysleni. Ja si naopak myslim, ze programator ani nemuze byt testerem, protoze jakmile vis jak to pod povrchem funguje, tak klesa tvoje schopnost nalezat bezne chyby co udela uzivatel.
To je hloupost. Umet veci efektivne
rozbijet take vyzaduje analyticke mysleni. A myslim, ze ten druhy efekt se silne precenuje, uz kvuli tomu, ze pokud je nekdo profesionalni tester na produktu, tak ten produkt proste zna tak dobre, ze nedela "bezne" chyby. To delaji naopak hlavne ti, co se to uci poprve (nebo uz pozapomneli) a tedy je idealni dat to co nejvic lidem, i programatorum, obcas do ruky na testovani. Navic, pokud testujete neco, co delal vas kolega, nebo si ty role vymenite v ramci jednoho vyvojoveho cyklu, tak k tomu taky prichazite dost nepoznamenan tou implementaci. Aspon moje zkusenost (jako programatora, ktery cas od casu testovani dela) vzdycky takova byla.
Takze testovani tak jako tak vyzaduje urcitou schopnost vcitit se do toho, co udela uzivatel. Nelze jen spolehat na to, ze to prijde urcitou "prirozenou neznalosti" - to je zkratka podceneni profesionality toho testera.