Курс обучения программированию на Java | Сайт проекта

< Курс обучения программированию на Java >

Вернуться к содержанию курса

Введение в Unit-тестирование

Материалы для самоподготовки

Основные материалы

  1. Курс на Learn

Дополнительные материалы

  1. Видео: JUnit - Java для тестировщиков
  2. Habr: Юнит-тестирование для чайников
  3. Habr: Пирамида тестов на практике

Практическая работа

Для выполнения данного задания вам понадобится работающий Калькулятор.

Вам необходимо:

Вопросы для самоконтроля

Unit Testing

  1. Как вы понимаете, что такое юнит тестирование?
  2. Опишите пирамиду тестов. Какое место в ней занимают юнит тесты?
  3. Какие библиотеки обычно используют для юнит тестирования java-программ?
  4. В какой директории принято писать юнит и интеграционные тесты?
  5. Как написать простейший тест?
  6. Как вы охарактеризуете классический юнит тест? Что означает аббривеатура F.I.R.S.T.?
  7. Как мы можем сравнить результат выполнения метода sum(2, 2) и ожидаемый результат 4?
  8. Что делать, если перед всеми тестами нам нужно сделать какую-то инициализацию? Перед каждым тестом?
  9. Что такое матчеры? Какую библиотеку стоит подключать, если нам не хватает матчеров из Junit?
  10. Мы хотим простетировать метод calcFactorial(num) с различными числами. Как наиболее удобно и красиво это сделать?
  11. Мы тестируем метод readFile(path). Как мы можем протестировать, что этот метод выбросит IOException, если не найдет файл?
  12. Мы тестируем метод establishConnection(host). Как мы можем протестировать то, что метод выполняется меньше, чем за 1 секунду?
  13. Можем ли мы объединить тесты в логическую структуру и запускать их все вместе?
  14. В чем вы видите разницу между такими методологиями тестирования как BDD и TDD?
  15. Что такое покрытие тестами? Как его можно измерить?
  16. Написав юнит тесты на новую фичу, мы увидели, что покрытие составляет 100%. Можем ли мы быть уверены что багов нет?