SlideShare a Scribd company logo
1 of 45
Download to read offline
Evgen Kuzmin
evgeniy.k@smart-gamma.com
Тестирование как панацея для жизни и
развития проекта
Евгений Кузьмин
Более 10 лет опыта в Web
Development, последние 2 года
специализация работы с live video
streaming технологиями, энтузиаст
авто-тестирования и Agile разработки,
DevOps, co-founder компании
Smart-Gamma.com
http://stackoverflow.com/users/3191577/evgeniy-kuzmin
https://github.com/Evgenas
https://www.facebook.com/evgen.kuzmin.1
Тестирование как панацея
https://www.facebook.com/Smart-Gamma-676596275810859/
https://medium.com/@smartgamma
Smart Gamma
Development
http://smart-gamma.com/
hr@smart-gamma.com
Kiev, Lviv, Uzhorod
А кому нужны эти авто-тесты?
Тестирование как панацея
Тестирование как панацея
Теория VS Практика
Тестирование как панацея
Symfony 2 backend
REST API
Android
IOS
Web
+
Camera SDK
Streaming libs
Тестирование как панацея
Готовность проекта на 90%
Тестирование как панацея
Есть программисты, которые сразу пишут легаси код
Тестирование как панацея
Что делать, чтоб 100%
выглядело именно так?
Тестирование как панацея
Отсутствие ТЗ
Отсутствие документации
Отсутствие тестов
Отсутствие спецификаций API
Отсутствие средств дебагинга
Наличие легаси багов
Тестирование как панацея
Let's do couple simple features
Тестирование как панацея
Development & refactoring
Тестирование как панацея
Тестирование как панацея
Обезопасить самого себя или доверяй только своим тестам
Тестирование как панацея
Первый тест PHPUnit – быстро
Тестирование как панацея
- PhpUnit наиболее быстрый путь
- Smoke тест на 200
- Тесты на совпадение Response
- Фича – тест
- Багфикс - тест
Тестирование как панацея
Необходимость в эталонных данных
Тестирование как панацея
Эталонные данные для тестов
1. Дамп с продакшенабеты
2. Фикстуры
- руками
- генератор фикстур из БД
https://github.com/smart-gamma/fixtures-generator
- кастомный конструктор
- AliceBundle
https://github.com/hautelook/AliceBundle
Тестирование как панацея
1. MyAppContactsAppBundleEntityGroup
2. DB Table
Smart Gamma Fixtures generator
$app/console ga:fi:gen "MyAppContactsAppBundleEntityGroup" --id="34"3.
Тестирование как панацея
Smart Gamma Fixtures generator output
Тестирование как панацея
Кастомный билдер фикстур
Тестирование как панацея
Кастомный билдер фикстур
Тестирование как панацея
Закулисные игры
Тестирование как панацея
Тестирование как панацея
Тестирование как панацея
Функциональное ТДД
Тестирование как панацея
Тестируем не только REST
Тестирование как панацея
- Проблема большинства проектов - отсутствие ТЗ и
документации. Лучший способ разобраться в коде - написать
для него тест! Т.е. тест, как инструмент изучения проекта.
- Тесты – путь к лучшей архитектуре
- Тесты – показатель зрелости проекта и разработчика
Тестирование как панацея
Модульное тестирование
Тестирование как панацея
100% coverage vs избирательное тестирование
Тестирование как панацея
- Помогает понимать всей команде один сценарий развития “фичи”
- Помогает говорить с Product Owner на одном языке
- Помогает продумать задачу до ее реализации
- Документирует проект (ТЗ как User Stories)
- Является критерием для тестирования
Behavior Driven Development
Тестирование как панацея
Planned Feature
Тестирование как панацея
Planned Scenario
Тестирование как панацея
Covered Scenario
Тестирование как панацея
Dev User Story
Тестирование как панацея
Тестирование как панацея
Continuous Integration
Тестирование как панацея
Jenkins
Тестирование как панацея
Debugging & logging
1. Стандартные логи:
- prod.log
- access.log
- error.log
2. реальный API flow
https://github.com/smart-gamma/gamma-api-logger
3. custom Capifony tail log commads:
http://capifony.org
- error.log
- prod.api.log
Тестирование как панацея
cap
symfony:api:tail
Тестирование как панацея
deploy.rb
Тестирование как панацея
Monolog channels
Тестирование как панацея
Тестирование как панацея
Поиск по логам
Тестирование как панацея

