Please enable JavaScript.
Coggle requires JavaScript to display documents.
Отладка программы. Отладка — это процесс локализации и исправления ошибок…
Отладка программы. Отладка — это процесс локализации и исправления ошибок в программе.
Способы обнаружения проблем
Аналитический — имея достаточное представление о структуре программы, просматриваем ее текст вручную, без прогона
Экспериментальный — прогоняем программу, используя отладочную печать и средства трассировки, и анализируем результаты ее работы.
Стратегии тестирования
Тестирование программы как "черного ящика".
Тестирование программы как "белого ящика".
Тестирование программ модульной структуры.
Локализация ошибок. Локализация — это нахождение места ошибки в программе.
прогоняем программу и получаем результаты;
сверяем результаты с эталонными и анализируем несоответствие;
выявляем наличие ошибки, выдвигаем гипотезу о ее характере и месте в программе;
проверяем текст программы, исправляем ошибку, если мы нашли ее правильно.
Проектирование тестов
Принципы отладки
Принципы локализации ошибок
Большинство ошибок обнаруживается вообще без запуска программы — просто внимательным просматриванием текста.
Если отладка зашла в тупик и обнаружить ошибку не удается, лучше отложить программу. Когда глаз "замылен", эффективность работы упорно стремится к нулю.
Чрезвычайно удобные вспомогательные средства — это отладочные механизмы среды разработки: трассировка, промежуточный контроль значений. Можно использовать даже дамп памяти, но такие радикальные действия нужны крайне редко.
Экспериментирования типа «а что будет, если изменить плюс на минус» - нужно избегать всеми силами. Обычно это не дает результатов, а только больше запутывает процесс отладки, да еще и добавляет новые ошибки.
Метод индукции - анализ программы от частного к общему. Просматриваем симптомы ошибки и определяем данные, которые имеют к ней хоть какое-то отношение. Затем, используя тесты, исключаем маловероятные гипотезы, пока не остается одна, которую мы пытаемся уточнить и доказать.
Обратное движение по алгоритму. Отладка начинается там, где впервые встретился неправильный результат. Затем работа программы прослеживается (мысленно или при помощи тестов) в обратном порядке, пока не будет обнаружено место возможной ошибки.
Метод дедукции - от общего к частному. Выдвигаем гипотезу, которая может объяснить ошибку, пусть и не полностью. Затем при помощи тестов эта гипотеза проверяется и доказывается.
Средства отладки
Аварийная печать
Аварийная печать
Классификация ошибок
Ошибки в программах могут допускаться от самого начального этапа составления алгоритма решения задачи до окончательного оформления программы. Разновидностей ошибок достаточно много.
Логические ошибки
Ошибки в циклах:
Ошибки ввода-вывода
Ошибки в использовании переменных
Ошибки безопасности,
Ошибки в арифметических операциях
Ошибки в архитектуре приложения приводящие к увеличению технического долга
Тестирование
Тестирование - это выполнение программы для набора проверочных входных значений и сравнение полученных результатов с ожидаемыми.
Проектирование тестов
Тесты просчитываются вручную, значит, они должны быть достаточно просты для этого.
Тесты должны проверять каждую ветку алгоритма. По возможности, конечно. Так что количество и сложность тестов зависит от сложности программы.
Проектирование тестов
Тесты просчитываются вручную, значит, они должны быть достаточно просты для этого.
Тесты должны проверять каждую ветку алгоритма. По возможности, конечно. Так что количество и сложность тестов зависит от сложности программы.
Тесты должны проверять каждую ветку алгоритма. По возможности, конечно. Так что количество и сложность тестов зависит от сложности программы.