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


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


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


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

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


Предисловие


Акцент статьи будет сделан на инструментах, доступных под операционную систему 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.


scrcpy


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


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


Android tool for Mac


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


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


Android File Transfer


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


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


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


Xcode


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


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


QuickTime Player


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


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


iTools


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


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


iOS Console


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



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


Charles


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


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


Postman


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


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


Newman


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


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

Insomnia


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


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


Paw


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


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


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


Snagit


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


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


Pushbullet


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


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


Alfred


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


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

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




TextExpander


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


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



Dash


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


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



Заключение


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

AdBlock похитил этот баннер, но баннеры не зубы — отрастут

Подробнее
Реклама

Комментарии 2

    +1
    По мне так это сугубо субъективный набор утилит для пользователя macOS… Как минимум стоило упомянуть Soap Ui, Appium, Fiddler + всевозможные библиотеки для автоматизации Android приложений… Все равно спасибо, если буду заниматься автоматизацией для ios буду иметь ввиду…
      0
      Цель статьи — обзор инструментов для автоматизации всего процесса (жизненного цикла) мобильного тестирования, а не автоматизации выполнения тест-кейсов (test execution). Поэтому такие инструменты, как Appium, в этой статье не рассматривались.

      Спасибо за наводку на другие утилиты. Я старался описать те тулы, которыми пользовался или пользуюсь сам, чтобы не быть голословным.

    Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.

    Самое читаемое