More Related Content

What's hot

Доклад Очира Абушинова на встрече клубе MSTC (17/05/2014)
Доклад Очира Абушинова на встрече клубе MSTC (17/05/2014)Доклад Очира Абушинова на встрече клубе MSTC (17/05/2014)
Доклад Очира Абушинова на встрече клубе MSTC (17/05/2014)Rina Uzhevko
 
Оценка проектов тестирования
Оценка проектов тестированияОценка проектов тестирования
Оценка проектов тестированияRina Uzhevko
 
Пользователи в помощь тестировщику
Пользователи в помощь тестировщикуПользователи в помощь тестировщику
Пользователи в помощь тестировщикуRina Uzhevko
 
Оптимизируем тест кейсы
Оптимизируем тест кейсыОптимизируем тест кейсы
Оптимизируем тест кейсыSQALab
 
Темная сторона метрик
Темная сторона метрикТемная сторона метрик
Темная сторона метрикRoman Ivliev
 
Промышленный подход к автоматизации тестирования или Keyword-driven testing в...
Промышленный подход к автоматизации тестирования или Keyword-driven testing в...Промышленный подход к автоматизации тестирования или Keyword-driven testing в...
Промышленный подход к автоматизации тестирования или Keyword-driven testing в...SQALab
 
Code review как средство обеспечения качества программного обеспечения
Code review как средство обеспечения качества программного обеспеченияCode review как средство обеспечения качества программного обеспечения
Code review как средство обеспечения качества программного обеспеченияSQALab
 
Правила хорошего тона для тестировщиков
Правила хорошего тона для тестировщиковПравила хорошего тона для тестировщиков
Правила хорошего тона для тестировщиковRina Uzhevko
 
ROCS 2 - advanced platform for automated test execution in clustered environm...
ROCS 2 - advanced platform for automated test execution in clustered environm...ROCS 2 - advanced platform for automated test execution in clustered environm...
ROCS 2 - advanced platform for automated test execution in clustered environm...Rina Uzhevko
 
Severity и Priority для неначинающих: очевидное и невероятное
Severity и Priority для неначинающих: очевидное и невероятноеSeverity и Priority для неначинающих: очевидное и невероятное
Severity и Priority для неначинающих: очевидное и невероятноеDeutsche Post
 
Советы бывалого тестировщика менеджеру проектов
Советы бывалого тестировщика менеджеру проектовСоветы бывалого тестировщика менеджеру проектов
Советы бывалого тестировщика менеджеру проектовSQALab
 
Код-ревью в Drupal
Код-ревью в DrupalКод-ревью в Drupal
Код-ревью в DrupalShvetsGroup
 
Crucible или почему для Code Review нужна не только голова, но и инструмент
Crucible или почему для Code Review нужна не только голова, но и инструментCrucible или почему для Code Review нужна не только голова, но и инструмент
Crucible или почему для Code Review нужна не только голова, но и инструментMaxim Kuzmich
 
Цели и их cвязь с KPI
Цели и их cвязь с KPIЦели и их cвязь с KPI
Цели и их cвязь с KPIRina Uzhevko
 
Автоматизация тестирования как сервис
Автоматизация тестирования как сервисАвтоматизация тестирования как сервис
Автоматизация тестирования как сервисautomated-testing.info
 
Eva Sokolyanskaya, QA Stand Up: Episode 4
Eva Sokolyanskaya, QA Stand Up: Episode 4Eva Sokolyanskaya, QA Stand Up: Episode 4
Eva Sokolyanskaya, QA Stand Up: Episode 4Provectus
 
Мир тестирования глазами джуниора
Мир тестирования глазами джуниораМир тестирования глазами джуниора
Мир тестирования глазами джуниораRina Uzhevko
 
Как перестать бояться и начать автоматизировать
Как перестать бояться и начать автоматизироватьКак перестать бояться и начать автоматизировать
Как перестать бояться и начать автоматизироватьSQALab
 
серёжа пономарёв @ Kuchyn.com.ua junior java developer программируем по-взро...
серёжа пономарёв @ Kuchyn.com.ua junior java developer  программируем по-взро...серёжа пономарёв @ Kuchyn.com.ua junior java developer  программируем по-взро...
серёжа пономарёв @ Kuchyn.com.ua junior java developer программируем по-взро...Sergey Ponomarev
 

