Выбираем лучший инструмент с открытым исходным кодом для автоматизации тестирования

В настоящее время разработчики программного обеспечения переходят на использование мобильных инструментов автоматизации тестирования с открытым исходным кодом. Но существующее разнообразие подобных инструментов усложняет процесс выбора. Эта статья призвана помочь в выборе фреймворка с открытым исходным кодом для автоматизации тестирования.

Критерии выбора

Критерии, лежащие в основе выбора инструментов для автоматизации тестирования, связаны с несколькими ключевыми моментами:

  • Простота разработки и исполнения скриптов (поддержка гибких процессов и коротких итераций);
  • Возможность совместного использования тестировщиками и разработчиками;
  • Соответствие платформы приложения языку разработки теста (ObjectiveC / Swift для iOS, Java для Android);
  • Отсутствие пробелов в функциональных возможностях тестирования (поддержка новейших функций операционных систем);
  • Поддержка реальных устройств, а также эмуляторов / симуляторов;
  • Полностью интегрированные в среду IDE инструменты.

Также есть несколько аспектов, которые отличаются для мобильных и веб-проектов:

Каковы варианты использования приложений? Какой уровень сложности необходимо проверить?

  • Объемные элементы пользовательского интерфейса;
  • Зависимости среды (сети, GPS, камера);
  • Какие версии операционных систем и уровни API должны поддерживаться при автоматизации процесса тестирования.

Поддерживает ли приложение несколько платформ - мобильные (iOS / Android), веб?

Если посмотреть на существующие на сегодняшний день инструменты с открытым исходным кодом для автоматизации мобильного тестирования, есть пять популярных фреймворков:

  • Selenium - ведущая платформа (с открытым исходным кодом) для автоматизации тестирования веб-приложений;
  • Appium – платформа (с открытым исходным кодом) для автоматизации тестирования мобильных, веб и гибридных приложений;
  • Calabash – инструмент для разработки тестов на основе поведения (BDD) на базе языка разработки Ruby;
  • Espresso - платформа автоматизации тестирования с открытым исходным кодом Google в Android Studio;
  • XCUITest - фреймворк для автоматизации тестирования с открытым исходным кодом Apple в среде IDE XCode.

Каждый из этих фреймворков поддерживается отдельным сообществом и имеет уникальные преимущества для своих целевых платформ и соответствующих аудиторий. Хотя универсальные фреймворки охватывают широкий спектр устройств, им часто не хватает аппаратной поддержки. И наоборот, фреймворкам, ориентированным на устройства, часто не достает поддержки языков и подходов к сценариям.

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

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

OSAutoBlogChartFinal-1024x1024

Зачем отдавать предпочтение одному фреймворку перед другим?

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

Некоторые из общих мотивов:

  • Команды разработчиков пытаются получить быструю качественную обратную связь для каждой сборки приложения и итерации кода;
  • Команды разработчиков тестируют пользовательский интерфейс и функциональность своего приложения;
  • Используют инструменты тестирования на основе поведения для обеспечения соответствия приложения гибким процессам;
  • Выполнение кроссплатформенного тестирования мобильных и десктопных сайтов;
  • Дополнительное модульное тестирование.

В приведенной выше таблице показано, что не каждый инструмент или среда для автоматизации тестирования sap может обеспечить полное соответствие всем требованиям. Мы постарались обобщить особенности каждого подхода, чтобы помочь вам принять решение.

Appium

Лучше всего подходит для команд тестирования, которые пытаются проверить функциональность мобильных, веб и гибридных приложений на iOS и Android. Этот инструмент меньше подходит для команд, которые сосредоточены на разработке и выполнении модульного тестирования, поскольку он использует другой язык сценариев, чем само приложение (например, ObjectiveC).

Сгенерированный Appium отчет немного ограничен в том, что касается вопросов отладки и быстрой обратной связи, и не включает в себя видео, сетевые журналы и информацию о ключевых элементах.

Selenium

Лучший выбор для групп тестирования адаптивного веб-дизайна или автономных сайтов. Он меньше подходит для модульного тестирования, что делает этот фреймворк менее привлекательным для разработчиков. Отчеты Selenium о проведенном тестировании не информативны и не содержат уникальных сведений о мобильных устройствах.

Calabash

Предназначен для команд, использующих рабочий процесс BDD (разработка на основе поведения). Инструмент предлагает простой способ разработки функций параллельно с их практическим тестированием. Calabash используется как разработчиками, так и тестировщиками. Этот инструмент автоматизации тестирования сайтов предоставляет исчерпывающую информацию и отчеты для тестировщиков и разработчиков.

Espresso и XCTestUI

Эти два инструмента автоматизации тестирования предназначены для целевых пользователей. Espresso - для Android, а XCTestUI - для iOS. Оба инструмента полностью интегрированы в среды разработки IDE, такие как Android Studio / Xcode, и предлагают простые методы разработки, в том числе тестовые рекордеры. Они полностью поддерживаются Google и Apple, что гарантирует поддержку всех новейших функций операционных систем (например, iOS Force Touch), поэтому разработчики могут опережать рынок.

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

Перевод статьи «Selecting the Best Open-Source Test Automation Tool for You» дружной командой проекта Сайтостроение от А до Я.

07 апреля 2017 в 12:17
Вам понравился сайт или конкретно эта страница? Поделитесь ею со своими друзьями, нажав на одну из кнопок соцсетей слева или снизу. Желаете быть в курсе последних обновлений сайта — подпишитесь удобным для вас образом:
или поддержите нас, нажав на кнопку "Мне нравится"!
Материалы по теме
{"url":"http://www.fastvps.ru/", "src":"/images/advbanners/fastvps.png", "alt":"Хостинг Fastvps.ru. Наш выбор!"}
Заработок