Воркшоп: Хватит писать тесты, пора писать спецификации! (часть 1)

День 3 /  / Зал 4  /  RU /

В этом воркшопе-стриме-live-сессии Алексей покажет, как с нуля создать и запустить TDD-цикл для Spring Boot-приложения, с примерами на JUnit 5.

О чем спикер будет рассказывать:

  1. Зачем вообще тесты? Почему важно писать и поддерживать набор тестов?
  2. TDD vs Test first vs Test last.
  3. Лондон против Чикаго.
  4. С чего начать, когда вообще ничего нет.
  5. R-G-R цикл, почему это важно.
  6. Хороший тест не всегда хорошая спецификация.
  7. Спецификация должна быть специфичной.
  8. Зоны ответственности (test boundaries).
  9. Моки и двойники.
  10. Что мокать, а что нет, как мокать немокируемое.
  11. Интеграционные тесты — как и зачем?
  12. Мороженое против кубков (Ice cream cone vs Testing trophy).
  13. Контракты и интеграция с third party.
  14. Тестирование БД.
  15. Тестирование интеграции (REST и сообщения).
  16. Acceptance или E2E-тестирование.
  17. Как быть с легаси?

Для этого воркшопа вам понадобится:

  • установить любимую IDE — IntelliJ IDEA рекомендуется, но не обязательно. Community Edition вполне хватит. Но можно в общем-то любую;
  • клонировать этот репозиторий;
  • запустить ./scripts/local.sh init и проверить, что все собралось без ошибок;
  • запустить ./scripts/local.sh start и посмотреть, что в браузере на http://localhost:3000/rescue что-то есть;
  • запустить тесты и проверить, что все проходит ./scripts/local.sh ci;
  • опционально, но желательно — иметь установленный и рабочий Docker (Docker for Mac/Windows или нативный на Linux).

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


Почему этот доклад в программе

Чем хорош спикер: У Алексея огромный опыт в разработке enterprise-приложений на Java. Он разработчик в Spring Cloud Services в VMware. Долгое время занимался консалтингом и точно знает, как нужно писать и тестировать приложения на современных Java-технологиях. Алексей может быть известен широкой публике как один из голосов подкаста «Радио-Т».

Чем хороша тема: Все любят рассказывать, как нужно тестировать, насколько полезна TDD, а вот показать, да так, чтобы было понятно, — сложная задача. В этом воркшопе участники смогут ощутить реальную пользу от написания тестов, на практике познакомиться с подходами TDD на примере Spring-приложений и даже обсудить со спикером тонкости и скользкие моменты.

Кому будет полезно: Мы советуем воркшоп всем, кто разрабатывает на Java (и не только). После воркшопа вы сможете изменить свой привычный рабочий процесс и улучшить навыки разработки.

Почему здесь и сейчас: Алексей постоянно использует TDD в своей ежедневной работе и знает, как применять его практики в реальной жизни. Практический материал с развернутым изложением на русском языке.

Спикер(ы)

Алексей Нестеров
VMware

Разработчик в команде Spring Cloud Commerical, ранее Pivotal Labs, фанат Test-Driven Development и lean-подхода к разработке; фанат open source, автор и тот самый Алексей из еженедельного Hi-Tech подкаста Radio-T.

Приглашенные Эксперты

Анатолий Коровин
TheWhite

Анатолий работает Java-архитектором, активно использует TDD в повседневной работе. Пропагандирует использование микросервисной архитектуры и является фанатом стека Netflix Spring Cloud. Также он ведет блог про Java-разработку. В свободное время активно коммитит в open source-проекты и выступает на Java-митапах.

Тимур Насрединов
Одноклассники

Java-разработчик с 15+ годами в ИТ, страдающий синдромом самозванца. В настоящее время работает на Одноклассники. Профессиональный опыт включает в себя работу на аутсорс, фриланс, а также разработку на такие индустрии, как медицинская, финансовая, банковская и социальные сети. Принимает участие в образовательных проектах Политеха в качестве репетитора. Интересуется внутренним устройством JVM, распределенным кэшированием, высокопроизводительными системами и настройками параллелизма.