Как проводить тестирование на удалёнке и обходиться без тонн разных девайсов. Опыт Surf |
01.12.2021 00:00 |
Источник статьи — блог компании Surf Ноябрь, 2021 год, COVID-19 снова вернулся в нашу жизнь. Мы, как и вся страна, уже работали из дома год назад. Теперь в городе снова объявили «нерабочие дни», и все сотрудники перешли на удалённую работу. Меня зовут Павел Жданов, я работаю тестировщиком в компании Surf. Мы разрабатываем мобильные приложения, и для работы QA мобильных устройств нужно много. Как быть, когда тебя переводят на удалёнку? Тащить десять мобильников к себе домой? В статье расскажу, как организовать работу QA на удалёнке, и покажу, как это устроено в Surf. Офис или удалёнка? Да где мне взять столько девайсов у себя дома, а?Важное замечание: Наша команда QA работает в одном городе QA отдел Surf состоит из двадцати человек. Мы тестируем проекты банковской среды, e-commerce и другие. Сам процесс тестирования дома и в офисе выглядит одинаково. Но у работы из дома есть один большой минус. О нём сказали абсолютно все тестировщики, с которыми я пообщался. И этот минус: мало девайсов Это всё. Действительно, мобильному тестировщику нужно иметь с пятого по тринадцатый айфон с разными сочетаниями версий iOS. Также для некоторых проектов или перед первым релизом пригодится планшет на iOS. Плюс десятки телефонов на Android с четвертой по двенадцатую версии. Приходим к неоднозначной ситуации. В офисе есть девайсы на любой вкус: старые, новые. А дома что? Ну всё, идём работать в офис и ни шагу домой в рабочее время!!! Ха-ха, особенно актуально, когда тебя принудительно отправили домой :( Нет! Можно и дома. Тестировщик должен уметь адаптироваться к разным условиям. Ну хорошо, а если я из другого города, как мне работать? Прочитав статью, вы поймёте, что все решения действуют для ребят из любой точки мира. Теперь расскажу, как мы построили процессы работы QA на удалёнке. Но сначала вопрос: «Какие девайсы на базе Android и на базе iOS мне нужно взять домой?» Первый фактор для выбора девайса — особенность конкретного проекта. Например:
В зависимости от этого можно примерно понять, какие смартфоны нужны. Второй фактор: аналитика использования ОС. Вот, например, статистика для одного из наших приложений, собранная за последние три месяца с помощью AppMetrica: Apple с политикой обновления даже очень старых девайсов помогает тестерам. Большинство пользователей обновлены до iOS 14 или недавно вышедшей iOS 15. С такими показателями поддержку iOS 10—13 можно уменьшить — но исключать полностью нельзя. Проверяем приложение сначала на новых ОС, затем на старых. С Android всё не так однозначно. В зону обязательной проверки попадают почти все версии. Но, как и со смартфонами Apple, сначала проверяем на более свежих девайсах 9—11 версий, затем на Android 6–8. Пользователей Android 12 мало, и смартфонов таких единицы. Android 5 тоже в отстающих: можно задуматься об исключении его из поддержки. Третий фактор — парк устройств в компании. У нас в Surf уже мало девайсов на Android 5: их поддержка подходит к концу. Новые девайсы iPhone 13 докупаются, некоторое количество девайсов перевели на iOS 15. Android 12 сейчас есть только у Pixel. Остальные ещё не представили обновления на свои устройства, и покупать телефоны с Android 12 пока что не целесообразно. Четвёртый фактор — сколько тестировщиков на проекте. Если двое или больше, можно с легкостью покрыть проект всеми ОС. Помогает и наличие своего девайса. На удалёнке некоторые QA используют собственный смартфон для проверки сборок. Понятно, что личные девайсы в рабочих целях используют не все: при распределении устройств это учитывается. Итого:
Бывают баги, специфичные для определённых устройств. А ещё ведь и девайсы нужно будет заменить — например, по окончании итерации. А ещё накат проверить надо на всём. Мы выработали два типа решений для таких случаев: Физическое решение
Виртуальное решение
❗️Если по проекту есть соглашение о неразглашении (NDA), придётся пользоваться только своим парком устройств и использовать эмуляторы и симуляторы (о них будет чуточку ниже). Как работает сайтДля начала пользователь проходит авторизацию. После он попадает на страницу со всеми девайсами компании. Каждая строка состоит из: “Device-User-SlackID-Bind/Unbind”. Пользователь прикрепляет девайс клавишей Bind. Unbind, если девайс уже отдан. Для большего удобства мы сделали строку поиска девайсов и кнопку «My devices», чтобы пользователь мог посмотреть, какие девайсы записаны на него. Зачем нам этот сайт, если хватит и чата в Slack? Сайт создан для минимизации флуда в чате. Алгоритм поиска девайса выглядит так:
Суммируя эти маленькие нововведения в период пандемии, мы получили лёгкую возможность «тестировать на всех девайсах», находясь дома. Как программы делают жизнь легчеСовременное программное обеспечение значительно упрощает жизнь тестировщика на удалёнке. Речь в первую очередь об эмуляторах и симуляторах. Эмуляция — воспроизведение работы программы или системы с сохранением ключевых свойств и принципов работы. Копирует суть (процесс, объект) работы. Симуляция — воспроизведение работы программы, имитирующее выполнение кода. Копирует окружающую действительность (оболочку, свойства объекта). Мы используем и эмуляторы, и симуляторы. Из опроса наших сотрудников стало видно, что основные инструменты для работы — это Xcode(iOS) и Android Studio. При этом эмуляция возможна как для разработчика нативных приложений, так и для Flutter-разработчиков, которые делают одно приложение на все платформы. Помимо эмуляции с помощью официальных инструментов используются простые эмуляторы Android. В гугле можно найти массу предложений. А зачем нужен весь этот геморрой с девайсами, когда уже так много эмуляторов и симуляторов? Да, мы в Surf, конечно же, пользуемся эмуляторами и симуляторами: это позволяет обширнее проверить вёрстку и проверить сборку быстро, не используя физический девайс. Однако полностью заменить реальные устройства они пока не могут. С помощью эмулятора нельзя проверить особенности смартфонов: корректно ли работает камера, мобильный интернет, диктофон и так далее. Симуляторы при этом вообще не учитывают аппаратную часть устройств: поведение иногда может отличаться от поведения на реальном смартфоне. Из-за этого бывает, что приложение вылетает на эмуляторе или симуляторе и нормально работает на девайсе — и наоборот. Поэтому залог успеха в балансе: для полноценной работы мы пользуемся настоящими смартфонами, эмуляторами и симуляторами. Подытожим плюсы и минусы работы с таким ПО. Плюсы
Минусы:
А можно ферму мобильных устройств купить…Одно из новых решений для тестирования на удалёнке — тестирование с помощью облачных технологий, или «ферм мобильных устройств». Эти инструменты или веб-сервисы позволяют удалённо подключаться к настоящему девайсу и полноценно проводить тестирование приложения. Получается, доступ к функциональности реального телефона есть, только физически девайс находится «где-то там, далеко». Мы пользуемся собственным решением для удаленного тестирования. Это наша личная ферма мобильных устройств: она состоит из устройств, которые подключены к ПК в офисе. Удалённая отладка удобна и разработчикам: они могут фиксить баги, воспроизводимые на каком-то «особенном» устройстве. Мы настроили удалённый доступ к девайсам с помощью утилиты scrcpy, установленной на ноде. Она позволяет видеть экран подключённого через usb устройства и управлять им. Для этого нужно:
Если физически или финансово организовать такой стенд не получается, а тестировать на девайсах нужно, можно воспользоваться облачными фермами. Подробно о сервисах я не буду рассказывать, статей в интернете много. Вкратце о самых популярных:
Ферма мобильных устройств — офисная или облачная — позволяет тестировать приложения, не имея девайсов под рукой. Это удобно: не проблема, если в офисе кончились девайсы, и кому-то не достался нужный телефон. А тестировщик из любой точки земного шара может стать участником команды. Мобильный тестировщик может работать на удалёнке!Переход на удалёнку для мобильного QA в первый локдаун казался сложной и пугающей задачей. Нам удалось настроить рабочий процесс. Не всё было идеально, но мы минимизировали потери в качестве и эффективности: показатели не упали. Обычные рабочие процессы абсолютно одинаковы что дома, что в офисе. Да, есть некоторые нюансы с девайсами. Но это решаемо:
|