Upload
badoo-development
View
46
Download
4
Embed Size (px)
Citation preview
Эволюция php code coverage в Badoo
Илья Агеев
Badoo
● ~250 миллионов пользователей● ~40 тысяч RPS● >60 тысяч файлов● ~1 миллион строк кода● ~53 тысячи тестов
2011 год
2011 год
2011 год
2011 год
2011 год
2011 год
● ~34 тысячи файлов в репозитории● 250 тестов● php, phpunit, runkit
2012 год
2013 год
● ~43 тысячи файлов в репозитории● ~17 тысяч тестов
2011
2013
2011
2013
2013 год
● xebug (http://xdebug.org/)● phpcov (https://github.com/sebastianbergmann/phpcov)● <2GB данных покрытия● ~70 часов выполнения (!)
worker worker worker worker worker worker worker worker
cov cov cov cov cov cov cov cov
2GB raw coverage data
merge
HTML coverage information
serialize / unserialize -> var_export / include = 2,5 часа
2013 год
● ~49 тысяч файлов в репозитории● ~27 тысяч тестов
2011
2013 - начало
2013 - конец
2011
2013 - начало
2013 - конец
2013 год
runkit
2013 год
2013 - 2014 год
vimeo habrahabr
2014 год
2014 год
2014 год
2014 год
● ~56 тысяч файлов в репозитории● ~40 тысяч тестов
20112013 - начало
2013 - конец2014
20112013 - начало
2013 - конец2014
2014 год
2014 годcoverage
server
w w w w w w w w
c c c c c c c c
2GB raw data
merge
HTML coverage information
regular tests
10h 2m
2015 год
worker worker worker worker worker worker worker worker
DB
HTML coverage information
2015 год
● Время сборки 30-50 минут● Текущее покрытие 38%
2015 год
2015 год
2015 год
2015 год
● >60 тысяч файлов в репозитории● ~53 тысячи тестов
20112013 - начало
2013 - конец2014
2015 - начало
20112013 - начало
2013 - конец2014
2015 - начало
2015 год
2015 год
2015 год
2015 год
● Покрытие для каждой задачи● Уменьшение съюитов для задач● Open source● ???● PROFIT
Вопросы?
Илья АгеевHead of QABadoo