Как протестировать корпоративное приложение Android на различных устройствах

Я работаю над большим корпоративным приложением для Android, и нам интересно, как другие компании тестируют свои приложения. У нас есть около 10 видов устройств, которые мы рекомендуем нашим клиентам, потому что невозможно иметь все виды устройств и тестировать приложение на них.

Я слышал, что у Eset и Sygic также есть несколько основных поддерживаемых устройств, на которых тестируется их приложение, и в случае какой-либо ошибки, связанной с устройством, они просто получают это устройство.

Я провел небольшое исследование и нашел несколько инструментов автоматического тестирования (например, TestDroid). Есть ли у кого-нибудь реальный опыт работы с инструментами автоматического тестирования, такими как TestDroid?

Было бы здорово, если бы кто-то, кто работает в какой-нибудь крупной компании, мог бы поделиться процедурами тестирования, инструментами, подсказками или рекомендациями по тестированию корпоративных приложений Android, когда существует так много устройств с различными версиями ОС, разрешениями и расширениями системы (например, HTC Sense, Samsung TouchWiz).

Большое спасибо, ребята.


person Koso    schedule 22.10.2013    source источник


Ответы (5)


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

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

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

  1. Используя GIT,
  2. Дженкинс
  3. АБР
  4. Пакетный / командный сценарий.

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

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

  1. скачать последний код из GIT. использует команду git.
  2. Обновить идентификатор версии.
  3. Выполните процесс сборки из командной строки Android, чтобы создать приложение.
  4. выполните те же действия для приложения модульного теста.
  5. Установите оба приложения на устройство или устройства, подключенные к этому серверу.
  6. Запустите тестовое приложение с помощью ADB на этих устройствах.
  7. Соберите журнал модульного тестирования (в стиле Junit).
  8. Отправьте журнал всем заинтересованным лицам.

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

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

Безусловно, использование стороннего сервиса облегчит задачу, и мы всегда можем передать на аутсорсинг все, что нам нужно. Но помните, что бывают случаи, когда ручное тестирование абсолютно необходимо. Например, если ваше приложение хочет активировать Wi-Fi или что-либо еще на Android Settings, требующее явного ввода пользователя, или в случаях, когда вы используете другой ресурс, например, использование камеры для съемки или тестирование интеграции с социальной сетью. Обязательно сравните свои требования с услугами, которые предлагают эти предприятия.

person minhaz    schedule 28.10.2013
comment
Вы с Аэреном дали мне действительно хорошие советы, поэтому я не знала, за кого следует награждать. Наконец, я наградил @aeren и принял ваш ответ. У Аэрена была гораздо меньше репутации, чем у вас, поэтому я хотел его мотивировать :) Спасибо за ваш ответ, это действительно полезно. - person Koso; 31.10.2013

Ниже приводится вывод из нашего опыта;

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

Существует способ определения лучших устройств с помощью метода ниже;

Вам следует проверить страницу панели статистики Android, чтобы получить информацию для понимания наиболее часто используемых спецификаций устройств. Простой способ сделать это - использовать комбинацию исследования статистики версий платформы (в соответствии с распределениями) и размеров экрана и плотности.

Затем у вас есть примерный список популярных устройств, и вы должны владеть ими.

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

Хотя мы решили использовать наши устройства для тестирования, в прошлом мы пробовали использовать аутсорсинг, и мы выбрали 3 лучших;

person aeren    schedule 25.10.2013
comment
Спасибо за ответ. Я подожду с наградой еще 4 дня, чтобы получить больше ответов. - person Koso; 27.10.2013

На самом деле инструментов для автоматического тестирования приложений Android предостаточно. Взгляните на небольшой обзор самых популярных инструментов, которые тестеры Android используют для автоматического тестирования: http://blog.bughuntress.com/automated-testing/useful-tools-for-android-apps-test-automation. Просматривая их, вы наверняка найдете что-нибудь полезное. Все они обычно используются для автоматизации тестирования в крупных компаниях.

person QArea    schedule 31.10.2013

github hook => Jenkins => TestFlight отправляет электронные письма тестировщикам вручную + запускает тест Robotium с помощью Spoon.

через некоторое время все отчеты отправляются в личку и команду разработчиков, в случае успеха подписанный apk отправляется в публикацию

person Andrew Matiuk    schedule 30.10.2013
comment
этот поток предназначен для тегов git - person Andrew Matiuk; 30.10.2013

1) Это может быть хорошим источником для начала: Настройте открытый, закрытое или внутреннее тестирование для приложений Android

2) Более того, я столкнулся с одной компанией, которая предоставляет предприятиям решение для распространения и тестирования внутренних / корпоративных приложений. Одним из таких примеров является Appaloosa.

3) Если вы знакомы с системами MDM, перейдите по этой ссылке может вам очень помочь

person Khurram Jamil    schedule 22.11.2019