Почему это не работает?            или    Записки консультанта                         Февраль 2012                     Ал...
Обо мнеКонсультант по TestingAutomation, ContinuousIntegration и Continuous DeliveryJava разработчик и тимлид ужеболее 6-т...
Куда мы идем?      @twincengray #atdays                             3
Реалии индустрии        @twincengray #atdays                               4
СказкиСказка ложь, да в ней намек… (с)                            Народная мудрость                       @twincengray #at...
Сказка №1Site builderРазрабатывается много лет, многоунаследованного кода и архитектурыБольшая текучка кадров             ...
Проблема и решениеПроблема:Качество и своевременность поставкиПредлагаемое решение:                                       ...
А на самом деле…На самом деле проблема оказалась вотсутствии структурированных требований иневозможности регрессионноготес...
Сказка №2Распределенное клиент-серверное приложениеСервер и клиент тожевеб-приложенияОтраслевые особенностиРаботающий проц...
Проблема и решениеПроблема:Нет возможности поставлятьпродукт быстро из-забольшого объема ручноготестированияПредложенное р...
А на самом деле…Отсутствие низкоуровневых тестов непозволяет, даже при наличии UI тестовоперативно найти и устранитьнеиспр...
«Хорошо, но плохо»Это про внедрение автоматизации.Из моего опыта только единицызаказчиков могут конкретно ответитьна вопро...
5 почему (почему не      работает)Why?Why?Why?Why?Why?           @twincengray #atdays                                  13
Соответствие цели внедрения средствам(практикам внедрения)   Правильное понимание/постановка цели   внедрения       Правил...
Мы поговорим проСоответствие цели внедрения средствам(практикам внедрения)Правильное понимание/постановка целивнедренияПра...
Понятия/практики     (buzzwords)ATDD – Acceptance Test Driven DevelopmentBDD – Behavior Driven DevelopmentCI – Continuous ...
«Топографический   кретинизм»        @twincengray #atdays                               17
«Синдром серебряной      пули»         @twincengray #atdays                                18
Полумеры - А, сто рублей, не спасут отцарусской демократии?          @twincengray #atdays                                 ...
Детские болезни       @twincengray #atdays                              20
ATDD: Непонимание чтотакое критерии приемки           @twincengray #atdays                                  21
ATDD: Когда нужно BDD     и наоборот          @twincengray #atdays                                 22
ATDD: Критерии приемкипишутся не всей командой            @twincengray #atdays                                   23
BDD: Cоставление GWT          @twincengray #atdays                                 24
BDD: «Где упал мой тест?»D|DefaultListableBeanFactory           |Returning cached instance of singleton bean org.springfra...
BDD: Инструментальные      проблемы          @twincengray #atdays                                 26
CI @twincengray #atdays                        27
CI: «Демократия»        @twincengray #atdays                               28
CD: Путанница Cont.  deployment и CD         @twincengray #atdays                                29
CD @twincengray #atdays                        30
CD: А где ваш Configuration       Management?             @twincengray #atdays                                    31
Технические риски        @twincengray #atdays                               32
Недостаток опыта по    технологии         @twincengray #atdays                                33
Недостаток опыта в  тестировании         @twincengray #atdays                                34
Избегание CI      @twincengray #atdays                             35
Тестирование на слишком    высоком уровне    End-to-end/GUI      Integration         Unit           @twincengray #atdays  ...
Отсутствие илинеполная регрессия         @twincengray #atdays                                37
ИтогиНачинать с начала«Серебряной пули» нетIndividuals and interactions…It’s all about the money                      @twi...
Вопросы?@twincengray@ua_spring        oleksiy.rezchykov@gmail.comSpringByExample.com.ua           mcgray.com.ua           ...
Upcoming SlideShare
Loading in...5
×

Why it is not working

3,511

Published on

Основные ошибки внедрения ATDD, BDD, CI, CD на проектах, Резчиков Алексей
Каждый новый проект, к которому Алексей подключается в качестве консультанта, уже имеет свою историю внедрения автоматизации тестирования, CI и CD. Истории очень разные, каждая интересна по-своему, каждая рассказывает об ошибках. О самых распространенных из них, а также о том, как их не допустить, Алексей расскажет в своем докладе.

