Хотите заниматься мобильным тестированием — купите Mac

Привет! Меня зовут Арсений Батыров, я работаю тимлидом в тестировании, а также веду курсы по ручному и автоматизированному тестированию мобильных приложений.

Очень часто от своих учеников и новичков мобильного тестирования я слышу вопрос: "У меня нет мака для тестирования iOS, что мне делать?". Почему не покупают Мак? Потому что:

  • дорого
  • другой стек
  • непривычная система
  • сложно достать
На все эти аргументы я всегда отвечаю одинаково:

— Купите Мак!

Однако (что странно) этого заявления обычно недостаточно, поэтому в этой статье я хотел бы аргументировать свое мнение более развернуто. Если вы не можете определиться с выбором оборудования для тестирования — эта статья будет вам полезна. Если определиться не может ваш руководитель — покажите ему эту статью.

Для начала стоит понять, что Мак —

Это необходимо

Для тестирования iOS существует огромное количество инструментов, и подавляющее их большинство создано Apple и интегрировано в их среду разработки — XCode. Сохранить креш-лог, установить приложение на устройство, воспользоваться симулятором или и вовсе запустить программу в Debug-режиме — для всего этого XCode необходим. Повторю еще раз для вашего занятого начальника:

Симуляторы iOS есть только в XCode. Других эму/симуляторов iOS — нет!

При этом установить XCode можно только на MacOS. Следовательно, не существует способа разрабатывать и тестировать программы под iOS без использования MacOS. А сама MacOS устанавливается только на компьютеры от фирмы Apple. Поэтому мы возвращаемся к выводу, сделанному в начале статьи:

— Купите Мак!

Естественно, можно отказаться от симуляторов и попробовать использовать для тестирования систему на Windows или *nix. Но в этих системах придется использовать большое количество сторонних утилит. И далеко не всегда они имеют адекватную поддержку производителя и хорошо работают друг с другом. Гораздо чаще тестировщик будет сталкиваться с проблемами, которых в MacOS вообще нет. Например, перекинуть файл с девайса на MacOS через AirDrop занимает секунд 10, а вот на других ОС на это потребуется несколько минут.

Замечу, что MacOS при этом — универсальная система для кросс-платформенного тестирования, так как позволяет в полной мере работать как с iOS, так и с Android. Да и автоматизация под обе эти платформы доступна только на MacOS.

"Но," скажет опытный тестировщик, — "можно же установить MacOS на обычный компьютер, или на виртуальную машину! Почему бы так не сделать?"
Можно так сделать. Но не нужно. Потому, что Мак —

Это удобно

Конечно, можно сделать себе виртуальную машину, загрузить на нее образ последней MacOS, и уже на ней тестировать ваши приложения. Но здесь нужно вспомнить популярную картинку из интернета:
К сожалению, MacOS на виртуальной машине напоминает настоящий Mac примерно так же, как вышеуказанное хлебобулочное изделие — общественный транспорт. Нет, если вы (или ваш коллега) долго занимались работой с виртуалками, их настройкой и конфигурацией — возможно (и даже вероятно) у вас получится организовать что-то сносное. В остальных же случаях вас ждут такие проблемы, как:

  • Неработающее USB подключение, из-за которого простое действие "установить ipa по проводу" превращается в мучения на 5 минут
  • Тормозящие симуляторы, тестировать на которых практически невозможно
  • Рандомно отваливающиеся функции MacOS, вообще не относящиеся к тестированию мобильных

Естественно, часть этих проблем можно решить установкой на реальный компьютер, создав так называемый хакинтош. Однако вам придется долго возиться с подбором нужной конфигурации, вручную настраивать некоторые драйвера и их сочетания. Замечу, что это все еще никак не связано собственно с мобильным тестированием — а значит, вы будете тратить время специалиста на работу не по специальности, что гораздо менее эффективно.

Наконец, для большинства компаний вопросы легальности использования софта сейчас стоят гораздо острее, чем раньше. А в EULA для MacOS однозначно написано, что вам не разрешается устанавливать любой софт от Apple на железо других производителей:

"...this License do not permit you to, and you agree not to, install, use or run the Apple Software on any non-Apple-branded computer..."

Естественно, что Apple вряд ли будет заниматься поиском хакинтошей, однако для СБ и юротдела такой аргумент может быть достаточно весомым. Возможно, после такого аргумента они согласятся со мной и сами скажут вам:

— Купите Мак!

В конце-концов, главным аргументом против покупки Маков для тестировщика обычно значится цена. Но стоит углубиться в этот вопрос — и вы увидите, что Мак —

Это не дорого

Конечно, топовые модели ноутбуков сейчас стоят серьезных денег. Другое дело, что помимо них существуют и другие варианты, подходящие для использования в тестировании — и куда менее дорогие при этом. В конце-концов, нам нужно не самое лучшее железо, а приемлемый инструмент для запуска XCode и вспомогательных утилит. Но давайте для начала найдем точку для сравнения.

Согласно различным отчетам о зарплате в тестировании, средний специалист получает от $500 до $1500 в месяц. Очень грубо это можно округлить до ежемесячной $1000. Если он на полной ставке тестирует iOS, то, в среднем, на MacOS он будет работать вдвое быстрее, чем без нее. Конечно, кое-какие операции можно одинаково быстро выполнять на всех системах, зато другие займут в десять раз больше на неродной ОС.

Если сейчас заглянуть на рынок новых устройств, то за тысячу долларов можно найти, например, Mac Mini с минимально необходимыми i5 и 16Gb оперативной памяти. И если симуляторов на нем много не запустишь, то все остальные операции будут идти так же быстро, как и на более мощных устройствах. Немного дороже, около $1200, обойдется Macbook Air — но в нем все-таки уже есть интегрированный монитор. При этом никто не отменял и магазины подержанной техники — железо от Apple стареет достаточно хорошо.

Но даже взяв топовый Macbook Pro, цены на который стартуют от $2200, вы окупите его за 2-3 месяца работы вашего тестировщика. При этом у вас в распоряжении будет актуальный на несколько лет вперед девайс, а у специалистов — возможность работать быстро и не отвлекаться на мелочи. Поэтому я еще раз повторю свой вывод: если хотите тестировать мобильные приложения эффективно, без лишних проблем и с предсказуемыми результатами

— Купите Мак!