[Из песочницы] Инструменты автоматизации процесса тестирования или мобильный тестировщик на стеройдах

wavkb66wblbnd_iptce-utazcum.png

Привет, Хабр! Меня зовут Павел Лесюк. Я занимаюсь ручным и автоматизированным тестированием мобильных приложений, а также стараюсь автоматизировать рутинные действия, которые приходится выполнять из раза в раз. В целом я стараюсь сделать свою работу максимально эффективной и продуктивной. Во всем этом мне помогают запрещенные вещества вспомогательные инструменты разных направленностей.

Во избежание путаницы, разделим инструменты для автоматизации на две большие группы:


  • Инструменты автоматизации выполнения тестирования — непосредственно те инструменты, которые помогают автоматизировать выполнение тест-кейсов.
  • Инструменты автоматизации процесса тестирования — те инструменты, которые упрощают жизнь при выполнении повседневных задач на протяжении всего цикла тестирования и про которые сегодня пойдет речь.

Цель статьи — сделать наиболее полный гайд по инструментам и их возможностям для тестирования мобильных приложений, актуальных на текущий момент. Некоторые из описанных инструментов имеют возможности, выходящие за рамки мобильного тестирования и тестирования в целом, поэтому статья будет полезна не только тестировщикам, но и всем специалистам, которые так или иначе вовлечены в процесс разработки программного обеспечения. Поехали!


Предисловие

Акцент статьи будет сделан на инструментах, доступных под операционную систему macOS. Но часть этих инструментов также доступна под Linux и Windows. Для большего удобства для каждого инструмента будет указан перечень доступных платформ, а также его стоимость в случае, если инструмент платный.

Структурируем инструменты на разделы:


Инструменты для тестирования Android приложений


Android Debug Bridge (ADB)

Платформы: macOS, Linux, Windows
Описание: консольная утилита, входит в состав Android SDK. Позволяет подключаться к запущенному в режиме отладки девайсу или эмулятору через USB или поверх TCP/IP и взаимодействовать с ним.
Возможности:


  • Фильтрация, просмотр и сохранение логов.
  • Установка и удаление приложений.
  • Передача файлов с девайса на компьютер и обратно.
  • Управление активити приложения и пакетами.
  • Получение ID и состояния устройства.
  • Управление устройством через Unix shell.


Android Studio

Платформы: macOS, Linux, Windows
Описание: интегрированная среда разработки Android приложений.
Возможности:


  • Выполнение многих команд ADB через графический интерфейс.
  • Анализ APK файлов.
  • Управление настройками Android SDK.
  • Установка, удаление и запуск эмуляторов.
  • Установка и удаление приложений.
  • Написание автотестов с использованием фреймворков Espresso и UIAutomator.


zxtgi_wqqhsvypw72f8psoyzruy.png


scrcpy

Платформы: macOS, Linux, Windows
Описание: консольная утилита для вывода экрана Android устройства на компьютер и управления им. Бесплатная альтернатива Vysor Pro.
Возможности:


  • Управление устройством с помощью компьютера (поддерживает ввод только латиницы) и поддерживаемых шорткатов.
  • Ограничение разрешения экрана.
  • Изменение битрейта передачи.
  • Обрезка экрана.
  • Подключение нескольких устройств.


emgkhumydyllnlgzmjalvrp_cvi.gif


Android tool for Mac

Платформы: macOS
Описание: программа для работы с Android и iOS, позволяющая выполнять нижеперечисленные действия в один клик.
Возможности:


  • Снятие скриншотов.
  • Запись видео.
  • Установка APK.
  • Запуск своих скриптов.


m3soc5ud3ydsr9dbp3yzvcjygpq.gif


Android File Transfer

Платформы: macOS
Описание: утилита для работы с файловой системой Android.
Возможности:


  • Просмотр структуры файловой системы Android устройства.
  • Обмен файлами между macOS и Android.


fnbn3mji0kugg3bh4wysxphvsig.png


Инструменты для тестирования iOS приложений


Xcode