What's hot (20)

Доклад Очира Абушинова на встрече клубе MSTC (17/05/2014)
Доклад Очира Абушинова на встрече клубе MSTC (17/05/2014)Доклад Очира Абушинова на встрече клубе MSTC (17/05/2014)
Доклад Очира Абушинова на встрече клубе MSTC (17/05/2014)
 
Оценка проектов тестирования
Оценка проектов тестированияОценка проектов тестирования
Оценка проектов тестирования
 
Пользователи в помощь тестировщику
Пользователи в помощь тестировщикуПользователи в помощь тестировщику
Пользователи в помощь тестировщику
 
Оптимизируем тест кейсы
Оптимизируем тест кейсыОптимизируем тест кейсы
Оптимизируем тест кейсы
 
Темная сторона метрик
Темная сторона метрикТемная сторона метрик
Темная сторона метрик
 
Промышленный подход к автоматизации тестирования или Keyword-driven testing в...
Промышленный подход к автоматизации тестирования или Keyword-driven testing в...Промышленный подход к автоматизации тестирования или Keyword-driven testing в...
Промышленный подход к автоматизации тестирования или Keyword-driven testing в...
 
Code review как средство обеспечения качества программного обеспечения
Code review как средство обеспечения качества программного обеспеченияCode review как средство обеспечения качества программного обеспечения
Code review как средство обеспечения качества программного обеспечения
 
Правила хорошего тона для тестировщиков
Правила хорошего тона для тестировщиковПравила хорошего тона для тестировщиков
Правила хорошего тона для тестировщиков
 
ROCS 2 - advanced platform for automated test execution in clustered environm...
ROCS 2 - advanced platform for automated test execution in clustered environm...ROCS 2 - advanced platform for automated test execution in clustered environm...
ROCS 2 - advanced platform for automated test execution in clustered environm...
 
Severity и Priority для неначинающих: очевидное и невероятное
Severity и Priority для неначинающих: очевидное и невероятноеSeverity и Priority для неначинающих: очевидное и невероятное
Severity и Priority для неначинающих: очевидное и невероятное
 
Советы бывалого тестировщика менеджеру проектов
Советы бывалого тестировщика менеджеру проектовСоветы бывалого тестировщика менеджеру проектов
Советы бывалого тестировщика менеджеру проектов
 
Код-ревью в Drupal
Код-ревью в DrupalКод-ревью в Drupal
Код-ревью в Drupal
 
Crucible или почему для Code Review нужна не только голова, но и инструмент
Crucible или почему для Code Review нужна не только голова, но и инструментCrucible или почему для Code Review нужна не только голова, но и инструмент
Crucible или почему для Code Review нужна не только голова, но и инструмент
 
Цели и их cвязь с KPI
Цели и их cвязь с KPIЦели и их cвязь с KPI
Цели и их cвязь с KPI
 
Tdd from the middle
Tdd from the middleTdd from the middle
Tdd from the middle
 
Автоматизация тестирования как сервис
Автоматизация тестирования как сервисАвтоматизация тестирования как сервис
Автоматизация тестирования как сервис
 
Eva Sokolyanskaya, QA Stand Up: Episode 4
Eva Sokolyanskaya, QA Stand Up: Episode 4Eva Sokolyanskaya, QA Stand Up: Episode 4
Eva Sokolyanskaya, QA Stand Up: Episode 4
 
Мир тестирования глазами джуниора
Мир тестирования глазами джуниораМир тестирования глазами джуниора
Мир тестирования глазами джуниора
 
Как перестать бояться и начать автоматизировать
Как перестать бояться и начать автоматизироватьКак перестать бояться и начать автоматизировать
Как перестать бояться и начать автоматизировать
 
серёжа пономарёв @ Kuchyn.com.ua junior java developer программируем по-взро...
серёжа пономарёв @ Kuchyn.com.ua junior java developer  программируем по-взро...серёжа пономарёв @ Kuchyn.com.ua junior java developer  программируем по-взро...
серёжа пономарёв @ Kuchyn.com.ua junior java developer программируем по-взро...
 

Viewers also liked

Viewers also liked (10)

