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

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