Платформы: macOS
Описание: интегрированная среда разработки iOS приложений.
Возможности:


  • Просмотр и сохранение системных и консольных логов.
  • Подключение к iOS девайсу через Wi-Fi.
  • Снятие скриншотов.
  • Установка, удаление и запуск симуляторов.
  • Установка и удаление приложений.
  • Написание автотестов с использование фреймворка XCUITest.


ymtsjiqrxrproj4bovrbjw9z0nq.png


QuickTime Player

Платформы: macOS
Описание: системный мультимейдиный плеер.
Возможности:


  • Воспроизведение множества различных типов файлов.
  • Отображение экрана iOS устройства на компьютере.
  • Запись видео с экрана.


fxqyxgyheoedrpbsa1y88yegumi.gif


iTools

Платформы: macOS, Windows
Стоимость: $34.95–69.95, в зависимости от тарифа
Описание: инструмент, который призван заменить работу iTunes и сделать работу с девайсом более удобной.
Возможности:


  • Отслеживание статуса устройства.
  • Создание бэкапов и возможность восстановления.
  • Просмотр логов.
  • Установка и удаление приложений.
  • Управление мультимедиа на девайсе.
  • Просмотр файловой системы.
  • Отображение экрана устройства.
  • Снятие скриншотов и видео.


tdki7ooihmcwlyajvylfquogemi.png


iOS Console

Платформы: macOS
Описание: программа для просмотра консольных логов девайса с возможностью фильтрации.


epnxc5pvmadq5z5zz_thvzz6rja.png


Инструменты для тестирования API


Charles

Платформы: macOS, Linux, Windows
Стоимость: бесплатно с ограничениями или $50–700, в зависимости от тарифа
Описание: инструмент для мониторинга трафика.
Возможности:


  • Проксирование трафика мобильных устройств и компьютера.
  • Сохранение рабочих сеансов в файлы.
  • Подмена параметров запроса и ответа.
  • Подмена тела ответа из файла (на лету).
  • Имитация разных типов соединения.
  • Черные и белые списки для методов.
  • Расстановка брейкпойнтов.
  • Повторная отправка запросов.
  • Просмотр параметров запросов и ответов в разных форматах данных.


36xlbgx-dyq0gfaihgzm3cqbqae.png


Postman

Платформы: macOS, Linux, Windows
Описание: мощный инструмент для разработки и тестирования API.
Возможности:


  • Создание проектов с возможностью совместной работы.
  • Создание коллекций запросов с внутренней структурой из папок.
  • Отправка запросов, просмотр ответов.
  • Поддержка синтаксиса GraphQL.
  • Просмотр логов и дебаггинг.
  • Настройка отдельных окружений с созданием глобальных переменных.
  • Создание локальных переменных.
  • Запуск скриптов.
  • Написание автотестов с использованием JavaScript.
  • Запуск автотестов по расписанию, мониторинг выполнения.
  • Запуск тест-ранов (цепочки запросов).
  • Создание mock-серверов.
  • Экспорт и импорт коллекций.


z-tuvvqw78udx3cpocf_vgz39ee.png


Newman

Платформы: macOS, Linux, Windows
Описание: консольная утилита для тестирования коллекций Postman.
Возможности:


  • Запуск коллекций из командной строки.
  • Интеграция с системами CI (Jenkins, Travis CI) и Docker.


Insomnia

Платформы: macOS, Linux, Windows
Описание: REST-клиент для разработки и тестирования API.
Возможности:


  • Создание структуры запросов из проектов и вложенных папок.
  • Отправка запросов, просмотр ответов в разных форматах (изображения, HTML, PDF).
  • Настройка отдельных окружений с созданием глобальных переменных.
  • Создание локальных переменных.
  • Использование тегов для генерирования данных.
  • Поддержка синтаксиса GraphQL.
  • Экспорт и импорт данных.
  • Возможность использования и создания плагинов.


tn1yf3jtxjkwile42pwd4xna-im.png


Paw

Платформы: macOS
Стоимость: $49.99
Описание: HTTP-клиент для разработки и тестирования API.
Возможности:


  • Создание проектов с возможностью совместной работы.
  • Создание иерархической структуры запросов.
  • Отправка запросов, просмотр ответов в разных форматах (изображения, HTML, PDF).
  • Настройка отдельных окружений с созданием переменных.
  • Экспорт и импорт данных.
  • Возможность использования и создания расширений.


