Соцсети Philipp Kontsarenko
21 274

Фотогалерея: Как Facebook тестирует свои мобильные приложения

Инженеры Facebook в корпоративном блоге рассказали о том, как устроен процесс тестирования мобильных приложений соцсети на различных смартфонах. Для проверки сервисов компания открыла в своём дата-центре, расположенном в американском городе Прайнвилле, лабораторию для тестирования приложений сразу на 2000 смартфонов.

«Сначала мы использовали установку "салазки". Смартфоны устанавливались в металлические салазки, которые затем вставлялись в металлические ящики. Обилие металла приводило к потере сигнала Wi-Fi», — пишут инженеры Facebook.

Первая версия стенда для тестирования приложений Facebook

В итоге тестировщики разработали пластиковую конструкцию, которая называется «гондола». Однако из-за короткой длины проводов для зарядки смартфонов у инженеров возникали проблемы с их подключением. В итоге инженеры сделали специальные стены с полочками для телефонов.

«Гондола» — пластиковая конструкция для тестирования приложений

Стена со смартфонами для теста

«Установка с 240 телефонами для тестов занимала целую комнату. Чтобы разместить 2 тысячи смартфонов (столько требуется для полноты тестов) нам бы потребовалось 9 таких комнат в штаб-квартире в Менло-Парке. Поэтому мы перевезли лабораторию в наш дата-центр», — пишут сотрудники Facebook в блоге компании.

В дата-центре Facebook смартфоны для тестов расположены в специально разработанных серверных шкафах — с отдельным Wi-Fi, питанием и изоляцией от внешних воздействий.

В лаборатории инженеры Facebook установили 60 стоек, в каждой из которых расположено 32 смартфона.

Для тестирования приложений на каждом устройстве запущен симулятор, разработанный инженерами компании. Однако сотрудники Facebook также проводят «ручное» тестирование приложений.

Для проверки новых версий приложений Facebook, инженеры запускают программу на смартфонах при помощи Mac Mini для iPhone и Open Compute Project Leopard servers для Android.

#Facebook #тестирование

{ "author_name": "Philipp Kontsarenko", "author_type": "editor", "tags": ["\u0442\u0435\u0441\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435","facebook"], "comments": 29, "likes": 30, "favorites": 1, "is_advertisement": false, "subsite_label": "social", "id": 16892, "is_wide": true }
{ "id": 16892, "author_id": 4, "diff_limit": 1000, "urls": {"diff":"\/comments\/16892\/get","add":"\/comments\/16892\/add","edit":"\/comments\/edit","remove":"\/admin\/comments\/remove","pin":"\/admin\/comments\/pin","get4edit":"\/comments\/get4edit","complain":"\/comments\/complain","load_more":"\/comments\/loading\/16892"}, "attach_limit": 2, "max_comment_text_length": 5000, "subsite_id": 199129 }

29 комментариев 29 комм.

Популярные

По порядку

Написать комментарий...
25

Так вот почему они потребление батареи не оптимизируют — все смартфоны же на зарядке.

Ответить
20

Капец они заморачиваются, толи дело я, запилил новую версию приложухи под андройд и иду в ближайший мвидео, чтобы потестить на стендовых телефонах))

Ответить
2

И что, в мвидео не против чтобы ты установил свою приложуху на их девайсы и тестил там? Или ты сначала выкатываешь на google play, без палева устанавливаешь, и тестишь?

Ответить
–3

Можно и без Play - достаточно положить apk на любой хостинг, придти со своим Wi-Fi роутером (опционально) и скачать при помощи браузера. Установка займет 3 минуты, тестировать всяко дольше.

Ответить

Комментарий удален

0

А где можно про это прочитать?

Ответить

Комментарий удален

0

Все же они проверяют только на своих устройствах, а не на всех. Если бы на всех - другое дело :)

Ответить

Комментарий удален

0

:) как сделал фейсбук - собрал в своем ДЦ большой парк разных устройств. То что самсунг проверяет на своих устройствах это хорошо, но бОльшую часть устройств не проверят

Ответить
2

Зато они покроют все платформо-независимые баги и те, которые специфичны для Самсунгов (а это хорошая доля - если смотреть не по моделям, а по распространению девайсов на руках). Как минимум вам в своем парке держать Самсунги будет необязательно, что уже неплохо.

Ответить
5

Ожидал в статье увидеть 2000 китайцев с телефонами. Жаль, но нет :)

Ответить
–5

Не ожидал, что у Facebook это всё будет так по-любительски выглядеть. Поставить в датацентре - ок. Но эти полки из ДСП и куча переплетенных проводов для разработки такого важного продукта как мобильное приложение - как-то слабовато.

Ответить
9

Расскажете как должно быть?

Ответить
10

может оно и важное, но работает оно... хуже наверное только linkedin

Ответить
1

Для проверки новых версий приложений Facebook, инженеры запускают программу на смартфонах при помощи Mac Mini для iPhone и Open Compute Project Leopard servers для Android.

А WP-приложение чем тогда запускается?

Ответить
5

Благословением Наделлы

Ответить
2

И толку никакого

Ответить
0

По-моему это прекрасно.

Ответить
4

А по-моему это ад тестировщика.

Ответить
9

Продукт с ~миллиардом пользователей в любом случае будет адом тестировщика. Или адом пользователя. Причем первое не исключает второго, но отсутствие первого второе гарантирует.

Ответить
1

