Ako koncipovať testy rubrika: Programování: Jiné
Ako beriete filozofiu testovania, na co pisete testy a na co nie?
Konkretnejsie ma viacej zaujimaju unit a integracne testy. Ako koncipujete samotny test?
Pre jednu funcionllitu (metodu/funkciu) testujete v jednom teste iba jeden scenar (test vola metodu len raz), alebo v nom zahrniete viacej vstupnych hodnot, chybove stavy, nevalidne argumenty,... (test vola testovaciu metodu viackrat).
Proste ma zaujima ako pristupujete k vnutru testov.
(Pri odpovediach spomente aj jazyk, pretoze predpokladam, ze filozofia moze byt ina v zavislosti od paradigmy a typovosti.)
Nedávno jsem v jedné knížce četl o testovací pyramidě a docela se mi to líbilo. Autor píše, že máš psát tři druhy testů: unit testy, integrační testy a testy celého systému (neboli ui testů). Počet testů by měl klesat řádově jak se posouváš v pyramidě. Tedy například tisíce unit testů, stovky integračních testů a desítky testů celého systému. Ale může to být víc, nebo míň podle toho jak velkou aplikaci píšeš.
Na úrovni unit testů se testují veškeré validní, nevalidní a divné vstupy a testuje se veškerá logika. A testovaná metoda se volá několikrát.
Na vyšší úrovni už se nemusí testovat veškeré divné vstupy, protože to už bylo jednou otestováno. Testuje se jestli se služba chová v pořádku jako celek, pokud je na vstupu nevalidní hodnota jestli ji služba řádně odmítne a naopak pokud je hodnota správná, jestli se služba zachová tak jak se od ní očekává.
No a potom nejvyšší úroveň je úplně celý systém, několik služeb dohromady, frontend i backend. V případě webu se to většinou provádí seleniem. Zde se už nemusí testovat to co bylo jednou otestováno, jen se testuje, že se systém chová jako celek v pořádku a nic se nerozbilo při integrování jendolivých částí dohromady.
Pro zobrazení všech 7 odpovědí se prosím přihlaste:
Nebo se přihlaste jménem a heslem:
Komentáře