Качественное тестирование мобильных приложений требует учета различных устройств, с которыми работают пользователи. Создание фермы устройств, будь то физическая или облачная, позволяет систематически решать эту проблему. В этом руководстве мы рассмотрим архитектурные решения, выбор инструментов и компромиссы, которые необходимо учитывать при создании такой фермы.
Что такое ферма устройств?
Ферма устройств — организованный пул реальных устройств и эмуляторов, подключенных к тестовому запускателю, который может выполнять тесты одновременно на различных устройствах и операционных системах. Основные компоненты: устройства, подключение, распределение задач и тестовая инфраструктура.
Самостоятельная физическая ферма устройств
Начните с анализа пользовательских данных. Выберите основные модели устройств с наибольшим числом сеансов, а затем добавьте поддержку версий ОС. Например, для среднего приложения можно начать с 10–15 Android-устройств и 5–8 iOS-устройств. Важно выбрать правильное оборудование, включая представление устройств различных классов, чтобы «покрыть» 80% ваших пользователей, а не всё сразу.
Проблемы с обслуживанием
Фермы, созданные самостоятельно, могут иметь предсказуемые проблемы: сбои подключений ADB, обновления ОС, выполняемые в ночное время, а также разряженные батареи устройств. Оценивайте затраты времени на обслуживание, которые могут составлять до 20% рабочего времени инженера, особенно если у вас есть более 20 устройств.
Облачная ферма устройств
Облачные платформы для тестирования управляют аппаратным слоем за вас. Вы подключаетесь через WebDriver, и платформа выделяет физическое устройство для вашего теста. Это упрощает процесс и минимизирует вероятность проблем с оборудованием.
Зачем это нужно?
Создание и использование фермы устройств позволяет значительно повысить эффективность тестирования приложений. Вы можете выявить проблемы на разных устройствах еще до выхода продукта на рынок. Это особенно актуально для разработчиков мобильных приложений, стремящихся обеспечить качество своих решений.
Перспективы
Исследуйте облачные решения для тестирования, чтобы упростить работу и уменьшить затраты на аппаратное обеспечение.