(Не) Пишем тесты

Vlad Moyseenko
(Не) Пишем тесты

что такое тестирование
- это то, что помогает находить проблемы и узкие места в продукте еще до его запуска или релиза
- процесс изучения продукта
(Не) Пишем тесты

и что?
рано или поздно это станет стандартом в работе программистов (как двойная запись стала в бухгалтерии)
(Не) Пишем тесты

ок, когда нужно тестирование?
в целом - когда вашим продуктом пользуется много людей
- open source
- любой сервис где клиенты платать деньги или тратят время.
(Не) Пишем тесты

кейсы
- пришел проект на поддержку
- есть четкое ТЗ (и возможно ответственность, upwork, контракт), тогда если появляются баги то вы теряете РЕПУТАЦИЮ + ВРЕМЯ -> ДЕНЬГИ!
- работа в продуктовой компании
- свой мега модуль на drupal.org
(Не) Пишем тесты

когда не нужно тестирование.
- когда маленький бюджет проекта
- бюрократия
- ваши примеры?
(Не) Пишем тесты

антология, методологии и инструменты
(Не) Пишем тесты

антология
- unit тесты
- функциональные тесты
- интреграционные тесты
- стресс тесты, monky тесты
- нагрузочные тесты
- security тесты
(Не) Пишем тесты

а в Drupal?
- unit тесты
- kernel тесты
- web тесты
- функциональные javascript
(Не) Пишем тесты

методологии
- TDD
- Post TDD
- BDD
- Black/White box
- и т.п
(Не) Пишем тесты

инструменты и фреймворки
- selenium
- codeception
- casperjs
- phpunit
- beat
- и т.п
(Не) Пишем тесты

почему я еще не тестирую

(Не) Пишем тесты

- тестирование требует понимания со стороны всех ролей
-
комбинации “не умею” и “не хочу”
- не умею: смотрим видео курсы, записываемся на воркшопы, находим наставника
-
не хочу:
- за это не платят деньги
- не хочу тратить свое время
- лень
- у меня и так все работает
- ваши примеры?
(Не) Пишем тесты

внедрение тестирования, в сознании || в компании
(Не) Пишем тесты

только методично, последовательно и индивидуально, используя мотиваторы
(Не) Пишем тесты

-
Потери (сильнейший мотиватор)
- когда не охота неделю сидеть по вечерам в офисе и фиксить баги
- терять деньги из-за неустоек
- делать лишнюю работу из-за отсутствия test acceptance criterias
(Не) Пишем тесты

-
Бонусы
- ачивки
- покрыл тестами проект неделя бесплатных вкусных снеков
- респект команды
- фин премия
- фетиш CI/CD, геймификация
(Не) Пишем тесты

-
Экстра
- поменяться ролями с тестером или заказчиками
- система PR + ревью с обязательными тестами, как на drupal.org
(Не) Пишем тесты

когда я использую тесты
- Мутирование и сложные комбинации состояния системы
- сложный ui
- тестирование функционала с business value
(Не) Пишем тесты

Final: Минимизируй оптимизируй автоматизируй
WTF
By Vlad Moyseenko
WTF
- 678