Тестирование и отладка программного обеспечения. Информационные технологии, курсовая работа
Софт. Программы для компьютера. Для пк

Обзор методов отладки программного обеспечения

Отладка — это комплексный процесс по выявлению и исправлению дефектов в программном обеспечении. Сами же дефекты, обычно, обнаруживается в процессе тестирования ПО. В данном посте эти термины я буду разделять. Пункты 1 и 2 — самые длительные этапы. Но бывает и по-другому, когда дефект воспроизводится легко, но root-cause абсолютно не ясен. Если root-cause дефекта найден, то разработать исправление не составляет большого труда конечно, в зависимости от требований к качеству ПО. Более того, отладка — это рекурсивный процесс. Например, какая-то часть исправления в коде работает не так как ожидается и соответственно придётся отлаживать эту часть в изоляции и снова основное время уходит на пункты 1 и 2 и т.

Другие пункты тоже достаточно важны, но они не входят в скоуп данного поста. Намерено не даю никакие ссылки на инструментальные средства, чтобы не делать рекламы. Методы предотвращения дефектов защитное программирование, инспекции кода и т.

Отладка программы

Хотя, assert-ы как часть методики защитного программирования могут считаться отдельным вполне полезным методом отладки ПО. Также существуют различные методики рассуждений при поиске root-cause-а, но они тоже вне скоупа ;. И так, методы отладки ПО используемые на данный момент в индустрии которыми я пользовался перечислены ниже. Ваш e-mail никогда не будет опубликован или передан третьим лицам.

Этапы отладки программного обеспечения

You may use these HTML tags and attributes: Обзор методов отладки программного обеспечения Опубликовал Alexey Kodubets Published: Отладка состоит из следующих этапов: Запуск программы из под отладчика софтварного, железячного или удалённого дебагера с пошаговой отладкой, просмотром состояний переменных, стека, памяти, регистров, тредов и т. Логирования кода — вывод в файл или консоль и т.

ТЕСТИРОВАНИЕ И ОТЛАДКА ПРОГРАММНОГО СРЕДСТВА

Детальный лог является историческим описанием исполнения программы. При сложностях с воспроизведением сценария дефекта, логирование становится основной методикой отладки. Анализ кода без исполнения программы — поиск причин возникновения дефекта с помощью анализа исходного кода программы, проблемного контента, конфигурации, состояния базы данных и т. Анализ поведения системы или её части в т.

Этапы отладки программного обеспечения

Если найти более простой сценарий, то отладка может упроститься. Unit тестирование — выполнение автоматических unit test-ов в основном изолировано то есть в более простых сценариях для функций модулей, компонентов и т. Прототипирование — проверка функций модулей, библиотек, и т.

Прототип легче отлаживать, чем целевую систему. Если проблема воспроизводиться с помощью прототипа, отладка упрощается. Отладка с помощью memory-dump-ов или crash-дампов применимо в основном для анализа паник — разновидность логирования кода, только здесь логируется не просто некая структура памяти, а целиком вся память процесса и состояния регистров, когда возникает exception.

Достаточно много существует инструментальных средств для выполнения этой операции. Отладка с помощью перехватов hook-ов, spy-ев — в основном используется в случаях утечки ресурсов, разновидность логирования кода. Основная идея перехват и логирование вызова функций выделения и освобождения ресурса, а также анализ состояния ресурсов например, памяти в требуемый момент времени или в нужной точке исполнения программы.

Профилирование кода если необходима оптимизация производительности — разновидность логирования кода, хотя часто выполняется с использованием специализированных инструментальных средств профилировщиков. Этот метод отладки позволяет получить профиль исполнения программы — сколько и какая функция, строчка кода, модуль, и т. Выполнения программы или её части в другой среде операционной системе, эмуляторе, симуляторе — основная идея в том, что если нет инструментальных средств на целевой платформе, то можно спортировать код на другую платформу, где они есть.

Этапы отладки программного обеспечения

Также можно изначально писать кросс-платформенный код системы или какой-то её части, и таким образом, при необходимости практически без портирования отлаживать код на другой платформе. Суть метода в возможности вызвать любую функцию модуль и т. Существуют множество готовых фреймворков правда в основном платных , которые инструментируют код и позволяют вызывать любые функции кода через USB или IP соединения.

Отладка путём анализа документации , дизайна, требований или ограничений модулей программных или аппаратных — применимо в основном для сложных и крупных проектов. Основная идея понять по имеющейся документации допустимо ли поведение, происходящее в дефекте. Например, поддерживается ли сложная комбинация одновременно работающих фич. Отладка трансляцией кода — сложный алгоритм пишется или прототипируется на одном языке программирования возможно медленном или интерпретируемом с наличием всех доступных инструментальных средств дебагера и т.

При таком подходе отладится можно на практически любом удобном для себя языке программирования, а потом заново странслировать программу на целевой язык программирования. Отладка разработкой интерпретатора - это не только метод отладки, но и паттерн проектирования. Этот метод используется, когда модуль требует частых изменений из-за плавающих требований или поддержки большого количества фич, железок и т.

Для ускорения процесса и гибкости пишется небольшой интерпретатор кода с наличием управляющих конструкций if, циклов, goto.

24 Трассировка отладка программ

Как упрощённый вариант такого способа отладки, например, использование дебажных флагов в коде, которые конфигурируют код и позволяют проверить разные варианты исполнения кода сделав лишь один build. Существуют также неправильные методы отладки. Они обобщаются следующим pattern-ами: Однако, это тема для отдельных обсуждений. Запись опубликована в рубрике Программирование , Философия программирования с тэгами IT , Отладка , Программирование.

Оставить комментарий или trackback: Оставить комментарий Нажмите, чтобы отменить ответ. Designed by Buddymatic Theme Framework.

Опубликовано в рубрике Gt драйвера
Twitter Delicious Facebook Digg Stumbleupon Favorites More
  • Прикрепленное видео

Все права защищены. © 2001 toozza.ru