Unit testing – jednotkové testovanie

Unit software testing je prvá úroveň testovania jednotlivých modulov, komponentov alebo častí kódu. Pri testovaní sa jednotlivé moduly testujú ako nezávislé komponenty, aby sa zabezpečilo, že fungujú správne a sú vhodné na integráciu s inými komponentmi.
Toto testovanie vykonávajú vývojári. Vývojári zvyčajne píšu unit testy pre nimi napísaný kus kódu. Ako už bolo uvedené, je to prvá úroveň testovania. Po otestovaní jednotlivých komponentov sa vykoná integračné testovanie.
Unit testovanie sa nedá vykonávať ručne. Testy sú vždy automatizované a presnejšie používajú techniku testovania bielej skrinky (white-box testing), pretože na testovanie kódu je potrebná znalosť časti kódu a vnútornej architektúry. Vývojári vytvárajú unit testy odovzdávajúc požadované vstupy k testovaciemu skriptu a porovnávajú skutočný výstup s očakávanými výsledkami.
Výhody unit testov
- Chyby v rámci modulu možno odhaliť v skorších fázach vývoja. Preto sa výrazne znižujú náklady na opravu chýb.
- Unit testing zvyšuje efektívnosť testovania a lepšie využitie zdrojov, pretože testovanie modulu sa môže začať bez toho, aby sa muselo čakať na dokončenie iných modulov.
- Pri unit testoch je možné vyčerpávajúce testovanie zamerané na jednotlivé funkcie.
- Unit testy pomáhajú pri rýchlejšom vývoji a ladení, pretože spustením unit testov možno ľahko zistiť vplyv nových zmien.
- Úspešná správa o jednotkových testoch vytvára pocit istoty o kvalite kódu. Moduly úspešne otestované unit testami možno ľahko zlúčiť s inými modulmi.
Obmedzenia unit testov
- Unit testing nemôže odhaliť problémy integrácie alebo prepojenia medzi dvoma modulmi.
- Nemôže zachytiť komplexné chyby v systéme pochádzajúce z viacerých modulov.
- Nemôže testovať nefunkčné vlastnosti, ako je použiteľnosť, škálovateľnosť, celkový výkon systému atď.
- Unit testy nemôžu zaručiť funkčnú správnosť alebo zhodu aplikácie s jej obchodnými požiadavkami.