Есть тут что-то общее :D
https://vc.ru/p/fb-ads-fail

Ответить
0

Хочу в топ

Ответить
0

Тестирование Chromecast выглядит похожим образом - https://twitter.com/estet/status/712642461286461440
А еще рассказывали, что в Samsung для тестирования SmartTV используют телевизоры с направленной вебкамерой. Потом по записям разбирают прошел тест или нет.

Ответить
0

Пока подключишь 2000 смартфонов, половина устареет и выйдут новые модели ...

Ответить
0

Не знаю почему я подумал об этом.

Ответить
0

я правильно понимаю, что смартфоны отличаются только дюймами экрана и разрешением в них. Можно же программно эмулировать нужный размер экрана и его разрешение 1920х1080 например. К чему эти заморочки с зоопарком железа

Ответить
0

Существуют же не только визуальные баги

Ответить
0

Ожидал прочесть, как же именно тестируют в Facebook.
Статья о том, как организована зарядка и хранение телефонов в Facebook.

Намек есть, что там автотесты запускаются удаленно. У них 100% автотестов? Автотестов чего, только UI или еще и структурное тестирование есть?

В статье есть намек на ручное тестирование. И как же оно производится в связке с этими шкафами?

Наконец, зачем на стендах совершенно одинаковые ios и android устройства, если это автотесты? Столько и уникальных версий OS не найти

Ответить
0

Одинаковые устройства нужны чтобы распараллеливать тесты, очевидно.

Ответить
0

Если что, то уже есть такие консьюмерские решения — например, Xamarin Test Cloud (https://www.xamarin.com/test-cloud)

Ответить
0

Прямой эфир

[ { "id": 1, "label": "100%×150_Branding_desktop", "provider": "adfox", "adaptive": [ "desktop" ], "adfox_method": "createAdaptive", "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "ezfl" } } }, { "id": 2, "label": "1200х400", "provider": "adfox", "adaptive": [ "phone" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "ezfn" } } }, { "id": 3, "label": "240х200 _ТГБ_desktop", "provider": "adfox", "adaptive": [ "desktop" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "fizc" } } }, { "id": 4, "label": "240х200_mobile", "provider": "adfox", "adaptive": [ "phone" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "flbq" } } }, { "id": 5, "label": "300x500_desktop", "provider": "adfox", "adaptive": [ "desktop" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "ezfk" } } }, { "id": 6, "label": "1180х250_Interpool_баннер над комментариями_Desktop", "provider": "adfox", "adaptive": [ "desktop" ], "adfox": { "ownerId": 228129, "params": { "pp": "h", "ps": "bugf", "p2": "ffyh" } } }, { "id": 7, "label": "Article Footer 100%_desktop_mobile", "provider": "adfox", "adaptive": [ "desktop", "tablet", "phone" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "fjxb" } } }, { "id": 8, "label": "Fullscreen Desktop", "provider": "adfox", "adaptive": [ "desktop", "tablet" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "fjoh" } } }, { "id": 9, "label": "Fullscreen Mobile", "provider": "adfox", "adaptive": [ "phone" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "fjog" } } }, { "id": 10, "disable": true, "label": "Native Partner Desktop", "provider": "adfox", "adaptive": [ "desktop", "tablet" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fmyb" } } }, { "id": 11, "disable": true, "label": "Native Partner Mobile", "provider": "adfox", "adaptive": [ "phone" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fmyc" } } }, { "id": 12, "label": "Кнопка в шапке", "provider": "adfox", "adaptive": [ "desktop" ], "adfox": { "ownerId": 228129, "params": { "p1": "bscsh", "p2": "fdhx" } } }, { "id": 13, "label": "DM InPage Video PartnerCode", "provider": "adfox", "adaptive": [ "desktop", "tablet", "phone" ], "adfox_method": "createAdaptive", "adfox": { "ownerId": 228129, "params": { "pp": "h", "ps": "bugf", "p2": "flvn" } } }, { "id": 14, "label": "Yandex context video banner", "provider": "yandex", "yandex": { "block_id": "VI-223676-0", "render_to": "inpage_VI-223676-0-1104503429", "adfox_url": "//ads.adfox.ru/228129/getCode?pp=h&ps=bugf&p2=fpjw&puid1=&puid2=&puid3=&puid4=&puid8=&puid9=&puid10=&puid21=&puid22=&puid31=&puid32=&puid33=&fmt=1&dl={REFERER}&pr=" } }, { "id": 15, "label": "Плашка на главной", "provider": "adfox", "adaptive": [ "desktop", "tablet", "phone" ], "adfox": { "ownerId": 228129, "params": { "p1": "byudx", "p2": "ftjf" } } }, { "id": 16, "label": "Кнопка в шапке мобайл", "provider": "adfox", "adaptive": [ "tablet", "phone" ], "adfox": { "ownerId": 228129, "params": { "p1": "byzqf", "p2": "ftwx" } } }, { "id": 17, "label": "Stratum Desktop", "provider": "adfox", "adaptive": [ "desktop" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "fzvb" } } }, { "id": 18, "label": "Stratum Mobile", "provider": "adfox", "adaptive": [ "tablet", "phone" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "fzvc" } } }, { "id": 19, "label": "Тизер на главной", "provider": "adfox", "adaptive": [ "desktop", "tablet", "phone" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "p1": "cbltd", "p2": "gazs" } } } ]
Команда калифорнийского проекта
оказалась нейронной сетью
Подписаться на push-уведомления