Co je testování jednotek?
Jednotkové testování v oblasti počítačů označuje vývojový proces, který hodnotí jak funkci, tak výkon nejmenšího samostatného softwarového modulu, který může fungovat samostatně, také známý jako jednotka. Protože měření je jádrem všech programů kvality softwaru, každý test jednotky ověřuje, že jednotka dodržuje záměr návrhu uvedený v plánu rozvoje. Test také ověřuje, že chování a výkon jednotky jsou očekávané.
Obecně jsou testy jednotky samy o sobě malé programy, ve kterých vývojář specifikuje přijatelné vstupy, chování a výstupy pro jednotku a poté protokolová výsledky pro pozdější kontrolu a vyhodnocení. Vývojář softwaru může provádět testování jednotek ad hoc, nebo pokud je hlavní program velký nebo složitý, může přidat testy jednotek pro zahrnutí do většího zkušebního svazku, který provádí několik integrovaných jednotek najednou. Bez ohledu na to je testování jednotky neustálým úsilím vývojáře o potvrzení, že jeho kód funguje podle očekávání, a jako takový je považován za nedílnou součást celkového vývojového procesu.
Jakýkoli proces vývoje softwaru obvykle začíná fází návrhu, ve které celý tým tráví svůj čas zapisováním plánů pro navrhování, vývoj, integraci, testování systému, přijímání a údržbu nového softwaru. Testování jednotky je nezbytnou součástí všech fází. Vývojáři musí mít jednoduchý způsob, jak zkontrolovat, zda změny kódu provedené v modulech přinášejí očekávané výsledky, než tyto změny začlení do hlavního programu.
Testy jednotek jsou obvykle psány stejným vývojářem, jehož kód bude použit. Důvodem je to, že programátor jednotky důkladně rozumí konstrukci modulu a očekávanému výkonu. Testovací případ vývojáře obvykle nastavuje parametry pro všechny vstupy jednotky, metody zpracování a výstupy a definuje přijatelná výkonnostní kritéria pro pozdější integrační a akceptační testování.
Jednou z klíčových výhod testování jednotek je to, že podporuje objevování problémů na počátku procesu vývoje. Pokud jsou problémy s kódováním objeveny brzy, mohou obvykle dojít k nápravným opatřením a opravám, než má kód buggy negativní dopad na integrovanou aplikaci a její uživatele. Přestože testy jednotek nemohou zachytit každou možnou chybu programu, významně snižují chyby v pozdějších fázích procesu vývoje, šetří čas, peníze a prostředky, které by byly potřebné pro ladění programu prostřednictvím dalších cyklů validace a ověření před uvolněním.