Способы локализации
После того, как с помощью тестов (или каким либо другим путем) установлено, что в программе или в конкретном ее блоке имеется ошибка, возникает задача ее локализации, то есть установления точного места в программе, где находится ошибка.
Процесс локализации ошибок состоит из следующих трех компонент:
1. Получение на машине тестовых результатов.
2. Анализ тестовых результатов и сверка их с эталонными.
3. Выявление ошибки или формулировка предположения о характере и месте ошибки в программе.
Технология отладки автоматизированного рабочего места
При отладке программы использовались следующие методы контроля и локализации ошибок:
4. Просмотр текста программы с целью обнаружения явных синтаксических и логических ошибок.
5. Трансляция программы (транслятор выдает сообщения об обнаруженных им ошибках в тексте программы).
6. Тестирование. Тестирование проводилось посредством ввода исходных данных, с дальнейшей их обработкой, выводом результатов на экран. Результаты работы программы сравнивались с требованиями в техническом задании.
7. Локализации ошибок.
Отладка программы производилась следующим образом:
8. Запуск программы с набором тестовых входных данных и выявление наличия ошибок.
9. Выделение области программы, в которой может находиться ошибка. Просмотр листинга программы с целью возможного визуального обнаружения ошибок. В противном случае — установка контрольной точки примерно в середине выделенной области.
10. Новая прогонка программы. Если работа программы прервалась до обработки контрольной точки, значит, ошибка произошла раньше. Контрольная точка переносится, и процесс отладки возвращается к шагу 2.
11. Если контрольная точка программы была обработана, то далее следует изучение значений стека, переменных и параметров программы с тем, чтобы убедиться в их правильности. При появлении ошибки — новый перенос контрольной точки и возврат к шагу 2.
12. В случае если ошибка не была обнаружена, далее выполнение программы производится покомандно, с контролем правильности выполнения переходов и содержимого регистров и памяти в контрольных точках. При локализации ошибки она исправляется, и процесс возвращается к шагу 1).
Тестирование и отладка PHP проекта
Отладка велась с помощью средств среды разработки Eclipse. В частности, использовались точки останова и пошаговая трассировка программы, в процессе которой отслеживались значения переменных, а также вручную изменялись в ходе выполнения программы с целью более быстрой (в сравнении с методом «грубой силы», когда приходится добавлять для этих целей дополнительные строчки кода и начинать трассировку сначала) реализации сложных сценариев выявления ошибок. Также с этой целью использовались условные точки останова (для каждой точки останова задавался набор операторов, который должен был дополнительно выполниться при достижении точки останова, и в зависимости от результата их выполнения происходил либо останов программы, либо программа продолжала выполняться дальше так, как будто точки останова не было).