Системные ошибки при разработке программного обеспечения классифицируются по критерию «этап процесса разработки»: 2
- Системные ошибки. 2 К ним относятся ошибки в формулировании требований, в описаниях целей и спецификаций, включая спецификации оборудования и общего ПО. 2 Эти ошибки проявляются в результате отклонения характеристик функционирования ПО в системе и характеристик взаимодействующих объектов от предполагаемых при проектировании. 2
- Алгоритмические ошибки. 2 К ним относятся ошибки детального проектирования, спецификации оборудования и общего ПО, а также ошибки в спецификации языка программирования. 2 К алгоритмическим ошибкам в значительной мере относятся и ошибки, выявленные при модификации программы и связанные с изменениями в алгоритме при корректировке существующих или добавлении новых функций. 2
- Программные ошибки. 2 Ошибки кодирования программ, ошибки в спецификации оборудования, общего ПО и языка программирования, а также ошибки, возникшие при модификации ПО. 2
Также существует ортогональная классификация дефектов IBM, которая предусматривает разбиение ошибок по категориям с соответствующей ответственностью разработчиков за них: 4
- Функция. 4 Ошибки интерфейсов конечных пользователей ПО, вызванные аппаратурой или связанные с глобальными структурами данных. 4
- Интерфейс. 4 Ошибки во взаимодействии с другими компонентами, в вызовах, макросах, управляющих блоках или в списке параметров. 4
- Логика. 4 Ошибки в программной логике, неохваченной валидацией, а также в использовании значений переменных. 4
- Присваивание. 4 Ошибки в структуре данных или в инициализации переменных отдельных частей программы. 4
- Зацикливание. 4 Ошибки, вызванные ресурсом времени, реальным временем или разделением времени. 4
- Среда. 4 Ошибки в репозитории, в управлении изменениями или в контролируемых версиях проекта. 4
- Алгоритм. 4 Ошибки, связанные с обеспечением эффективности, корректности алгоритмов или структур данных системы. 4
- Документация. 4 Ошибки в записях документов сопровождения или в публикациях. 4
Ещё ошибки при разработке программного обеспечения классифицируются по таким аспектам, как серьёзность и приоритет. 5