Монолит для сотен версий клиентов: как мы пишем и поддерживаем тестыТестирование, нагрузочное тестирование
PHP-разработчик, несколько лет работает в отделе серверной разработки Badoo.
Активно занимается развитием тестовой инфраструктуры.
Разработчики в Badoo очень любят писать тесты. Без шуток, это действительно так. Сейчас у нашего бэкенда около 100 000 unit-тестов и около 20 000 интеграционных, и мы все еще недовольны покрытием!
В своем докладе я расскажу, как мы пришли к этой практике и почему. Поделюсь, как организован флоу разработки в Badoo, почему разработчикам важно самостоятельно писать тесты и как это отражается на личной ответственности за результат в целом.
Объясню, как нам удается разрабатывать и поддерживать такое количество тестов для монолитного бэкенда с легаси, обслуживающего сотни версий клиентов. С какими проблемами мы сталкивались и как их решали.
В рамках доклада мы рассмотрим весь арсенал инструментов, доступных разработчику для быстрого и удобного написания тестов:
- SoftMocks/DbMocks/RemoteMocks — наши библиотеки для моков, для чего они нужны и какие проблемы они помогают нам решить;
- пул тестовых пользователей;
- что такое QA API и как мы используем его в тестах;
- как мы считаем и используем code coverage;
- наше облако для запусков тестов, как работает и зачем нужно;