ГЛ АВ А
2
Отладка, тестирование и рефакторинг кода Простые ошибки синтаксиса кода помогает выявлять редактор среды Eclipse. Однако код может содержать более глубокие проблемы, связанные с чтением и записью данных, выделением памяти, алгоритмами, условиями if/else, циклами, выбором switch/case, возникновением исключительных ситуаций, связанных с инициализацией данных, границами массивов, ошибками типов, утечкой памяти. Код может содержать ошибки взаимодействия между модулями приложения, приложениями, потоками. Ошибка выполнения кода может быть связана с работой самой операционной системы или среды выполнения, с отсутствием необходимых библиотек и проблемами пути приложения. Такие ошибки и дефекты помогает выявлять и устранять отладка и тестирование кода. Отладка кода (debugging) позволяет выполнять код пошагово, отслеживая значения переменных, и обеспечивает изоляцию проблемы в небольшой фрагмент кода. Тестирование же, в отличие от отладки, не предназначено для вывода и фиксации дефектов работы самого кода. Тестирование исследует код на предмет соответствия его работы поставленным задачам и требованиям путем создания отдельных, повторно используемых тестов. Тестирование помогает выявлять даже те проблемы, которые может не показать отладка кода. Тестирование находит ошибки, отладка локализует их и устраняет, поэтому для работы над кодом используют цикл "тестирование — отладка". Тестирование, в отличие от отладки, может определять цели создания кода, определять, как код должен работать, и давать примеры как использовать код, что позволяет применять технику создания кода с помощью тестов. Тестирование осуществляется с известными начальными условиями, использует предопределенные процедуры и оперирует предсказуемыми результатами. Отладка может запускаться без знания начальных условий и с непредсказуемым результатом.