Rousseau reading
Rousseau readingRousseau reading
Rousseau reading
 
Resume FLAVIO
Resume FLAVIOResume FLAVIO
Resume FLAVIO
 
Epistemologia
Epistemologia Epistemologia
Epistemologia
 
Apresentação sebstiana mestrado
Apresentação  sebstiana mestradoApresentação  sebstiana mestrado
Apresentação sebstiana mestrado
 
전경은바리스타
전경은바리스타전경은바리스타
전경은바리스타
 
Portfólio Bárbara Gallindo - Redatora
Portfólio Bárbara Gallindo - RedatoraPortfólio Bárbara Gallindo - Redatora
Portfólio Bárbara Gallindo - Redatora
 
24 al 29 de septiembre de 2012 b
24 al 29 de septiembre de 2012 b24 al 29 de septiembre de 2012 b
24 al 29 de septiembre de 2012 b
 
HESA Mobility data summary 2014_3
HESA Mobility data summary 2014_3HESA Mobility data summary 2014_3
HESA Mobility data summary 2014_3
 
05 sensores atuadores (1)
05 sensores atuadores (1)05 sensores atuadores (1)
05 sensores atuadores (1)
 
Vol 07 [miles davis]
Vol 07   [miles davis]Vol 07   [miles davis]
Vol 07 [miles davis]
 

Similar to Тестирование как панацея для жизни и развития проекта

Разработка бизнес приложений (3)
Разработка бизнес приложений (3)Разработка бизнес приложений (3)
Разработка бизнес приложений (3)Alexander Gornik
 
Виды QA: Всё что вы не знали и боялись спростить
Виды QA: Всё что вы не знали и боялись спроститьВиды QA: Всё что вы не знали и боялись спростить
Виды QA: Всё что вы не знали и боялись спроститьGoIT
 
Внедрение тестирования в Scrum
Внедрение тестирования в ScrumВнедрение тестирования в Scrum
Внедрение тестирования в ScrumDenis Petelin
 
Внедрение тестирования в Scrum
Внедрение тестирования в ScrumВнедрение тестирования в Scrum
Внедрение тестирования в ScrumDenis Petelin
 
Роман Кокин «Организация тестирования в больших командах»
Роман Кокин «Организация тестирования в больших командах»Роман Кокин «Организация тестирования в больших командах»
Роман Кокин «Организация тестирования в больших командах»DataArt
 
QA Fest 2018. Анастасия Асеева. Shift-Left Testing
QA Fest 2018. Анастасия Асеева. Shift-Left TestingQA Fest 2018. Анастасия Асеева. Shift-Left Testing
QA Fest 2018. Анастасия Асеева. Shift-Left TestingQAFest
 
QA Fes 2016. Анастасия Асеева. Роль тестирования в Devops
QA Fes 2016. Анастасия Асеева. Роль тестирования в DevopsQA Fes 2016. Анастасия Асеева. Роль тестирования в Devops
QA Fes 2016. Анастасия Асеева. Роль тестирования в DevopsQAFest
 
Эволюция экосистем тестирования
Эволюция экосистем тестированияЭволюция экосистем тестирования
Эволюция экосистем тестированияGleb Rybalko
 
ClubQA #2. Unit testing and TDD
ClubQA #2. Unit testing and TDDClubQA #2. Unit testing and TDD
ClubQA #2. Unit testing and TDDClub QA Kostroma
 
Unit testing and TDD
Unit testing and TDDUnit testing and TDD
Unit testing and TDDIosif Itkin
 
Дмитрий Лукьяненко: Первый фреймворк на Selenium + TestNG
Дмитрий Лукьяненко: Первый фреймворк на Selenium + TestNGДмитрий Лукьяненко: Первый фреймворк на Selenium + TestNG
Дмитрий Лукьяненко: Первый фреймворк на Selenium + TestNGDataArt
 
Sef Streluk Agile
Sef Streluk AgileSef Streluk Agile
Sef Streluk Agilesef2009
 
Постановка процесса тестирования в Agile
Постановка процесса тестирования в AgileПостановка процесса тестирования в Agile
Постановка процесса тестирования в AgileSQALab
 
Тестирование в диджитал проектах
Тестирование в диджитал проектахТестирование в диджитал проектах
Тестирование в диджитал проектахАндрей Медведев
 
