- Wynik niezgodny z oczekiwaniami.
- Użycie nieprawidłowej instrukcji lub innej konstrukcji programistycznej w określonym miejscu w programie.
- Niepoprawna definicja konstrukcji programistycznej, np. brak średnika oznaczającego koniec instrukcji.
- Nieprawidłowe dane wejściowe.
- Usterka spowodowana nieodpowiednim zachowaniem człowieka.
- Usterka spowodowana wyczerpaniem się zasobów, z których korzysta program.
- Niedostępność zasobów potrzebnych programowi do działania, np. brak połączenia sieciowego, gdy program musi pobrać dane z sieci.