Diese Präsentation wurde erfolgreich gemeldet.
Wir verwenden Ihre LinkedIn Profilangaben und Informationen zu Ihren Aktivitäten, um Anzeigen zu personalisieren und Ihnen relevantere Inhalte anzuzeigen. Sie können Ihre Anzeigeneinstellungen jederzeit ändern.
Evgen Kuzmin
evgeniy.k@smart-gamma.com
Тестирование как панацея для жизни и
развития проекта
Евгений Кузьмин
Более 10 лет опыта в Web
Development, последние 2 года
специализация работы с live video
streaming техноло...
https://www.facebook.com/Smart-Gamma-676596275810859/
https://medium.com/@smartgamma
Smart Gamma
Development
http://smart-...
А кому нужны эти авто-тесты?
Тестирование как панацея
Тестирование как панацея
Теория 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. Фикстуры
- руками
- генератор фикстур из ...
Тестирование как панацея
1. MyAppContactsAppBundleEntityGroup
2. DB Table
Smart Gamma Fixtures generator
$app/console ga:f...
Тестирование как панацея
Smart Gamma Fixtures generator output
Тестирование как панацея
Кастомный билдер фикстур
Тестирование как панацея
Кастомный билдер фикстур
Тестирование как панацея
Закулисные игры
Тестирование как панацея
Тестирование как панацея
Тестирование как панацея
Функциональное ТДД
Тестирование как панацея
Тестируем не только REST
Тестирование как панацея
- Проблема большинства проектов - отсутствие ТЗ и
документации. Лучший способ разобраться в коде ...
Тестирование как панацея
Модульное тестирование
Тестирование как панацея
100% coverage vs избирательное тестирование
Тестирование как панацея
- Помогает понимать всей команде один сценарий развития “фичи”
- Помогает говорить с Product Owne...
Тестирование как панацея
Planned Feature
Тестирование как панацея
Planned Scenario
Тестирование как панацея
Covered Scenario
Тестирование как панацея
Dev User Story
Тестирование как панацея
Тестирование как панацея
Continuous Integration
Тестирование как панацея
Jenkins
Тестирование как панацея
Debugging & logging
1. Стандартные логи:
- prod.log
- access.log
- error.log
2. реальный API flow...
Тестирование как панацея
cap
symfony:api:tail
Тестирование как панацея
deploy.rb
Тестирование как панацея
Monolog channels
Тестирование как панацея
Тестирование как панацея
Поиск по логам
Тестирование как панацея
Nächste SlideShare
Wird geladen in …5
×

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

553 Aufrufe

Veröffentlicht am

Symfony Camp 2016 #sfcamua

Veröffentlicht in: Software
  • Als Erste(r) kommentieren

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

  1. 1. Evgen Kuzmin evgeniy.k@smart-gamma.com Тестирование как панацея для жизни и развития проекта
  2. 2. Евгений Кузьмин Более 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 Тестирование как панацея
  3. 3. 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
  4. 4. А кому нужны эти авто-тесты? Тестирование как панацея
  5. 5. Тестирование как панацея Теория VS Практика
  6. 6. Тестирование как панацея Symfony 2 backend REST API Android IOS Web + Camera SDK Streaming libs
  7. 7. Тестирование как панацея Готовность проекта на 90%
  8. 8. Тестирование как панацея Есть программисты, которые сразу пишут легаси код
  9. 9. Тестирование как панацея Что делать, чтоб 100% выглядело именно так?
  10. 10. Тестирование как панацея Отсутствие ТЗ Отсутствие документации Отсутствие тестов Отсутствие спецификаций API Отсутствие средств дебагинга Наличие легаси багов
  11. 11. Тестирование как панацея Let's do couple simple features
  12. 12. Тестирование как панацея Development & refactoring
  13. 13. Тестирование как панацея
  14. 14. Тестирование как панацея Обезопасить самого себя или доверяй только своим тестам
  15. 15. Тестирование как панацея Первый тест PHPUnit – быстро
  16. 16. Тестирование как панацея - PhpUnit наиболее быстрый путь - Smoke тест на 200 - Тесты на совпадение Response - Фича – тест - Багфикс - тест
  17. 17. Тестирование как панацея Необходимость в эталонных данных
  18. 18. Тестирование как панацея Эталонные данные для тестов 1. Дамп с продакшенабеты 2. Фикстуры - руками - генератор фикстур из БД https://github.com/smart-gamma/fixtures-generator - кастомный конструктор - AliceBundle https://github.com/hautelook/AliceBundle
  19. 19. Тестирование как панацея 1. MyAppContactsAppBundleEntityGroup 2. DB Table Smart Gamma Fixtures generator $app/console ga:fi:gen "MyAppContactsAppBundleEntityGroup" --id="34"3.
  20. 20. Тестирование как панацея Smart Gamma Fixtures generator output
  21. 21. Тестирование как панацея Кастомный билдер фикстур
  22. 22. Тестирование как панацея Кастомный билдер фикстур
  23. 23. Тестирование как панацея Закулисные игры
  24. 24. Тестирование как панацея
  25. 25. Тестирование как панацея
  26. 26. Тестирование как панацея Функциональное ТДД
  27. 27. Тестирование как панацея Тестируем не только REST
  28. 28. Тестирование как панацея - Проблема большинства проектов - отсутствие ТЗ и документации. Лучший способ разобраться в коде - написать для него тест! Т.е. тест, как инструмент изучения проекта. - Тесты – путь к лучшей архитектуре - Тесты – показатель зрелости проекта и разработчика
  29. 29. Тестирование как панацея Модульное тестирование
  30. 30. Тестирование как панацея 100% coverage vs избирательное тестирование
  31. 31. Тестирование как панацея - Помогает понимать всей команде один сценарий развития “фичи” - Помогает говорить с Product Owner на одном языке - Помогает продумать задачу до ее реализации - Документирует проект (ТЗ как User Stories) - Является критерием для тестирования Behavior Driven Development
  32. 32. Тестирование как панацея Planned Feature
  33. 33. Тестирование как панацея Planned Scenario
  34. 34. Тестирование как панацея Covered Scenario
  35. 35. Тестирование как панацея Dev User Story
  36. 36. Тестирование как панацея
  37. 37. Тестирование как панацея Continuous Integration
  38. 38. Тестирование как панацея Jenkins
  39. 39. Тестирование как панацея 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
  40. 40. Тестирование как панацея cap symfony:api:tail
  41. 41. Тестирование как панацея deploy.rb
  42. 42. Тестирование как панацея Monolog channels
  43. 43. Тестирование как панацея
  44. 44. Тестирование как панацея Поиск по логам
  45. 45. Тестирование как панацея

×