Как стать автором
Обновить
7
0
Карпов Константин @tr0mb

Пользователь

Отправить сообщение
Отвечу про интеграционные тесты.
У нас есть devel окружение, на котором постоянно гоняются функциональные (веб, мобайл) тесты. Новые версии демонов заливаются на devel и становится сразу понятно сломана интеграция или нет — в случае чего начнут падать тесты.
Если интересен процесс «разработка\тестирование», то он ничем не отличается от любого другого демона — можно подсмотреть в статье https://habrahabr.ru/company/badoo/blog/254087/.
Номер пика может не соответствовать значимости героя в игре. В команде условно есть 5 позиций — 1,2,..5. 1-я считается самой важной. Т.е. одна команда может первым пикнуть героя для первой позиции, а ее противники — для пятой. Тогда конечно сравнение уровней героев первой и пятой позиции не принесет много пользы. Т.е. тут нужно сравнивать героев на одной позиции, а не по номеру пика.
Что понимается под порядком героев? Если порядок пика, то очень даже важен — если герой пикнут в начале, то скорее всего против него выберут какого-либо контргероя или забанят очень хорошую связку.
да, проблема действительно в этом. Из-за некоторых технических особенностей, кунг-фу с register_shudown_function не работает.
Кстати, был не прав насчет больших интеграционных тестов — коллеги подсказывают, что отдел веб-тестирования имеет такие тесты и использует.
Когда я говорил про фатальные ошибки, я имел в виду ошибки самих тестов — т.е. там где логика становится неправильной и php вызывает фатал. А так как все временные файлы чистятся и демон останавливается в деструкторах тестов, то при фатале все это не вызывается.
Нет таких тестов у нас нет, имхо, сложность построения не окупится.
Статья является обзором всего процесса, поэтому технические детали были опущены. Скажите, что вам было бы интересней всего услышать в следующих статьях, а мы постараемся удовлетворить ваше любопытство.
Если кратко — прогоняется регрессия, проверяется новое поведение и пишутся тесты, выкладывается на devel, и, если все хорошо, отправляется на продакшен. Процесс выкладки немного описал выше в комментариях.
Внутренне версирование есть.
Вы правы, сам процесс имеет много чего, что можно встретить при разработке других продуктов — git, jira и т.д. Специфика, как обычно, в деталях — как мы собираем демоны, артефакты и как выкладываем, тестируем.
Про виртуальные машины мы думали, но до недавнего времени мощностей для повсеместного внедрения в процесс не было. Сейчас мы ориентированы на использование docker-контейнеров — эксперименты уже проведены, результаты нам понравились и по-тихоньку начинаем использовать их в тестах.
Для того, чтобы полноценно проверить производительность демона нужно дать нагрузку, сопоставимую с нагрузкой боевых демонов. К сожалению, для того, чтобы сделать это в тестах ресурсов сейчас нет, но благодаря тому, что демон не сразу выкатывают на продакшен, многие проблемы находят на предварительных этапах — фаталы могут поймать и функциональные тесты, а на тестовом окружении devel также могут вскрыться проседания. Сама же выкладка на продакшен осуществляется в несколько шагов — сначала только для некоторых стран, и только потом уже по всему миру. Отдел мониторга, если ловит какие-то аномалии на одном из этапов, сразу сообщает об этом.

Информация

В рейтинге
Не участвует
Зарегистрирован
Активность