Сегодня разработчики программного обеспечения все чаще используют мобильные инструменты автоматизация тестирования с открытым исходным кодом. Однако существующее разнообразие таких инструментов затрудняет выбор. Цель этой статьи — помочь вам выбрать фреймворк с открытым исходным кодом для автоматизации тестирования.
критерии отбора
Критерии выбора средств автоматизации тестирования касаются нескольких ключевых вопросов:
Простота создания и выполнения сценариев (поддерживает гибкие процессы и короткие итерации);Удобство использования тестировщиками и разработчиками;Совместимость платформы приложения с языком разработки тестов (ObjectiveC / Swift для iOS, Java для Android); Отсутствие пробелов в функциональности теста (Поддержка новейших функций операционной системы);Поддержка как реальных устройств, так и эмуляторов/симуляторов;Полностью интегрированные инструменты в.
Есть также несколько аспектов, которые отличаются для мобильных и веб-проектов:
Каковы возможности использования Appium? Какой уровень сложности следует проверять?
Крупные элементы пользовательского интерфейса; Зависимость от окружающей среды (сети, , , камера); Какие версии и уровни операционных систем должны поддерживаться при автоматизации процесса тестирования?.
Поддерживает ли приложение несколько платформ — мобильную (iOS / Android), веб?
Если посмотреть на доступные в настоящее время инструменты с открытым исходным кодом для автоматизации мобильного тестирования, то можно выделить пять популярных фреймворков:
Селен —Ведущая платформа (Открытый источник) для автоматизации тестирования веб-приложений;Appium — платформа (с открытым исходным кодом) для автоматизации тестирования мобильных, веб- и гибридных приложений;Калабаш — Инструмент для создания поведенческих тестов () на основе языка программирования;Эспрессо — платформа с открытым исходным кодом для автоматизации тестирования Google в Android Studio;XCUITest — фреймворк автоматизации тестирования с открытым исходным кодом Apple в среде IDE XCode.
Каждый из этих фреймворков поддерживается отдельным сообществом и имеет уникальные преимущества для своих целевых платформ и соответствующих аудиторий. Хотя универсальные фреймворки охватывают широкий спектр устройств, в них часто отсутствует поддержка аппаратного обеспечения. С другой стороны, фреймворки, ориентированные на устройства, часто не поддерживают скриптовые языки и подходы.
Поэтому важно определить, что является критически важным для вашей команды и проекта, и избегать выбора структуры, основываясь только на технических требованиях.
В таблице ниже перечислены лучшие инструменты автоматизации тестирования приложений, их основные возможности и ограничения:
Почему вы должны предпочесть один фреймворк другому?
Возможно, у вас уже есть набор фреймворков и инструментов автоматизации тестирования, интегрированных в процесс разработки программного обеспечения. Эти решения могут не соответствовать опыту и мотивации команды.
Некоторые популярные мотивы:
Команды разработчиков стремятся к быстрой и качественной обратной связи с каждой сборкой приложения и каждой итерацией кода;Команды разработчиков тестируют пользовательский интерфейс и функциональность приложения;Используют инструменты поведенческого тестирования для обеспечения соответствия приложения требованиям agile-процессов;Выполняют кроссплатформенное тестирование мобильных и настольных сайтов;Дополнительное модульное тестирование.
Приведенная выше таблица показывает, что не каждый инструмент или среда автоматизации sap-тестирования может соответствовать всем требованиям. Мы постарались кратко описать особенности каждого подхода, чтобы помочь вам принять решение.
Appium
Лучше всего подходит для групп тестирования, которые проверяют функциональность мобильных, веб- и гибридных приложений на и Android. Этот инструмент меньше подходит для команд, которые сосредоточены на создании и выполнении модульных тестов, поскольку он использует язык сценариев, отличный от языка самого приложения (например, для создания и выполнения модульных тестов)Например, ObjectiveC).
Сгенерированный Appium Отчет несколько ограничен в плане отладки и быстрой обратной связи и не включает видео, сетевые журналы и ключевую информацию.
Селен
Лучший выбор для команд, тестирующих адаптивные веб-проекты или отдельные сайты. Менее подходит для модульного тестирования, что делает этот фреймворк менее привлекательным для разработчиков. Отчеты Селен о проведенных тестах не информативны и не содержат уникальной информации о мобильных устройствах.
Калабаш
Предназначен для команд, использующих рабочие процессы (Развитие, основанное на поведении). Инструмент предлагает простой способ разработки функций параллельно с их практическим тестированием. Калабаш Используется как разработчиками, так и тестировщиками. Этот инструмент автоматизации тестирования веб-сайта предоставляет полную информацию и отчеты для тестировщиков и разработчиков.
Espresso и XCTestUI
Эти два инструмента автоматизации тестирования предназначены для пользователей. Эспрессо — для Android, а XCTestUI — для . Оба инструмента полностью интегрированы со средами разработки, такими как Android Studio / Xcode, и предлагает простые методы программирования, включая регистраторы тестов. Они полностью поддерживаются Google и Apple, что гарантирует поддержку всех последних функций операционной системы (См. например, iOS Force Touch), что позволяет разработчикам опережать рынок.
Эти инструменты поддерживают как модульное тестирование, так и функциональное тестирование пользовательского интерфейса.