пользователей: 30398
предметов: 12406
вопросов: 234839
Конспект-online
РЕГИСТРАЦИЯ ЭКСКУРСИЯ

Отладка программных приложений, особенности процесса, методы и средства.

Отладка – это комплексный процесс по выявлению и исправлению дефектов в программном обеспечении. Сами же дефекты, обычно, обнаруживается в процессе тестирования ПО.

Отладка состоит из следующих этапов:

  • воспроизведение дефекта (любым из доступных способов);
  • анализ дефекта (поиск причины возникновения дефекта – root-cause);
  • дизайн исправления дефекта (и возможно ревью, если есть альтернативы);
  • кодирование исправления дефекта (и какие-либо активности связанные с кодированием);
  • валидация исправления;
  • интеграция исправления в кодовую базу или целевую систему;
  • дополнительные валидации после интеграции (если необходимости).

Методы отладки ПО, используемые на данный момент в индустрии перечислены ниже.

  1. Запуск программы из под отладчика с пошаговой отладкой, просмотром состояний  в требуемых точках исполнения программы.
  2. Логирования кода – вывод в файл (или консоль и т.п.) входных, выходных аргументов функций, промежуточных состояний в процессе исполнения программы.
  3. Анализ кода без исполнения программы – поиск причин возникновения дефекта с помощью анализа исходного кода программы, проблемного контента, конфигурации, состояния базы данных и т.п.
  4. Анализ поведения системы или её части (в т.ч. в более простых use-case-ах) – изолирование проблемы, путём упрощения сценария (используя ручное или автоматическое тестирование).
  5. Unit тестирование – выполнение автоматических unittest-ов в основном изолировано  для функций, и таким образом автоматическое выявление проблемных участков кода.
  6. Прототипирование – проверка функций (модулей, библиотек, и т.п.) в изоляции с помощью небольших примеров кода (прототипов).
  7. Отладка с помощью memory-dump-ов или crash-дампов (применимо в основном для анализа паник) – разновидность логирования кода, только здесь логируется не просто некая структура памяти, а целиком вся память процесса и состояния регистров, когда возникает exception.
  8. Отладка с помощью перехватов (hook-ов, spy-ев) – в основном используется в случаях утечки ресурсов, разновидность логирования кода.
  9. Профилирование кода (если необходима оптимизация производительности) – разновидность логирования кода, хотя часто выполняется с использованием специализированных инструментальных средств (профилировщиков).
  10. Выполнения программы (или её части) в другой среде (операционной системе, эмуляторе, симуляторе) – основная идея в том, что если нет инструментальных средств на целевой платформе, то можно спортировать код на другую платформу, где они есть.
  11. Отладка методом RPC (remoteprocedurecall) – применимо в основном для встроенного программирования.
  12. Отладка путём анализа документации, дизайна, требований или ограничений модулей (программных или аппаратных) – применимо в основном для сложных и крупных проектов.
  13. Отладка трансляцией кода – сложный алгоритм пишется или прототипируется на одном языке программирования

Отладка разработкой интерпретатора - это не только метод отладки, но и паттерн проектирования.


06.01.2018; 19:56
хиты: 126
рейтинг:0
для добавления комментариев необходимо авторизироваться.
  Copyright © 2013-2024. All Rights Reserved. помощь