Тестирование – это процесс проверки функционала программы с целью подтверждения того, что она работает в соответствии с определёнными требованиями. Unit-тестирование – это тестирование, которые пишутся, непосредственно, на уровне разработчика (тестирование определённой сущности – метод или класс). Это крайне важный этап разработки ПО, который помогает создавать качественный продукт.
Юнит-тестирование делится на две большие группы:
- Ручное тестирование
- Автоматизированное тестирование
Ручное тестирование | Автоматизированное тестирование |
---|---|
Ручное выполнение тестов без помощи каких-либо средств. | Использование специальных средств для автоматизированного тестирования |
Не программируется
Нет возможности для написания сложных тестов для тестирования сложных моделей поведения. |
Программируется
Тестировщики могут написать сложные тесты для тестирования сложных моделей программирования |
Низкая надёжность
Ручное тестирование имеет низкую надёжность, так как крайне подвержено влиянию человеческого фактора. |
Высокая надёжность
Автоматизированное тестирование точное и надёжное.
|
Большие затраты времени
Связано с тем, что человек имеет крайне ограниченные возможность в скорости работы. |
Быстро
Автоматизированные тесты выполняются на порядок быстрее, чем это может сделать человек. |
JUnit
JUnit – это фреймворк, разработанный для тестирования программ, написанных с использованием технологии Java. Он лежит в основе TDD (Test-Driven Development) и входит в семейство фрейморков для тестирования xUnit.
Главная идея данного фреймворка – “сначала тесты, потом код”. Это означает, что сначала мы определяем, что должно получиться в результате работы того или иного куска кода и пишем тесты, которые проверяют идентичность результата с требуемым, после чего пишем сам кусок кода, который и будем тестировать. Данный подход увеличивает эффективность работы разработчика и позволяет писать более стабильный код. В результате этого мы получаем меньшее количество времени, которое затрачивается на отладку программы.
Свойства JUnit
- Фреймворк с открытым исходным кодом, который используется для написания и выполнения тестов.
- Позволяет писать код более быстро и качественно.
- Крайне прост в использовании.
- Поддерживает аннотации для идентификации методов.
- Поддерживает утверждения для тестирования получаемых результатов.
- Тесты могут быть организованы в связки тестов (test suites).
- Имеет визуальную индикацию состояния тестов (красные – не пройдены, зелёные – пройдены).
Тестовый случай
Тестовый случай (Test Case) в юнит тестировании – это часть кода, которая проверяет ,что другая часть кода (в частности – метод) работает в соответствии с определёнными требованиями.
Формально описанный тестовый случай характеризуется известными входными данными и ожидаемым выводом программы, который известен до начала выполнения теста.
Необходимо создавать, как минимум, два тестовых случая для каждого требования – положительный и отрицательный. Если требование имеет под требования, каждое из них должно тестироваться отдельно.
На этом мы заканчиваем обзор фреймворка JUnit.
В следующей статье мы рассмотрим пример создания простого теста.