Привет! Меня зовут Арсений Батыров, я работаю в Яндексе, а также веду курсы по ручному и автоматизированному тестированию мобильных приложений.
Очень часто от своих учеников и новичков мобильного тестирования я слышу вопрос: “У меня нет мака для тестирования 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 на железо других производителей:
Естественно, что Apple вряд ли будет заниматься поиском хакинтошей, однако для СБ и юротдела такой аргумент может быть достаточно весомым. Возможно, после такого аргумента они согласятся со мной и сами скажут вам:
В конце-концов, главным аргументом против покупки Маков для тестировщика обычно значится цена. Но стоит углубиться в этото вопрос — и вы увидите, что Мак —
Конечно, топовые модели ноутбуков сейчас стоят серьезных денег. Другое дело, что помимо них существуют и другие варианты, подходящие для использования в тестировании — и куда менее дорогие при этом. В конце-концов, нам нужно не самое лучшее железо, а приемлемый инструмент для запуска XCode и вспомогательных утилит. Но давайте для начала найдем точку для сравнения.
Согласно различным отчетам о зарплате в тестировании, средний специалист получает от $500 до $1500 в месяц. Очень грубо это можно округлить до ежемесячной $1000. Если он на полной ставке тестирует iOS, то, в среднем, на MacOS он будет работать вдвое быстрее, чем без нее. Конечно, кое-какие операции можно одинаково быстро выполнять на всех системах, зато другие займут в десять раз больше на неродной ОС.
Если сейчас заглянуть на рынок новых устройств, то за тысячу долларов можно найти, например, Mac Mini с минимально необходимыми i7 и 8Gb оперативной памяти. И если симуляторов на нем много не запустишь, то все остальные операции будут идти так же быстро, как и на более мощных устройствах. Немного дороже, около $1200, обойдется Macbook Air — но в нем все-таки уже есть интегрированный монитор. При этом никто не отменял и магазины подержанной техники — железо от Apple стареет достаточно хорошо.
Но даже взяв топовый Macbook Pro, цены на который стартуют от $2200, вы окупите его за 2-3 месяца работы вашего тестировщика. При этом у вас в распоряжении будет актуальный на несколько лет вперед девайс, а у специалистов — возможность работать быстро и не отвлекаться на мелочи. Поэтому я еще раз повторю свой вывод: если хотите тестировать мобильные приложения эффективно, без лишних проблем и с предсказуемыми результатами
Обсуждение в комментариях (даже в стиле «тестирую iOS на win 98 уже 20 лет — полет нормальный») — приветствуется!
Очень часто от своих учеников и новичков мобильного тестирования я слышу вопрос: “У меня нет мака для тестирования 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 с минимально необходимыми i7 и 8Gb оперативной памяти. И если симуляторов на нем много не запустишь, то все остальные операции будут идти так же быстро, как и на более мощных устройствах. Немного дороже, около $1200, обойдется Macbook Air — но в нем все-таки уже есть интегрированный монитор. При этом никто не отменял и магазины подержанной техники — железо от Apple стареет достаточно хорошо.
Но даже взяв топовый Macbook Pro, цены на который стартуют от $2200, вы окупите его за 2-3 месяца работы вашего тестировщика. При этом у вас в распоряжении будет актуальный на несколько лет вперед девайс, а у специалистов — возможность работать быстро и не отвлекаться на мелочи. Поэтому я еще раз повторю свой вывод: если хотите тестировать мобильные приложения эффективно, без лишних проблем и с предсказуемыми результатами
— Купите Мак!
Обсуждение в комментариях (даже в стиле «тестирую iOS на win 98 уже 20 лет — полет нормальный») — приветствуется!