юнит тестирование fork
TRANSCRIPT
Юнит тестированиеПрукс Александр
Обо мне
• Тимлид в СТ
• 10 лет разработки с применением ЮТ
• .Net/JavaScript
Для кого
• Менеджменту: как и зачем внедрять, с кого требовать
• Тестировщикам: как отмазаться
• Разработчикам: для расширения кругозора
Структура
• Определения
• Отличие от других методик
• Вопросы/ответы
Что это?
• процесс в программировании, позволяющий проверить на корректность отдельные модули (юниты) исходного кода программы
Анатомия ЮТ
• Юнит – минимальная, неделимая часть кода
• Тест – программный код
• начальное состояния
• вызов юнита в изоляции
• проверка
• Тест фреймворк – набор библиотек, облегчающих написание теста.
Изолированность?!
• На результат теста не влияют внешние модули
• В тестах: подменяем зависимости на заглушки
Зачем?
• Быстро
• Предсказуемо
• Легко
Профит?
• Не боимся менять код
• Меньше алгоритмических ошибок
• Если падает, то точно знаем где
Методика
• Пишут/используют ВСЕ разработчики
• Только свой код
• Обязательно CI
• Метрики?
• Скорость
• Покрытие
Unit vs *
+ Мгновенный фидбек
+ Точность
+/- Близость к коду
- Порог вхождения
Итог
• Предсказуемая разработка
• Пороги вхождения:
• Квалификация разработчиков
• Менеджмент
• Говнокод
Порог №1
Check list
• Хотите попробовать?
• А вам разрешат?
• Владеете кодом?
• Проект с нуля?
• Как с DI/SOLID/GoF?
Вопросы и ответы