2015-02-11 3 views
3

Возможно ли автоматическое тестирование приложений Android на разных версиях Android-производителей?Как автоматически тестировать приложения для Android, например. Samsung, HTC, ... Android?

Я хотел бы установить модульные тесты в Jenkins, которые работают на разных ПЗУ производителей, прежде всего на Samsung. Есть ли способ загрузить эти версии?

Я нашел несколько сайтов, чтобы добавить определенный пользователем сайтов, например:

http://developer.lgmobile.com/sdk/android/repository.xml 
http://developer.samsung.com/sdk-manager/repository/Samsung-SDK.xml 
http://developer.sonymobile.com/edk/android/repository.xml 
http://dl.htcdev.com/sdk/addon.xml 

Я также мог загрузить материал оттуда:

Enter image description here

Но как я использую эти вещи для тестирования ?

+0

Любая причина, почему юнит-тесты должны выполняться с реальной ROM? Или вы имеете в виду тесты автоматизации? – hidro

+0

Найдите что-то вроде [облака тестирования Android] в Google, и вы найдете множество поставщиков, которые позволяют запускать автоматические тесты на реальных устройствах Android. Например, нет способа взять произвольные ПЗУ от поставщиков и заставить их работать в эмуляторе Android, например. –

+0

Я уже нашел поставщиков в облаке, но мне бы очень хотелось, чтобы тесты выполнялись локально. Неужели нет никакого способа добиться этого? – swalkner

ответ

0

Проверить testdroid cloud.

Из википедии:

Testdroid Облако содержит реальных устройств с питанием для Android и IOS, некоторые из , которые доступны для users.Testdroid Cloud позволяет пользователям запускать тесты одновременно на облачную службу

+0

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

+0

@swalkner Просто проверил его сейчас, видимо, есть на посыльном решении. Что вы в итоге сделали? –

2

Я не являюсь поклонником длинных ответов, но я не справился с этим.

TL: DR:

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

Длинный ответ:

Прежде всего, вы уже используете решение для автоматизации функционального тестирования? Robotium - отличный вариант для этого и есть много tutorials онлайн. Я не вижу смысла в модульном тестировании (вместо функционального тестирования) на разных устройствах, за исключением проверки совместимости с различными версиями api для Android.

Во-вторых, тестирование на эмуляторах не обеспечивает вам такой же уровень уверенности, как тестирование на реальных устройствах. Некоторые вещи не то же самое, например, нет диспетчера Wii на симуляторах. Учитывая это, даже если вы создаете виртуальное устройство с пользовательским ПЗУ для каждого поддерживаемого устройства, оно не заменяет тестирование на реальных устройствах.

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

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

Надеюсь, это поможет вам. :)

1

Попробуйте с помощью Xamarin TestCloud тестирования с использованием реальных устройств с 788 устройствами Android и 21 версией ОС на данный момент.

Итак, вы можете использовать слишком Genymotion, более быстрый эмулятор Android, с множеством устройств, очень полезный Java API. Следующие статьи объясняет, что вам нужно: