По данным Statista, в 2020 году число загрузок приложений в мире составит 218 миллиардов. Это означает увеличение количества тестов и оптимизации для тестировщиков мобильных приложений. Тестировщики постоянно ищут сервисы, предлагающие облачные или виртуальные платформы для тестирования реальных устройств, чтобы тестировать свои приложения на различных устройствах.
Тестирование мобильных приложений представляет собой ряд проблем для тестировщиков и команды в целом. Решения, которые вы принимаете на каждом этапе, определяют результат, который вы получите в виде приложения. Но что влияет на такие решения? Ну, это зависит от многих вещей. На расположение кнопки CTA может повлиять поведение пользователя и анализ его прошлого. При таком количестве факторов, которые необходимо учитывать, тестирование на реальных устройствах помогает обеспечить совместимость и отзывчивость приложения на различных устройствах.
В связи с этим возникает вопрос, стоит ли создавать собственные лаборатории для тестирования реальных устройств или воспользоваться уже готовой и готовой к использованию инфраструктурой, предоставляемой другими организациями? Ответ на все эти вопросы гораздо сложнее, чем простое “да” или “нет”. Цель данной статьи – внести некоторую ясность в эту дилемму. Блог разделен на два отдельных раздела. Первый посвящен ответу на вопрос “виртуальное устройство против облачного тестирования реального устройства”, а второй – облачному тестированию реального устройства и тестированию реального устройства собственными силами.
Эй! Теперь вы можете тестировать веб-приложения Tailwind CSS онлайн, высокопроизводительное облако для кросс-браузерного тестирования и тестирования на разных устройствах для масштабного тестирования Tailwind CSS. Проводите ручное и автоматизированное тестирование веб-сайтов Tailwind CSS на 3000+ различных настольных и мобильных браузерах.
- Виртуальная платформа для тестирования в сравнении с облаком для тестирования реальных устройств
- Анализ по пунктам
- Пользовательский интерфейс
- Сетевые условия
- Датчики
- Производительность
- Цена тестирования
- Обслуживание
- Аккумулятор
- Использование процессора
- Почему облачное тестирование на реальных устройствах – лучший вариант?
- Управление устройствами
- Управление инфраструктурой
- Рабочая сила
- Масштабирование
- Поставка программного обеспечения
- Отчеты
- Почему стоит выбрать LambdaTest?
- Каковы ваши мысли?
Виртуальная платформа для тестирования в сравнении с облаком для тестирования реальных устройств
Виртуальные платформы для тестирования – это программное обеспечение, которое эмулирует мобильные устройства. Вы можете тестировать свои мобильные приложения с помощью эмулятора или симулятора прямо со своего рабочего стола.
Потребность в виртуальных платформах тестирования возникла, когда компьютеры и другие высокотехнологичные системы были дорогими и труднодоступными. В 1980-х годах эмуляторы и симуляторы были разработаны для тестирования программного обеспечения без установки его на физическое устройство, чтобы проверить, правильно ли оно работает или нет. Одним из таких примеров являются принтеры HP. Поскольку разработка аппаратного обеспечения была дорогостоящей, эмуляторы и симуляторы могли дать краткое представление о правильности работы системы. Однако это касалось только высокотехнологичных компаний, таких как HP.
Десятилетие 1990-х годов – самая известная эпоха эмуляторов и симуляторов. Потребность в виртуальных платформах росла, поскольку геймеры хотели играть в устаревшие и забытые аркадные игры 1980-х годов на своих новых системах.
Виртуальные тестовые платформы широко использовались для тестирования и разработки мобильных приложений, чтобы тщательно проверить, насколько стабильно наше приложение или нет. С другой стороны, технологии, задействованные в разработке мобильных приложений и устройств, тоже развивались на протяжении многих лет.
Вот здесь и возникает вопрос. Должны ли мы продолжать использовать виртуальные платформы для тестирования, как это было десять-пятнадцать лет назад? Или проводить тестирование на реальных устройствах? Но содержание локальной лаборатории чрезвычайно дорого и сложно, учитывая матрицу устройств.
Чтобы проанализировать этот вопрос и прийти к выводу, я сформулировал несколько моментов, касающихся сегодняшней динамичной и сложной среды тестирования мобильных приложений. Мы можем сравнить как эмуляторы/симуляторы, так и тестирование на реальных устройствах по этим пунктам и посмотреть, какой из них весит больше другого.
Анализ по пунктам
При выборе виртуальной платформы тестирования и фермы реальных устройств в облаке для тестирования мобильного приложения можно учитывать следующие параметры.
Пользовательский интерфейс
Пользовательский интерфейс является важным аспектом любого веб-приложения или мобильного приложения, как в нашем случае. 85% взрослых считают, что мобильный сайт компании должен быть не хуже или лучше, чем настольный. Так что же может быть лучшим выбором для тестирования пользовательского интерфейса приложения?
Пользовательский интерфейс не нуждается в каком-либо типе оборудования для тестирования. Если у вас есть приложение, которое может работать на минимальных конфигурациях, и единственное, на чем оно фокусируется, это на том, насколько хорошо оно выглядит, виртуальная платформа для тестирования – лучший выбор для вас, и вы можете просто идти вперед с этим.
Сетевые условия
Сетевые условия являются одним из основных направлений в тестировании мобильных приложений из-за регулярного использования мобильных устройств пользователями. Невозможно предугадать различную пропускную способность, на которой работают разные пользователи. Даже если проанализировать данные и учесть, что сегодня многие люди пользуются 4G и выше, это не изменит того факта, что условия сети ненадежны, когда устройство находится в движении. Некоторые эксперты утверждают, что тестирование мобильных приложений (тестирование приложений для android и тестирование приложений для iOS) должно также фокусироваться на управлении данными в автономном режиме, чтобы избежать прямого показа пользователю о плохих сетях.
Фокус был настолько велик, что почти все варианты тестирования мобильных приложений теперь оснащены функцией дросселирования пропускной способности сети. Даже инструменты chrome dev могут помочь вам выбрать сеть. Виртуальные платформы для тестирования начали предоставлять опции дросселирования сети, и есть программное обеспечение вроде ‘Clumsy’, которое может помочь вам уменьшить или уменьшить пропускную способность сети для тестирования. Но всех этих опций недостаточно для тестирования производительности вашего приложения в реальных условиях.
Когда мы говорим о пропускной способности, мы говорим не только о приеме, но и об аппаратных проблемах и задержках в приеме сети по другим причинам. Идеальный вариант для этого – провести тестирование реального устройства с помощью сетевых опций.
Датчики
Что касается только устройств на базе Android, то к датчикам относятся следующие:
-
Акселерометр – измерение ускорения.
-
Гироскоп – измерение угла поворота.
-
Магнитометр – для измерения магнитной силы (приложение, связанное с компасом и т.д.).
-
Барометр – для GPS и давления воздуха.
-
Свет – для измерения интенсивности света.
-
Близость – расстояние от датчика до ближайшей видимой поверхности.
Помимо вышеперечисленных популярных датчиков, существуют и другие датчики, такие как датчики измерения температуры и относительной влажности. Если в вашем приложении используется какой-либо из датчиков, точные показания с них важны для генерации действия в приложении. Например, в некоторых мобильных игровых приложениях гироскоп используется, когда пользователь наклоняет экран. Наклон может относиться к одному определенному действию – движению вперед или прыжку выше и т.д. Скорость движения вперед или высота прыжка зависит от точного значения наклона (как показано на изображении ниже). Его нельзя поддерживать постоянным, и пользователи крайне осторожны (и чувствительны), когда речь идет об операциях, связанных с сенсором.
Проблема сенсоров слишком деликатна, чтобы оставлять ее на усмотрение эмуляторов. Они, конечно, поддерживают эти датчики, и их определенно следует использовать на начальных этапах тестирования. Однако, когда вы закончите разработку и начальное тестирование, важно провести тестирование на реальном устройстве, чтобы убедиться, что приложение точно реагирует на каждое значение датчика. Это одна из тех вещей, которые никогда не следует оставлять на волю случая или на эмуляторах.
Знаете ли вы, что теперь вы можете тестировать веб-приложения UIKit онлайн, высокопроизводительное облако для кросс-браузерного тестирования и тестирования на разных устройствах для масштабного тестирования UIKit? Проводите ручное и автоматизированное тестирование веб-сайтов UIKit на 3000+ различных настольных и мобильных браузерах.
Производительность
Следующее, на чем мы фокусируемся при тестировании мобильных приложений, – это показатели производительности. Это очень широкая область, и чтобы понять ее полностью, вероятно, потребуется отдельное руководство. Если говорить кратко, то производительность приложения показывает, насколько хорошо наше приложение работает технически (не через привлечение рынка). Это дает нам возможности для улучшения и помогает понять, где приложение отстает. Следующие области можно рассматривать как выделенные эталоны для анализа производительности мобильного приложения:
-
Время загрузки на различных устройствах.
-
Пороговая пропускная способность трафика – как приложение ведет себя при высоком трафике.
-
Параметры в различных сетевых условиях.
Помимо сетевых условий, время нагрузки и пороговое значение можно проработать и в виртуальном тестировании. Время нагрузки при виртуальном тестировании и в реальном мобильном облаке обычно не превышает 1 секунды. Но для создания окончательного отчета о производительности вам могут понадобиться данные о состоянии сети и данные о работе приложения в автономном режиме. И то, и другое в конечном итоге может потребовать тестирования на реальном устройстве.
Цена тестирования
Цена не является параметром в тестировании, но это вопрос рассмотрения для команды и организации. Это факт, что даже если вы захотите использовать реальные устройства, вам, возможно, придется воздержаться от этого, поскольку они стоят намного дороже эмуляторов. Многие виртуальные платформы для тестирования даже бесплатны, например, Android Studio и другие с открытым исходным кодом. Но они не обладают необходимыми для тестировщика функциональными возможностями и сосредоточены на простом рендеринге приложений.
Если вам нужны хорошие эмуляторы с большим количеством функциональных возможностей, вы можете получить их через онлайн-инструменты по очень низкой цене. В этом же аспекте вы можете изучить LambdaTest.
Обслуживание
Следующий момент, по которому следует судить о виртуальной платформе в сравнении с облаком реальных устройств, – это отдел технического обслуживания. Обслуживание устройств является основной проблемой при тестировании мобильных приложений, и нет никаких сомнений, что виртуальная платформа тестирования выиграет в этом вопросе с большим отрывом.
Виртуальные платформы тестирования довольно просты в обслуживании. Все, что вам нужно сделать, это получить доступ к платформе из облака или загрузить ее в свою систему. С другой стороны, когда вы хотите провести тестирование на реальном устройстве, вам придется купить это новое устройство. Мало того, реальное устройство требует больших затрат на эксплуатацию и обслуживание. Обо всем этом должен позаботиться тестировщик приложений, если он собирается тестировать на реальном устройстве.
Аккумулятор
Поскольку в обслуживании с большим отрывом побеждает виртуальная платформа, “батарея” переходит на сторону реальных устройств. Разрядка батареи – это реальная проблема сегодня. Мобильные устройства стали гораздо более совершенными, и пользователь работает с ними подолгу в течение дня. Производители мобильных устройств стараются сделать все возможное, чтобы пресловутые приложения не высасывали батарею досуха. И не только это, производители мобильных устройств стараются, чтобы в выпускаемых приложениях было указано использование батареи (например, как долго держится заряд).
Почему же что-то становится настолько важным, что даже производители демонстрируют это как исключительную особенность? Потому что люди беспокоятся об этом при покупке мобильного устройства. Точно так же люди беспокоятся об этом при установке мобильных приложений на свои устройства. Если ваше мобильное приложение отличается от других приложений скоростью разряда батареи, люди удалят его.
Это необходимо проверять регулярно, религиозно и точно. Виртуальные платформы для тестирования – это не выход, когда речь идет об использовании батареи. Виртуальная платформа не сможет точно (или даже приблизительно) сказать вам, как будет разряжаться батарея при использовании вашего мобильного приложения. Всегда выбирайте тестирование на реальных устройствах (возможно, даже на меньшем количестве, если вопрос стоит о стоимости), когда речь заходит о батарее.
Использование процессора
Аналогично батарее устройства, использование процессора на виртуальной платформе также может ввести вас в заблуждение, показав более низкое число, в то время как на самом деле все может быть совсем иначе. Эти два сегмента, т.е. батарея и использование процессора, даже связаны друг с другом, поскольку при более высоком использовании процессора выделяется больше тепла и расходуется больше батареи. Поскольку в реальном устройстве протекают сотни процессов, это единственный способ получить точное представление об использовании процессора. Пока вы здесь, не пропустите также показатели использования памяти и графического процессора.
Из нашего анализа по пунктам ясно, что тестирование на реальном устройстве является победителем в точном тестировании приложений. Они стоят дороже, но когда речь идет об электронных устройствах, всегда существует компромисс между стоимостью и эффективностью. Следующий вопрос – стоит ли нам строить собственные лаборатории или поискать другой удобный вариант? Как и раньше, давайте не будем торопиться и проанализируем, какой метод для нас более полезен, чем другой.
Почему облачное тестирование на реальных устройствах – лучший вариант?
Облако реальных устройств – это среда мобильного тестирования, которая позволяет пользователям получить доступ к реальным устройствам для тестирования своих приложений на широком спектре устройств Android и iOS прямо из браузера настольного компьютера. Облачное тестирование на реальных устройствах позволяет тестировать нативные приложения на функциональность, совместимость и надежность.
Зачем вам облачное тестирование на реальных устройствах, если вы можете создать свою собственную лабораторию? Если вы можете купить устройства и нанять людей для создания лаборатории, то вам стоит это сделать. Главной проблемой при реализации этого является фактор стоимости, и это определенно один из факторов, который вы должны учитывать при выборе создания собственной лаборатории устройств. Чем большего охвата устройств вы хотите достичь (чем больше, тем лучше), тем дороже вам это обойдется.
Однако мы, безусловно, не можем сразу сделать вывод, ответив только на этот вопрос. Со временем может появиться множество причин. Ниже мы перечислили несколько из них.
Отметим, что вы можете использовать облако тестирования LambdaTest для проведения ручного и автоматизированного сквозного тестирования в масштабе. Зарегистрируйтесь прямо сейчас, чтобы увеличить охват браузера и значительно сократить время выполнения тестов.
Управление устройствами
Матрица тестирования мобильного приложения может включать от 100 до 300 (или 500) уникальных устройств. Приобретение такого количества устройств может повлечь за собой расходы, но гораздо больше средств можно потратить на их обслуживание. На рынке постоянно появляются новые устройства, а старые выводятся из эксплуатации. Одной из составляющих поддержания лаборатории устройств является приобретение новых. С другой стороны, необходимо следить за обновлением каждого устройства до последней версии прошивки, операционной системы и т.д. Все это, умноженное на 300-500, требует много времени и, следовательно, много денег.
Облачное тестирование реальных устройств может решить вашу проблему, поскольку вам не нужно беспокоиться об обновлении устройств. Всю работу по обслуживанию выполняют поставщики услуг. С помощью LambdaTest вы можете мгновенно получить доступ к более чем 3000+ реальных устройств. Просмотрите список устройств, поддерживаемых LambdaTest.
Управление инфраструктурой
Управление инфраструктурой может показаться самым хлопотным делом при обслуживании облака реальных устройств. Как только у вас в руках оказываются устройства, все остальное, связанное с экраном вашего рабочего стола и этими устройствами, попадает в инфраструктуру. Вы не будете подключать каждое устройство для тестирования приложения. У вас есть соединение, сетка (например, сетки selenium), фреймворки для тестирования мобильных приложений, подключенные к этой сети, метод передачи данных автоматизации, чтобы они распространялись через каждое устройство, сеть, поддерживающая здоровье устройств, и многое другое.
Очень трудно поддерживать и создавать инфраструктуру, когда мы лично управляем лабораторией устройств. И дело не в том, что это одноразовая задача. Инфраструктура, реальные устройства или любая другая, постоянно требует ремонта, обновления и других подобных задач. Когда вы работаете в облаке реальных устройств, вам не нужно беспокоиться об этом. Вам даже не нужно беспокоиться о серверах, которые поддерживают все в рабочем состоянии. Все, что вам нужно сделать, это войти в свою учетную запись и выбрать устройство. То, как поддерживается или настраивается инфраструктура, вас никоим образом не касается.
Рабочая сила
Все вышеперечисленные пункты требуют большого количества человеко-часов для поддержания работы. Организации снижают эту нагрузку, увеличивая количество инженеров, работающих только над обслуживанием лаборатории устройств и всем, что с ними связано. Само собой разумеется, это стоит дополнительных денег в качестве части их зарплаты, которых можно избежать, если нет необходимости в обслуживании лаборатории устройств, как это происходит, когда мы выбираем настоящие облачные лаборатории устройств.
Масштабирование
Масштабирование при тестировании мобильных приложений на реальных устройствах заключается в том, чтобы держать в руках новейшие устройства, которые сегодня выпускаются очень часто. Эти устройства не выходят из употребления с той же скоростью, с какой они появляются на рынке. При облачном тестировании на реальных устройствах масштабирование становится проще, поскольку новые устройства добавляются в облако сразу же после их выпуска. Это также повышает наши критерии совместимости при выпуске приложения.
Поставка программного обеспечения
Следствием всех вышеперечисленных моментов является время доставки программного обеспечения. Когда мы тратим так много времени на вещи, не связанные с тестированием, доставка программного обеспечения задерживается, что негативно сказывается на нашем доверии и бизнесе. Поддержание реального устройства самостоятельно создает эту проблему, поэтому рекомендуется использовать облачное тестирование на реальном устройстве, так как оно позволяет соблюдать временные рамки, особенно когда agile делает все еще более привязанным ко времени.
Еще одним фактором, влияющим на доставку программного обеспечения, является использование лаборатории несколькими командами. Облако реальных устройств создано для одновременного доступа нескольких пользователей к устройствам. Этого не происходит в персональной лаборатории реальных устройств. Если одна команда работает в лаборатории устройств (будь то команда разработчиков для альфа-тестирования или другая команда тестировщиков), вам просто придется ждать своей очереди. Это может еще больше затянуть сроки.
Отчеты
Последний момент, который мы можем рассмотреть, прежде чем принять решение об использовании ручной установки лаборатории реальных устройств или облачной – это отчеты. Отчеты гораздо важнее, чем кажется на первый взгляд. Они не говорят вам о том, какие тесты вы проводили, какие функции тестировали и даже какой язык использовали. Они рассказывают об общем анализе того, как все прошло, чтобы любой мог взглянуть на него и понять текущую ситуацию. Но то, как это представлено, тоже имеет большое значение.
Практически, и ваша собственная лаборатория на реальном устройстве, и облачная лаборатория на реальном устройстве могут обеспечить хорошую систему отчетности. Здесь есть только два отличия. Первое заключается в том, что вам придется потратить некоторое время на агрегирование результатов, создание надежного и визуально привлекательного механизма. Это одноразовая работа, если у вас нет такой же инфраструктуры, и во всех смыслах управляемая. В облаке реальных устройств все это уже готово для вас, и есть несколько инженеров, которые регулярно занимаются улучшением этих отчетов. Это сложно сделать в рамках собственной системы, поскольку отчеты облака реальных устройств будут регулярно улучшаться.
Во-вторых, облачные отчеты предоставляют гораздо больше возможностей для команды, что значительно упрощает совместную работу. Например, облачные отчеты реальных устройств автоматически сохраняются в учетной записи. Любой член команды может легко просмотреть отчеты из любого места и в любое время. Более того, когда создается отчет, облачные лаборатории реальных устройств сотрудничают со многими компаниями, что упрощает обмен отчетами. Например, вы можете напрямую передать файл команде по электронной почте одним щелчком мыши, или прикрепить его к тикету JIRA и т.д. Если вы можете инвестировать свое время и затраты в разработку такой системы самостоятельно, то это, как правило, становится личным выбором, и поэтому здесь нет победителя.
Тестируйте свои веб-сайты на основе CSS-фреймворка Unity в 3000+ различных настольных и мобильных браузерах с помощью Online Unity Testing Cloud – масштабируемого и надежного облака онлайн-тестирования для ручного и автоматизированного тестирования веб-сайтов Unity.
Почему стоит выбрать LambdaTest?
LambdaTest – это платформа для кросс-браузерного тестирования, которая позволяет тестировать веб- и мобильные приложения с помощью облака. Она позволяет тестировщикам приложений проводить кроссбраузерное тестирование, тестирование мобильных приложений, тестирование отзывчивости на различных браузерах и мобильных устройствах.
Функция тестирования мобильных устройств LambdaTest позволяет проводить как ручное, так и автоматизированное тестирование нативных приложений.
Вот краткий обзор возможностей LambdaTest по тестированию мобильных приложений:
-
Тестируйте свои веб-сайты и нативные приложения на широком спектре устройств iOS и Android.
-
Проведите тест на отзывчивость и совместимость на любом устройстве из облака реальных устройств.
-
Полностью устраните необходимость в локальной лаборатории для тестирования устройств.
-
Мгновенное тестирование на реальных устройствах с помощью нашего облака тестирования реальных устройств без затрат на настройку и обслуживание.
-
Выполняйте большие объемы тестов на реальных устройствах и снижайте количество дефектов.
-
Интеграция непосредственно с популярными инструментами CI/CD.
-
Выявление и отладка приложений в режиме реального времени с использованием журналов устройств, сетевых журналов, журналов приложений, скриншотов и видео. Выявление аномалий пользовательского интерфейса с помощью элемента inspect.
-
Загружайте файлы .apk, .aab или .ipa для тестирования новых приложений или установки производственных приложений, загружая их непосредственно из App Store или Play Store.
-
Тестируйте нативные функции устройства, такие как камера, сенсорный экран, жесты и т.д., используя облако реального устройства, как если бы мобильный телефон был у вас в руке.
-
Сократите количество ложных срабатываний при выполнении автоматизации и отправляйте приложения с уверенностью.
Кроме того, вы можете использовать облако тестирования LambdaTest для проведения ручного и автоматизированного сквозного тестирования в масштабе. Зарегистрируйтесь сейчас, чтобы увеличить охват браузеров и значительно сократить время выполнения тестов.
Каковы ваши мысли?
В этом посте мы провели линию между двумя множествами – виртуальной платформой и облаком реального устройства. Как правило, когда я встречаюсь с людьми, я никогда не получаю четкого ответа ни на один из вопросов, которые вы задали себе, попав на эту страницу. Использовать ли мне эмулятор или перейти на реальное устройство? Почему я должен выбрать облачную, а не внутреннюю разработку? Иногда люди уверены, что могут создать свою собственную систему, поскольку у них есть деньги. Многие из них терпят неудачу, но многие и добиваются успеха. Теперь проведите бесплатное кроссбраузерное тестирование.
Вот краткий видеоурок по тестированию браузеров в реальном времени.
На мой взгляд, если вы используете реальные устройства, лучше использовать облачное тестирование на реальных устройствах, потому что оно упрощает жизнь. Они не похожи на аренду центра обработки данных у AWS, чьи счета со временем увеличиваются до миллионов долларов США. Облако реальных устройств поддерживает доступные цены, предлагая индивидуальные корпоративные планы и другие разнообразные планы для различных команд (индивидуальных, небольших и т.д.). Они не требуют никаких накладных расходов и позволяют вашим командам сосредоточиться только на одном – тестировании. Конечным результатом является увеличение цикла разработки и более быстрая и своевременная поставка программного обеспечения, к чему стремится каждая организация.