Успішне завершення процесу компіляції не означає, що в програмі немає помилок. Впевнитися, що програма працює правильно можна тільки в процесі перевірки її працездатності, який називається тестування.
Зазвичай програма рідко відразу починає працювати так, як треба, або працює правильно тільки на деякому обмеженому наборі вихідних даних. Це свідчить про те, що в програмі є алгоритмічні помилки. Процес пошуку і усунення помилок називається налагодженням.