43
Эволюция php code coverage в Badoo Илья Агеев

Эволюция php code coverage в Badoo. Доклад Ильи Агеева на LoveQA РИТ

Embed Size (px)

Citation preview

Page 1: Эволюция php code coverage в Badoo. Доклад Ильи Агеева на LoveQA РИТ

Эволюция php code coverage в Badoo

Илья Агеев

Page 2: Эволюция php code coverage в Badoo. Доклад Ильи Агеева на LoveQA РИТ

Badoo

● ~250 миллионов пользователей● ~40 тысяч RPS● >60 тысяч файлов● ~1 миллион строк кода● ~53 тысячи тестов

Page 3: Эволюция php code coverage в Badoo. Доклад Ильи Агеева на LoveQA РИТ
Page 4: Эволюция php code coverage в Badoo. Доклад Ильи Агеева на LoveQA РИТ

2011 год

Page 5: Эволюция php code coverage в Badoo. Доклад Ильи Агеева на LoveQA РИТ

2011 год

Page 6: Эволюция php code coverage в Badoo. Доклад Ильи Агеева на LoveQA РИТ

2011 год

Page 7: Эволюция php code coverage в Badoo. Доклад Ильи Агеева на LoveQA РИТ

2011 год

Page 8: Эволюция php code coverage в Badoo. Доклад Ильи Агеева на LoveQA РИТ

2011 год

Page 9: Эволюция php code coverage в Badoo. Доклад Ильи Агеева на LoveQA РИТ

2011 год

● ~34 тысячи файлов в репозитории● 250 тестов● php, phpunit, runkit

Page 10: Эволюция php code coverage в Badoo. Доклад Ильи Агеева на LoveQA РИТ
Page 11: Эволюция php code coverage в Badoo. Доклад Ильи Агеева на LoveQA РИТ

2012 год

Page 12: Эволюция php code coverage в Badoo. Доклад Ильи Агеева на LoveQA РИТ
Page 13: Эволюция php code coverage в Badoo. Доклад Ильи Агеева на LoveQA РИТ

2013 год

● ~43 тысячи файлов в репозитории● ~17 тысяч тестов

2011

2013

2011

2013

Page 14: Эволюция php code coverage в Badoo. Доклад Ильи Агеева на LoveQA РИТ

habrahabr

2013 год

Page 15: Эволюция php code coverage в Badoo. Доклад Ильи Агеева на LoveQA РИТ

2013 год

● xebug (http://xdebug.org/)● phpcov (https://github.com/sebastianbergmann/phpcov)● <2GB данных покрытия● ~70 часов выполнения (!)

Page 16: Эволюция php code coverage в Badoo. Доклад Ильи Агеева на LoveQA РИТ

worker worker worker worker worker worker worker worker

cov cov cov cov cov cov cov cov

2GB raw coverage data

merge

HTML coverage information

Page 17: Эволюция php code coverage в Badoo. Доклад Ильи Агеева на LoveQA РИТ

serialize / unserialize -> var_export / include = 2,5 часа

Page 18: Эволюция php code coverage в Badoo. Доклад Ильи Агеева на LoveQA РИТ

2013 год

habrahabr

Page 19: Эволюция php code coverage в Badoo. Доклад Ильи Агеева на LoveQA РИТ

2013 год

● ~49 тысяч файлов в репозитории● ~27 тысяч тестов

2011

2013 - начало

2013 - конец

2011

2013 - начало

2013 - конец

Page 20: Эволюция php code coverage в Badoo. Доклад Ильи Агеева на LoveQA РИТ

2013 год

runkit

Page 21: Эволюция php code coverage в Badoo. Доклад Ильи Агеева на LoveQA РИТ

2013 год

Page 22: Эволюция php code coverage в Badoo. Доклад Ильи Агеева на LoveQA РИТ

2013 год

addconf

Page 24: Эволюция php code coverage в Badoo. Доклад Ильи Агеева на LoveQA РИТ
Page 25: Эволюция php code coverage в Badoo. Доклад Ильи Агеева на LoveQA РИТ

2014 год

Page 26: Эволюция php code coverage в Badoo. Доклад Ильи Агеева на LoveQA РИТ

2014 год

Page 27: Эволюция php code coverage в Badoo. Доклад Ильи Агеева на LoveQA РИТ

2014 год

Page 28: Эволюция php code coverage в Badoo. Доклад Ильи Агеева на LoveQA РИТ

2014 год

● ~56 тысяч файлов в репозитории● ~40 тысяч тестов

20112013 - начало

2013 - конец2014

20112013 - начало

2013 - конец2014

Page 29: Эволюция php code coverage в Badoo. Доклад Ильи Агеева на LoveQA РИТ

2014 год

Page 30: Эволюция php code coverage в Badoo. Доклад Ильи Агеева на LoveQA РИТ

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

Page 31: Эволюция php code coverage в Badoo. Доклад Ильи Агеева на LoveQA РИТ
Page 32: Эволюция php code coverage в Badoo. Доклад Ильи Агеева на LoveQA РИТ

2015 год

Page 33: Эволюция php code coverage в Badoo. Доклад Ильи Агеева на LoveQA РИТ

worker worker worker worker worker worker worker worker

DB

HTML coverage information

Page 34: Эволюция php code coverage в Badoo. Доклад Ильи Агеева на LoveQA РИТ

2015 год

● Время сборки 30-50 минут● Текущее покрытие 38%

Page 35: Эволюция php code coverage в Badoo. Доклад Ильи Агеева на LoveQA РИТ

2015 год

Page 36: Эволюция php code coverage в Badoo. Доклад Ильи Агеева на LoveQA РИТ

2015 год

Page 37: Эволюция php code coverage в Badoo. Доклад Ильи Агеева на LoveQA РИТ

2015 год

Page 38: Эволюция php code coverage в Badoo. Доклад Ильи Агеева на LoveQA РИТ

2015 год

● >60 тысяч файлов в репозитории● ~53 тысячи тестов

20112013 - начало

2013 - конец2014

2015 - начало

20112013 - начало

2013 - конец2014

2015 - начало

Page 39: Эволюция php code coverage в Badoo. Доклад Ильи Агеева на LoveQA РИТ

2015 год

Page 40: Эволюция php code coverage в Badoo. Доклад Ильи Агеева на LoveQA РИТ

2015 год

Page 41: Эволюция php code coverage в Badoo. Доклад Ильи Агеева на LoveQA РИТ

2015 год

Page 42: Эволюция php code coverage в Badoo. Доклад Ильи Агеева на LoveQA РИТ

2015 год

● Покрытие для каждой задачи● Уменьшение съюитов для задач● Open source● ???● PROFIT

Page 43: Эволюция php code coverage в Badoo. Доклад Ильи Агеева на LoveQA РИТ

Вопросы?

Илья АгеевHead of QABadoo