Continious integration-Automated Testing-Solid-Agile
Continious integration-Automated Testing-Solid-AgileContinious integration-Automated Testing-Solid-Agile
Continious integration-Automated Testing-Solid-AgileKairat Yussupov
 

Similar to Тестирование как панацея для жизни и развития проекта (20)

Разработка бизнес приложений (3)
Разработка бизнес приложений (3)Разработка бизнес приложений (3)
Разработка бизнес приложений (3)
 
Виды QA: Всё что вы не знали и боялись спростить
Виды QA: Всё что вы не знали и боялись спроститьВиды QA: Всё что вы не знали и боялись спростить
Виды QA: Всё что вы не знали и боялись спростить
 
Внедрение тестирования в Scrum
Внедрение тестирования в ScrumВнедрение тестирования в Scrum
Внедрение тестирования в Scrum
 
Внедрение тестирования в Scrum
Внедрение тестирования в ScrumВнедрение тестирования в Scrum
Внедрение тестирования в Scrum
 
Agile testing
Agile testingAgile testing
Agile testing
 
Роман Кокин «Организация тестирования в больших командах»
Роман Кокин «Организация тестирования в больших командах»Роман Кокин «Организация тестирования в больших командах»
Роман Кокин «Организация тестирования в больших командах»
 
10_tips_for_become_qa
10_tips_for_become_qa10_tips_for_become_qa
10_tips_for_become_qa
 
QA Fest 2018. Анастасия Асеева. Shift-Left Testing
QA Fest 2018. Анастасия Асеева. Shift-Left TestingQA Fest 2018. Анастасия Асеева. Shift-Left Testing
QA Fest 2018. Анастасия Асеева. Shift-Left Testing
 
QA Fes 2016. Анастасия Асеева. Роль тестирования в Devops
QA Fes 2016. Анастасия Асеева. Роль тестирования в DevopsQA Fes 2016. Анастасия Асеева. Роль тестирования в Devops
QA Fes 2016. Анастасия Асеева. Роль тестирования в Devops
 
QAFest. Роль тестирования в Devops
QAFest. Роль тестирования в DevopsQAFest. Роль тестирования в Devops
QAFest. Роль тестирования в Devops
 
Qt tool evaluation
Qt tool evaluationQt tool evaluation
Qt tool evaluation
 
Agile & .net
Agile & .netAgile & .net
Agile & .net
 
Эволюция экосистем тестирования
Эволюция экосистем тестированияЭволюция экосистем тестирования
Эволюция экосистем тестирования
 
ClubQA #2. Unit testing and TDD
ClubQA #2. Unit testing and TDDClubQA #2. Unit testing and TDD
ClubQA #2. Unit testing and TDD
 
Unit testing and TDD
Unit testing and TDDUnit testing and TDD
Unit testing and TDD
 
Дмитрий Лукьяненко: Первый фреймворк на Selenium + TestNG
Дмитрий Лукьяненко: Первый фреймворк на Selenium + TestNGДмитрий Лукьяненко: Первый фреймворк на Selenium + TestNG
Дмитрий Лукьяненко: Первый фреймворк на Selenium + TestNG
 
Sef Streluk Agile
Sef Streluk AgileSef Streluk Agile
Sef Streluk Agile
 
Постановка процесса тестирования в Agile
Постановка процесса тестирования в AgileПостановка процесса тестирования в Agile
Постановка процесса тестирования в Agile
 
Тестирование в диджитал проектах
Тестирование в диджитал проектахТестирование в диджитал проектах
Тестирование в диджитал проектах
 
Continious integration-Automated Testing-Solid-Agile
Continious integration-Automated Testing-Solid-AgileContinious integration-Automated Testing-Solid-Agile
Continious integration-Automated Testing-Solid-Agile
 

More from Evgeniy Kuzmin

Continuous integration / continuous delivery of web applications, Eugen Kuzmi...
Continuous integration / continuous delivery of web applications, Eugen Kuzmi...Continuous integration / continuous delivery of web applications, Eugen Kuzmi...
Continuous integration / continuous delivery of web applications, Eugen Kuzmi...Evgeniy Kuzmin
 
