Уикенд, когда сдох мой дев-фон, и я открыл тайный мир доступных устройств для тестирования
Знаете то чувство холодного пота, когда ваше основное тестовое устройство «кирпичнеет» за три дня до демо клиенту? Я там был — пялился на безжизненный экран и мысленно прикидывал, сколько последний флагман вытянет из моего кошелька. Именно эта паника и отправила меня в кроличью нору более умных и дешёвых способов поддерживать рабочий процесс разработки. Давайте поговорим о непризнанных героях современной сборки приложений: рынке аренды запасных телефонов и устройств для тестирования ПО.
Раньше я думал, что мне нужны последние модели, идеально блестящие и прямо с завода, чтобы делать хоть что-то стоящее. Ох, как же я ошибался. Один приятель из отдела тестирования расхохотался, когда я упомянул, что выкладываю полную розничную цену за устройство, на котором будут гонять лишь багливые ночные сборки. Это он первым прошептал два волшебных слова: аренда телефона для тестирования. Я представлял какой-то сложный корпоративный лизинг с факсовыми формами и минимальным сроком в три месяца. А он просто прислал ссылку на сервис, где можно было выбрать среднебюджетный Samsung, получить его через два дня и вернуть через неделю — общая сумма вышла меньше, чем ужин в ресторане. Тогда я понял, что вся индустрия тихо эволюционировала, пока разработчики не замечали.
Вот в чём дело. Ландшафт чётко делится на два лагеря, и выбор зависит исключительно от вашего ритма. Вы в хаосе предрелизного спринта, и вам нужно дюжину слегка разных оболочек Android для проверки совместимости? Тогда вам стоит изучить, как арендовать тестовые устройства. Сейчас есть онлайн-платформы, специализирующиеся именно на этом: вы получаете чистое, стёртое устройство с предустановленными версиями ОС по вашему запросу и можете забронировать его на день или неделю. Некоторые даже предлагают удалённый доступ — телефон стоит в серверной стойке, а вы взаимодействуете с ним через браузер, никаких задержек на доставку. Когда мне нужно было протестировать видеозвонки на конкретных моделях Xiaomi и Oppo, которых ни у кого из моей команды не было, меня спасла аренда устройств для тестирования ПО. Я взял пару телефонов на две недели, прогнал наш набор автоматизации и отправил их обратно. Ключевое слово здесь — гибкость. Вы не привязаны к устройству, которое будет пылиться после спринта.
Но, возможно, ваша ситуация иная. Возможно, вам нужно не просто тестировать — вам нужен надёжный второй девайс, который всегда под рукой. Тогда стоит присмотреться к вариантам купить запасной телефон. Я наконец сдался и купил дешёвый телефон для тестирования ПО в прошлом году. Это потрёпанный Pixel 4a, который я урвал в магазине восстановленной электроники примерно за сотню баксов. Он живёт у меня на столе в ящике, всегда заряжен, всегда под тестовым Google-аккаунтом. Это не мой основной аппарат, но это идеальный запасной телефон для разработчиков, которым нужно физическое устройство для быстрых проверок, не одалживая каждые два дня телефон партнёра. Я нагрузил его дюжиной соцсетей, разными конфигурациями экранных дикторов и даже кастомным лаунчером, имитирующим медленное железо. Это мой швейцарский нож, и поскольку я его купил, я могу на нём экспериментировать со сборками, которые могли бы «убить» арендованный телефон (да, однажды я «убил» его на три часа, пока учился прошивать кастомную ОС, но он воскрес).
Рынок б/у — настоящая золотая жила для этого. Подержанный телефон для тестирования не требует идеального экрана или батареи, хватающей на целый день. Он должен включаться, устанавливать ваше приложение и не падать рандомно. Царапины и вмятины? Кому какое дело? Я видел коллег, которые покупали старые айфоны с разбитыми камерами почти за бесценок, потому что их интересовало только поведение iOS 15 на 4,7-дюймовом экране. Один парень с нашего митапа разработчиков держит в гараже целую мини-лабораторию из одних лишь купленных б/у телефонов, каждый под конкретный уровень API Android. Он фактически построил свою философию продажи оборудования для тестирования телефонов, хотя ничего не продаёт — он просто так постепенно собирал устройства, что когда стартапу нужно быстро проверить матрицу, они берут у него взаймы, а он получает оплату крафтовым пивом.
Теперь, возможно, вы задаётесь вопросом, где же искать такие сделки. Вопрос «где арендовать тестовые устройства» я получаю как минимум дважды в месяц в личных сообщениях. Ответ — это не один магазин. Есть несколько проверенных онлайн-рентинговых контор с библиотеками устройств на сотни моделей. Такие компании, как DeviceAnywhere, или местные провайдеры, появившиеся во время пандемии, ориентированы именно на разработчиков. Но мне также везло с менее очевидным каналом: комьюнити-маркетплейсами. Некоторые дальновидные QA-специалисты превратили свой подработ в микробизнес по аренде. Они выставляют коллекции телефонов на форумах или в соцсетях, и вы можете договориться о недельной аренде в личных сообщениях. Звучит сомнительно, но однажды я через Slack-группу нашёл аренду телефона для тестирования приложений у человека из моего города. Я заплатил небольшую сумму, забрал устройство тем же вечером, тщательно протестировал свои location-based API (потому что по‑настоящему ловил GPS-сигналы на реальных городских улицах) и вернул телефон на следующее утро. Такую реалистичную проверку не могут идеально воспроизвести облачные сервисы.
Не будем забывать и о бюджете. Когда я начинал как независимый разработчик, каждый рубль был на счету. Мне нужен был тестовый телефон для приложений, ориентированных на бюджетные андроид-рынки, но самые дешёвые новые телефоны всё равно стоили пару сотен баксов. Вот тут я проявил креативность с концепцией запасного телефона для разработчиков. Вместо одного идеального девайса я купил два старых б/у телефона разных производителей по цене одного нового. Так я мог одновременно тестировать UI на 720p-экране и на устройстве с вырезом необычной формы. Эта комбинация казалась хаотичной, но за первые пару месяцев мой уровень падений упал на 30%, потому что я ловил баги вёрстки, которые никогда бы не увидел на эмуляторе. А если вы думаете: «Но мне нужны новые версии ОС», — вот секрет: многие рентинговые сервисы сейчас держат модели последнего поколения именно потому, что ежегодно обновляют свой инвентарь. Так что можно арендовать Galaxy S24 для критической фазы UAT, а потом вернуть его и снова работать на своём надёжном дешёвом телефоне для тестирования ПО в ежедневных итерациях.
Есть ещё гибридный подход, к которому я пришёл. Для основных проектов я держу один приличный личный телефон, который использую и для базового тестирования. А ещё у меня есть небольшой парк из двух купленных б/у телефонов — тех дешёвых, о которых я говорил, — они покрывают типовые граничные случаи. Но раз в квартал, когда выходит новая бета iOS или Android, я беру краткосрочную аренду устройств для тестирования ПО под конкретную модель, из‑за которой все паникуют. Так я не вкладываю тысячи в быстро обесценивающееся железо, но всё равно вылавливаю злобные баги на ранних этапах. Знаю одного тимлида, который использовал распродажу оборудования для тестирования телефонов, чтобы укомплектовать свою стартап-лабораторию: он купил лот из 15 разношёрстных устройств на аукционе по цене двух новых. Да, у некоторых были треснутые экраны, но они их почистили, назначили каждому разного члена команды, и тестирование на совместимость стало плевым делом.
В конечном счёте, решите ли вы арендовать телефон для тестирования или купить запасной телефон насовсем, правила игры изменились. Не нужно истекать деньгами, чтобы покрыть всё разнообразие реальных устройств. Эти устройства существуют — они ждут в ненужных ящиках и специализированных складах, и до них легко добраться, зная лишь пару хитростей. В следующий раз, когда ваше основное устройство решит внезапно вздремнуть, у вас уже будет план — и, возможно, новый дешёвый товарищ на подхвате, сидящий на столе и готовый спасти положение.