bzxnziaho3nlia9xifbify88h4g.png


Инструменты общего назначения


Snagit

Платформы: macOS, Windows
Стоимость: $49.95 для индивидуальной лицензии (2 компьютера)
Описание: многофункциональный скриншотер. Один из лучших в своей категории.
Возможности:


  • Разные режимы захвата: весь экран, отдельное окно, преобразование картинки в текст, веб-страница, меню и так далее.
  • Снятие видео.
  • Собственный редактор со множеством встроенных инструментов для работы с изображением и видео: рисование, наложение разнообразных иконок, идентификация текста и картинок на изображении с возможностью их редактировать, автозамена элементов на изображении упрощенными объектами и многое другое.
  • Создание пресетов с возможностью установки шорткатов для разных режимов захвата и отправки файлов в какой-либо предзаданный сервис (Google Disc, Dropbox и так далее).
  • Мгновенная отправка файлов с мобильного устройства на компьютер через Wi-Fi (нужно скачивать приложение на девайс и подключаться к прокси).


913tphan438wrbgik8vksw5lus4.png


Pushbullet

Платформы: macOS, Windows, Web, Android, iOS
Стоимость: 229 ₽ для macOS, для остальных платформ — бесплатно
Описание: позволяет общаться между компьютером и всеми подключенными девайсами, подключенными к одному аккаунту (как правило, тестовой учетной записи).
Возможности:


  • Отправка текста, ссылок, картинок и любых других файлов с компьютера на девайс и обратно.
  • Отправка SMS с компьютера.
  • Просмотр уведомлений девайса на компьютере.


_5kbq2fl2ihm025tyffrrmq2byo.gif


Alfred

Платформы: macOS
Стоимость: £23 за текущую версию, £39 за бесплатное обновление на все новые версии
Описание: приложение для повышения продуктивности и автоматизации рабочих процессов. Представляет собой окно поиска на подобии Spotlight, только на стеройдах c более расширенным функционалом. Умеет практически все.
Возможности:


  • Создание собственных workflow с использованием встроенных инструментов и языков программирования: начиная с открытия ссылок в браузере, заканчивая сложными интеграционными сценариями.
  • Поиск по файловой системой macOS с гибкой настройкой.
  • Поиск по закладкам браузера.
  • Расширенный буфер обмена.
  • Создание текстовых шаблонов.
  • Выполнение системных команд.
  • Удаленное управление macOS с iPhone при помощи приложения Alfred Remote.

Множество полезных workflow здесь и здесь.


v0_ptm5flcff7-5ktcobwzhgp-i.png


upwswhobdrm0-ok2wep0vs6ajbm.png


TextExpander

Платформы: macOS, Windows, iOS
Стоимость: $3.33 за год персонального использования, $7.96 за год использования для команды
Описание: инструмент для создания шаблонов и их вставки.
Возможности:


  • Создание текстовых шаблонов.
  • Создание шаблонов с использованием форматированного текста и картинок.
  • Создание шаблонов с использованием скриптовых языков (Shell Script, AppleScript, JavaScript).


wsgvxil96jfd6sojmszb2mbrfyo.gif


c7f60fm9byttjuiy9yvmbpliggy.png


Dash

Платформы: macOS, iOS
Описание: браузер документации API и инструмент для создания фрагментов кода.
Возможности:


  • Формирование собственной библиотеки из структурированных наборов документации для разных инструментов (языки программирования, фреймворки, различные системы) и чит-листов (команды, сочетания клавиш) с возможностью просмотра и поиска.
  • Создание собственных наборов документации и чит-листов.
  • Создание фрагментов кода для разных представлений данных.
  • Большое количество интеграций с другими инструментами.


zgqbh7hb5dohrwxrd8pnrkv5epk.png


cu64ljjzg_ybpn_wsp7q133jsgg.png


Заключение

Используя эти инструменты по отдельности и вместе, можно автоматизировать свой рабочий процесс и направить освободившееся время на выполнение более важных и сложных задач. Не пренебрегайте использованием средств автоматизации и используйте их с умом.

© Habrahabr.ru