Testy automatyczne (kod testujący kod) zapewniają znaczące korzyści — łapanie błędów, umożliwienie pewnych zmian, pełnienie roli dokumentacji i wspieranie szybkiego, niezawodnego dostarczania. Zrozumienie, dlaczego je pisać, motywuje dyscyplinę i stanowi podstawę rozwoju wysokiej jakości.
Dlaczego to ważne
✓ CATCH BUGS EARLY — find defects during development, before users (cheaper to fix)
✓ PREVENT REGRESSIONS — tests catch when a change breaks existing functionality
(run them after every change → safety net)
✓ CONFIDENCE TO CHANGE — refactor and add features knowing tests will catch breakage
(without tests, changes are scary; with tests, you change freely)
✓ DOCUMENTATION — tests show how code is meant to be used and what it should do
✓ FAST FEEDBACK — automated tests run in seconds (vs slow, error-prone manual testing)
✓ Enable CI/CD — automated tests are the foundation of automated, safe delivery
