Основные ошибки внедрения ATDD, BDD, CI, CD на проектах, Резчиков Алексей
Каждый новый проект, к которому Алексей подключается в качестве консультанта, уже имеет свою историю внедрения автоматизации тестирования, CI и CD. Истории очень разные, каждая интересна по-своему, каждая рассказывает об ошибках. О самых распространенных из них, а также о том, как их не допустить, Алексей расскажет в своем докладе.
1. Почему это не работает?
или
Записки консультанта
Февраль 2012
Алексей Резчиков
2. Обо мне
Консультант по Testing
Automation, Continuous
Integration и Continuous Delivery
Java разработчик и тимлид уже
более 6-ти лет
В разное время работал project,
resource, development и
competency manager
Последователь XP/Agile/Lean
Евангелист Spring Framework в
2
рамках SpringByExample.com.ua
@twincengray #atdays
8. А на самом деле…
На самом деле проблема оказалась в
отсутствии структурированных требований и
невозможности регрессионного
тестирования
@twincengray #atdays
8
9. Сказка №2
Распределенное клиент-
серверное приложение
Сервер и клиент тоже
веб-приложения
Отраслевые особенности
Работающий процесс
Continuous Deployment
@twincengray #atdays
9
10. Проблема и решение
Проблема:
Нет возможности поставлять
продукт быстро из-за
большого объема ручного
тестирования
Предложенное решение:
Внедрение
автоматизированного
тестирования и CI
@twincengray #atdays
10
11. А на самом деле…
Отсутствие низкоуровневых тестов не
позволяет, даже при наличии UI тестов
оперативно найти и устранить
неисправность
@twincengray #atdays
11
12. «Хорошо, но плохо»
Это про внедрение автоматизации.
Из моего опыта только единицы
заказчиков могут конкретно ответить
на вопрос зачем им автоматизация
Остальные не готовы за это платить
@twincengray #atdays
12
13. 5 почему (почему не
работает)
Why?
Why?
Why?
Why?
Why?
@twincengray #atdays
13
14. Соответствие цели внедрения средствам
(практикам внедрения)
Правильное понимание/постановка цели
внедрения
Правильное определение проблемы,
которую будет решать внедрение той или
иной практики
Осознание наличия проблемы
14
Правильная постановка и понимание целей
проекта (продукта)
@twincengray #atdays
15. Мы поговорим про
Соответствие цели внедрения средствам
(практикам внедрения)
Правильное понимание/постановка цели
внедрения
Правильное определение проблемы,
которую будет решать внедрение той или
иной практики
@twincengray #atdays
15
16. Понятия/практики
(buzzwords)
ATDD – Acceptance Test Driven Development
BDD – Behavior Driven Development
CI – Continuous Integration
CD – Continuous Delivery
@twincengray #atdays
16