0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
3,511
On Slideshare
0
From Embeds
0
Number of Embeds
3
Actions
Shares
0
Downloads
13
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Transcript of "Why it is not working"

  1. 1. Почему это не работает? или Записки консультанта Февраль 2012 Алексей Резчиков
  2. 2. Обо мнеКонсультант по TestingAutomation, ContinuousIntegration и Continuous DeliveryJava разработчик и тимлид ужеболее 6-ти летВ разное время работал project,resource, development иcompetency managerПоследователь XP/Agile/LeanЕвангелист Spring Framework в 2рамках SpringByExample.com.ua @twincengray #atdays
  3. 3. Куда мы идем? @twincengray #atdays 3
  4. 4. Реалии индустрии @twincengray #atdays 4
  5. 5. СказкиСказка ложь, да в ней намек… (с) Народная мудрость @twincengray #atdays 5
  6. 6. Сказка №1Site builderРазрабатывается много лет, многоунаследованного кода и архитектурыБольшая текучка кадров @twincengray #atdays 6
  7. 7. Проблема и решениеПроблема:Качество и своевременность поставкиПредлагаемое решение: 7Внедрение автоматизации тестирования @twincengray #atdays
  8. 8. А на самом деле…На самом деле проблема оказалась вотсутствии структурированных требований иневозможности регрессионноготестирования @twincengray #atdays 8
  9. 9. Сказка №2Распределенное клиент-серверное приложениеСервер и клиент тожевеб-приложенияОтраслевые особенностиРаботающий процессContinuous Deployment @twincengray #atdays 9
  10. 10. Проблема и решениеПроблема:Нет возможности поставлятьпродукт быстро из-забольшого объема ручноготестированияПредложенное решение:Внедрениеавтоматизированноготестирования и CI @twincengray #atdays 10
  11. 11. А на самом деле…Отсутствие низкоуровневых тестов непозволяет, даже при наличии UI тестовоперативно найти и устранитьнеисправность @twincengray #atdays 11
  12. 12. «Хорошо, но плохо»Это про внедрение автоматизации.Из моего опыта только единицызаказчиков могут конкретно ответитьна вопрос зачем им автоматизацияОстальные не готовы за это платить @twincengray #atdays 12
  13. 13. 5 почему (почему не работает)Why?Why?Why?Why?Why? @twincengray #atdays 13
  14. 14. Соответствие цели внедрения средствам(практикам внедрения) Правильное понимание/постановка цели внедрения Правильное определение проблемы, которую будет решать внедрение той или иной практики Осознание наличия проблемы 14 Правильная постановка и понимание целей проекта (продукта) @twincengray #atdays
  15. 15. Мы поговорим проСоответствие цели внедрения средствам(практикам внедрения)Правильное понимание/постановка целивнедренияПравильное определение проблемы,которую будет решать внедрение той илииной практики @twincengray #atdays 15
  16. 16. Понятия/практики (buzzwords)ATDD – Acceptance Test Driven DevelopmentBDD – Behavior Driven DevelopmentCI – Continuous IntegrationCD – Continuous Delivery @twincengray #atdays 16
  17. 17. «Топографический кретинизм» @twincengray #atdays 17
  18. 18. «Синдром серебряной пули» @twincengray #atdays 18
  19. 19. Полумеры - А, сто рублей, не спасут отцарусской демократии? @twincengray #atdays 19
  20. 20. Детские болезни @twincengray #atdays 20
  21. 21. ATDD: Непонимание чтотакое критерии приемки @twincengray #atdays 21
  22. 22. ATDD: Когда нужно BDD и наоборот @twincengray #atdays 22
  23. 23. ATDD: Критерии приемкипишутся не всей командой @twincengray #atdays 23
  24. 24. BDD: Cоставление GWT @twincengray #atdays 24
  25. 25. BDD: «Где упал мой тест?»D|DefaultListableBeanFactory |Returning cached instance of singleton bean org.springframework.context.annotation.internalAutowiredAnnotationProcessorD|DefaultListableBeanFactory |Returning cached instance of singleton bean org.springframework.context.annotation.internalRequiredAnnotationPro cessorD|DefaultListableBeanFactory |Returning cached instance of singleton bean org.springframework.context.annotation.internalCommonAnnotationProce ssorD|DefaultListableBeanFactory |Returning cached instance of singleton bean org.springframework.context.annotation.internalPersistenceAnnotationProcessorD|DefaultListableBeanFactory |Creating shared instance of singleton bean sendMailTextConfigD|DefaultListableBeanFactory |Creating instance of bean sendMailTextConfigD|InjectionMetadata |Found injected element on class [com.technorati.portal.service.SendMailTextConfig$$EnhancerByCGLIB$$33a64e76]:AutowiredFieldElement for private org.springframework.core.env.Environment com.technorati.portal.service.SendMailTextConfig.environmentD|DefaultListableBeanFactory |Eagerly caching bean sendMailTextConfig to allow for resolving potential circular referencesD|InjectionMetadata |Processing injected method of bean sendMailTextConfig: AutowiredFieldElement for privateorg.springframework.core.env.Environment com.technorati.portal.service.SendMailTextConfig.environmentD|DefaultListableBeanFactory |Returning cached instance of singleton bean environmentD|AutowiredAnnotationBeanPostProcessor |Autowiring by type from bean name sendMailTextConfig to bean named environmentD|DefaultListableBeanFactory |Finished creating instance of bean sendMailTextConfigD|DefaultListableBeanFactory |Returning cached instance of singleton beanorg.springframework.context.annotation.ConfigurationClassPostProcessor.importAwareProcessorD|DefaultListableBeanFactory |Creating shared instance of singleton bean sendMailServiceD|DefaultListableBeanFactory |Creating instance of bean sendMailServiceD|DefaultListableBeanFactory |Returning cached instance of singleton bean sendMailTextConfigD|DefaultListableBeanFactory |Creating shared instance of singleton bean freemarkerConfigurationD|DefaultListableBeanFactory |Creating instance of bean freemarkerConfigurationD|DefaultListableBeanFactory |Returning cached instance of singleton bean sendMailTextConfigD|DefaultListableBeanFactory |Eagerly caching bean freemarkerConfiguration to allow for resolving potential circular referencesD|DefaultListableBeanFactory |Finished creating instance of bean freemarkerConfigurationD|DefaultListableBeanFactory |Creating shared instance of singleton bean templatesMapD|DefaultListableBeanFactory |Creating instance of bean templatesMapD|DefaultListableBeanFactory |Returning cached instance of singleton bean sendMailTextConfigD|DefaultListableBeanFactory |Eagerly caching bean templatesMap to allow for resolving potential circular referencesD|DefaultListableBeanFactory |Finished creating instance of bean templatesMap 25D|DefaultListableBeanFactory |Creating shared instance of singleton bean mailSenderD|DefaultListableBeanFactory |Creating instance of bean mailSenderD|DefaultListableBeanFactory |Returning cached instance of singleton bean sendMailTextConfigD|DefaultListableBeanFactory |Eagerly caching bean mailSender to allow for resolving potential circular referencesD|DefaultListableBeanFactory |Finished creating instance of bean mailSenderD|InjectionMetadata |Found injected element on class [com.technorati.portal.service.SendMailService]: ResourceElement for private java.util.Mapcom.technorati.portal.service.SendMailService.templatesMapD|InjectionMetadata |Found injected element on class [com.technorati.portal.service.SendMailService]: AutowiredFieldElement for privateorg.springframework.mail.MailSender com.technorati.portal.service.SendMailService.mailSenderD|InjectionMetadata @twincengray #atdays |Found injected element on class [com.technorati.portal.service.SendMailService]: AutowiredFieldElement for privatefreemarker.template.Configuration com.technorati.portal.service.SendMailService.freemarkerConfigurationD|InjectionMetadata |Found injected element on class [com.technorati.portal.service.SendMailService]: AutowiredFieldElement for private java.lang.Stringcom.technorati.portal.service.SendMailService.emailFrom
  26. 26. BDD: Инструментальные проблемы @twincengray #atdays 26
  27. 27. CI @twincengray #atdays 27
  28. 28. CI: «Демократия» @twincengray #atdays 28
  29. 29. CD: Путанница Cont. deployment и CD @twincengray #atdays 29
  30. 30. CD @twincengray #atdays 30
  31. 31. CD: А где ваш Configuration Management? @twincengray #atdays 31
  32. 32. Технические риски @twincengray #atdays 32
  33. 33. Недостаток опыта по технологии @twincengray #atdays 33
  34. 34. Недостаток опыта в тестировании @twincengray #atdays 34
  35. 35. Избегание CI @twincengray #atdays 35
  36. 36. Тестирование на слишком высоком уровне End-to-end/GUI Integration Unit @twincengray #atdays 36
  37. 37. Отсутствие илинеполная регрессия @twincengray #atdays 37
  38. 38. ИтогиНачинать с начала«Серебряной пули» нетIndividuals and interactions…It’s all about the money @twincengray #atdays 38
  39. 39. Вопросы?@twincengray@ua_spring oleksiy.rezchykov@gmail.comSpringByExample.com.ua mcgray.com.ua @twincengray #atdays 39

×