Из веб-тестировщиков в мобильные: инсайты для тех, кто задумался о переходе |
31.03.2025 00:00 |
Привет, меня зовут Кирилл Семенко, и я уже год работаю в должности AQA инженера в Битрикс, где занимаюсь обеспечением качества нативной части мобильного приложения. До этого я пять лет работал в веб-тестировании, где всё было привычно и понятно. Но со временем захотелось новых возможностей и компетенций и я решил попробовать себя в мобильном тестировании. В тот момент я даже не подозревал, что это совершенно другой мир, не думал, насколько сильно пошатнется мое понимание тестирования в целом. В этой статье я дам советы тем, кто хочет перейти из веб-тестирования в мобильное, поделюсь своим опытом преодоления трудностей при переходе, расскажу, как я справлялся с новыми техническими вызовами и объясню, почему этот шаг стал для меня ключевым в развитии карьеры. Взгляд изнутри Первое, что понимаешь, перейдя в мобильное тестирование — это количество новых технологий и подходов, которые предстоит изучить. В отличие от привычного "F12", консоли браузера, и всего, что было доступно из коробки, здесь мне пришлось осваивать совершенно другие инструменты, а также работать с реальными устройствами и эмуляторами. Для меня основными отличиями между мобильной и веб-автоматизацией стали следующие моменты:
Дальше я буду рассказывать о том, с чем вам придется столкнуться, и что рекомендую изучить, если вы планируете перейти из веб-тестировщиков в мобильные. Разберитесь с концептуальными различиямиКазалось бы, и в веб, и в мобильном тестировании мы работаем с элементами и проверяем их функциональность, но мобильная среда накладывает свою специфику. Прежде всего придется уяснить для себя следующие моменты:
Научитесь настраивать эмуляторы и симуляторыСимуляторы и эмуляторы позволяют быстро запускать тесты и проводить отладку, когда нет доступа к реальным устройствам. Но поведение приложения в разных средах может отличаться. Поэтому вам придется научиться правильно настраивать эмуляторы (для Android) и симуляторы(для iOS). Вот несколько ключевых аспектов подготовки к тестированию:
Правильная настройка тестовой среды — залог стабильности тестов. Тщательно настроенные эмуляторы и симуляторы помогают минимизировать различия в отображении элементов, что особенно важно при работе с локаторами и последующей автоматизации. Освойте базовый инструмент для автотестов — Appium InspectorAppium Inspector -один из ключевых инструмент, помогающий в написании автотестов. Это графическая среда, которая взаимодействует с мобильным приложением в режиме реального времени через Appium-сервер. В ней визуально представлена иерархия элементов приложения, их атрибутов и свойств, что делает процесс создания и отладки тестовых сценариев гораздо удобнее. По сути это аналог вкладки Elements, привычной для веб-тестировщиков. Помимо просмотра иерархии элементов с подробной информацией о них, Appium значительно упрощает процесс поиска локаторов и отладки тестовых сценариев:
Подробнее про локаторы1. Accessibility ID: Это аналог атрибута id в веб-тестировании. В 99% случаев такие локаторы предусмотрены разработчиками и редко меняются. 2. iOS (ClassChain, NsPredicateString) / Android UIAutomator: 1. ClassChain/NsPredicateString — нативныe iOS-локатор, примеры можно найти здесь, здесь и вот здесь. 2. UIAutomator — нативный Android-локатор, примеры доступны тут. 3. ID / Name / ClassName: Эти типы локаторов подробно описаны в официальной документаци, подробно на них останавливаться не будем. 4. XPath: XPath используется в веб-тестировании, но в мобильной автоматизации его применение не рекомендуется из-за низкой скорости работы. Достаточно взглянуть на производительность различных селекторов, чтобы понять это. Изучите инструменты для сбора логов и анализа сетевого трафикаВ веб-тестировании весь сетевой трафик легко доступен через Network-панель браузера, что позволяет быстро анализировать HTTP-запросы, ответы и заголовки. В мобильном тестировании эмуляторы, симуляторы и реальные устройства не предоставляют подобного удобного инструмента "из коробки". Для сбора логов и анализа сетевого трафика приходится применять дополнительные решения, например, Logcat (Android), Xcode Instruments (iOS), а также инструменты вроде Charles Proxy, Fiddler или Wireshark. Эти внешние утилиты помогают перехватывать запросы, отслеживать задержки и выявлять ошибки, немного подробнее что это и для чего нужно Logcat — это инструмент отладки, встроенный в Android, позволяет собирать системные логи, сообщения от ядра и от приложения. Используется для выявления ошибок и анализа поведения приложения в реальном времени, как на эмуляторах, так и на реальных устройствах. С помощью logcat тестировщик может отслеживать ошибки, исключения и другие важные сообщения, которые помогают понять, как приложение взаимодействует с системой и сетью. Xcode Instruments — это набор инструментов отладки iOS-приложений. Он позволяет собирать детальную информацию о производительности, использовании памяти, утечках, активности процессора и работе сети. Суть та же — анализ поведение приложения на уровне системы на симуляторах и реальных устройствах iOS. Charles Proxy, Fiddler, Wireshark — инструменты представляют собой внешние анализаторы сетевого трафика, позволяющие перехватывать и детально исследовать HTTP/HTTPS-запросы и ответы. Они незаменимы для диагностики проблем с сетевыми запросами, контроля задержек и выявления ошибок в интеграции между приложением и бэком. Примите как данность — тестировать визуальную составляющую придется на костыляхПри тестировании нативных мобильных приложений часто возникает забавная, но очень важная проблема: невозможно определить, что кнопка действительно имеет нужный оттенок красного или что обводка элемента соответствует требованиям дизайна. Получить значение класса элемента или определенного атрибута здесь не получится, мир нативного приложения работает по своим правилам. Чтобы справиться с этой задачей, применяем практику визуального сравнения изображений с «эталонными», которые заранее сохраняются на сервере. В Битриксе у нас есть собственный инструмент VisualDiffer, который делает следующее:
Этот метод позволяет обнаружить даже небольшие изменения в цвете кнопок, толщине обводки или изменениях в отступах, которые могут негативно сказаться на пользовательском опыте. Ведь иногда важна не только функция кнопки, но и её внешний вид. Все бы хорошо, но есть нюанс. Для того, чтобы сравнение проходило успешно и выдавало релевантные результаты, нужно учитывать несколько факторов при создании скриншотов:
Тестировать визуальную часть приложения лучше не на реальных устройствах, а на симуляторах и эмуляторах, потому что их можно настроить один раз и при каждом нового запуске из кода можно быть уверенным в точности воспроизведения сценариев. Таким образом, VisualDiffer выступает в роли своего рода визуального инспектора, который гарантирует, что элементы интерфейса остаются такими, как задумано дизайнерами, независимо от обновлений или изменений в коде. Практические советыЕсли вы только начинаете работать с мобильными приложениями, важно понимать, что мобильное тестирование – это не просто перенос привычных методов веб-тестирования, а новое осмысление всего "забудьте все, чему вас учили до этого" ???? Вот несколько рекомендаций, которые помогут вам уверенно стартовать в этой сфере:
ЗаключениеЕсли вы решили перейти из веб-тестирования в мобильное – мой опыт может служить ориентиром. Постоянное обучение, глубокое погружение в технические детали и освоение новых инструментов повысили мою востребованность как специалиста. Желаю вам успеха в смене направления и уверенности в каждом новом шаге! |