Upload
evgeniy-kuzmin
View
243
Download
0
Embed Size (px)
Citation preview
Evgen [email protected]
Тестирование как панацея для жизни и развития проекта
Евгений Кузьмин
Более 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 GammaDevelopment
http://smart-gamma.com/
[email protected], Lviv, Uzhorod
Тестирование как панацея
Отсутствие ТЗОтсутствие документацииОтсутствие тестовОтсутствие спецификаций APIОтсутствие средств дебагингаНаличие легаси багов
Тестирование как панацея
- PhpUnit наиболее быстрый путь- Smoke тест на 200- Тесты на совпадение Response- Фича – тест- Багфикс - тест
Тестирование как панацея
Эталонные данные для тестов
1. Дамп с продакшена\беты2. Фикстуры
- руками
- генератор фикстур из БД https://github.com/smart-gamma/fixtures-generator
- кастомный конструктор
- AliceBundle https://github.com/hautelook/AliceBundle
Тестирование как панацея
1. MyApp\ContactsAppBundle\Entity\Group2. DB Table
Smart Gamma Fixtures generator
$app/console ga:fi:gen "MyApp\ContactsAppBundle\Entity\Group" --id="34"3.
Тестирование как панацея
- Проблема большинства проектов - отсутствие ТЗ и документации. Лучший способ разобраться в коде - написать для него тест! Т.е. тест, как инструмент изучения проекта.
- Тесты – путь к лучшей архитектуре
- Тесты – показатель зрелости проекта и разработчика
Тестирование как панацея
- Помогает понимать всей команде один сценарий развития “фичи”- Помогает говорить с Product Owner на одном языке- Помогает продумать задачу до ее реализации- Документирует проект (ТЗ как User Stories)- Является критерием для тестирования
Behavior Driven Development
Тестирование как панацея
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