T.M. SoftStudio

feci quod potui, faciant meliora potentes

Купить полную версию книги "Среда разработки Eclipse 4: Руководство разработчика"

Отладка, тестирование и рефакторинг кода

Простые ошибки синтаксиса кода помогает выявлять редактор среды Eclipse. Однако код может содержать более глубокие проблемы, связанные с чтением и записью данных, выделением памяти, алгоритмами, условиями if/else, циклами, выбором switch/case, возникновением исключительных ситуаций, связанных с инициализацией данных, границами массивов, ошибками типов, утечкой памяти. Код может содержать ошибки взаимодействия между модулями приложения, приложениями, потоками. Ошибка выполнения кода может быть связана с работой самой операционной системы или среды выполнения, с отсутствием необходимых библиотек и проблемами пути приложения.

Такие ошибки и дефекты помогает выявлять и устранять отладка и тестирование кода.

Отладка кода (Debugging) позволяет выполнять код пошагово, отслеживая значения переменных, и обеспечивает изоляцию проблемы в небольшой фрагмент кода.

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

Тестирование помогает выявлять даже те проблемы, которые может не показать отладка кода.

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

Тестирование осуществляется с известными начальными условиями, использует предопределенные процедуры и оперирует предсказуемыми результатами.

Отладка может запускаться без знания начальных условий и с непредсказуемым результатом.

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

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

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


Отладка Java-кода