MongoDB - About Performance Optimization, Ivan Griga - Smart Gamma
MongoDB - About Performance Optimization, Ivan Griga - Smart GammaMongoDB - About Performance Optimization, Ivan Griga - Smart Gamma
MongoDB - About Performance Optimization, Ivan Griga - Smart GammaEvgeniy Kuzmin
 
Contract testing. Isolated testing of microservices with pact.io - Evgeniy Ku...
Contract testing. Isolated testing of microservices with pact.io - Evgeniy Ku...Contract testing. Isolated testing of microservices with pact.io - Evgeniy Ku...
Contract testing. Isolated testing of microservices with pact.io - Evgeniy Ku...Evgeniy Kuzmin
 
Contract testing - isolated testing of microservices - Symfony Camp 2018, Evg...
Contract testing - isolated testing of microservices - Symfony Camp 2018, Evg...Contract testing - isolated testing of microservices - Symfony Camp 2018, Evg...
Contract testing - isolated testing of microservices - Symfony Camp 2018, Evg...Evgeniy Kuzmin
 
Continuous Integration/ Continuous Delivery of web applications
Continuous Integration/ Continuous Delivery of web applicationsContinuous Integration/ Continuous Delivery of web applications
Continuous Integration/ Continuous Delivery of web applicationsEvgeniy Kuzmin
 
Спасение через тестирование - история одного проекта
Спасение через тестирование - история одного проектаСпасение через тестирование - история одного проекта
Спасение через тестирование - история одного проектаEvgeniy Kuzmin
 
Behaivior Driven Development - from the tests to the business logic in a sing...
Behaivior Driven Development - from the tests to the business logic in a sing...Behaivior Driven Development - from the tests to the business logic in a sing...
Behaivior Driven Development - from the tests to the business logic in a sing...Evgeniy Kuzmin
 
Smart Gamma - Real-Time Web applications with PHP and Websocket.
Smart Gamma - Real-Time Web applications with PHP and Websocket.Smart Gamma - Real-Time Web applications with PHP and Websocket.
Smart Gamma - Real-Time Web applications with PHP and Websocket.Evgeniy Kuzmin
 

More from Evgeniy Kuzmin (8)

Continuous integration / continuous delivery of web applications, Eugen Kuzmi...
Continuous integration / continuous delivery of web applications, Eugen Kuzmi...Continuous integration / continuous delivery of web applications, Eugen Kuzmi...
Continuous integration / continuous delivery of web applications, Eugen Kuzmi...
 
MongoDB - About Performance Optimization, Ivan Griga - Smart Gamma
MongoDB - About Performance Optimization, Ivan Griga - Smart GammaMongoDB - About Performance Optimization, Ivan Griga - Smart Gamma
MongoDB - About Performance Optimization, Ivan Griga - Smart Gamma
 
Contract testing. Isolated testing of microservices with pact.io - Evgeniy Ku...
Contract testing. Isolated testing of microservices with pact.io - Evgeniy Ku...Contract testing. Isolated testing of microservices with pact.io - Evgeniy Ku...
Contract testing. Isolated testing of microservices with pact.io - Evgeniy Ku...
 
Contract testing - isolated testing of microservices - Symfony Camp 2018, Evg...
Contract testing - isolated testing of microservices - Symfony Camp 2018, Evg...Contract testing - isolated testing of microservices - Symfony Camp 2018, Evg...
Contract testing - isolated testing of microservices - Symfony Camp 2018, Evg...
 
Continuous Integration/ Continuous Delivery of web applications
Continuous Integration/ Continuous Delivery of web applicationsContinuous Integration/ Continuous Delivery of web applications
Continuous Integration/ Continuous Delivery of web applications
 
Спасение через тестирование - история одного проекта
Спасение через тестирование - история одного проектаСпасение через тестирование - история одного проекта
Спасение через тестирование - история одного проекта
 
Behaivior Driven Development - from the tests to the business logic in a sing...
Behaivior Driven Development - from the tests to the business logic in a sing...Behaivior Driven Development - from the tests to the business logic in a sing...
Behaivior Driven Development - from the tests to the business logic in a sing...
 
Smart Gamma - Real-Time Web applications with PHP and Websocket.
Smart Gamma - Real-Time Web applications with PHP and Websocket.Smart Gamma - Real-Time Web applications with PHP and Websocket.
Smart Gamma - Real-Time Web applications with PHP and Websocket.
 

Тестирование как панацея для жизни и развития проекта