2010-08-13 2 views
3

Я новичок в платформе тестирования Android, хотел бы знать различия между существующими тестовыми платформами: Monkey, CTS, Instrumentation Framework & Robotium?Android Framework для тестирования

+0

CTS - в Compatibility Test Suite? http://source.android.com/compatibility/cts-intro.html – mparaz

ответ

7

Instrumentation - это категория испытаний, противоположная Unit-testing.

Структура обеспечивает крючки для тестирования оборудования, но вам понадобится дополнительная сторонняя структура, чтобы действительно начать работу.

Robotium - это такой каркас. Это позволяет вам писать «скрипты», которые запускаются через пользовательский интерфейс, говоря «нажмите« это »,« введите это »и т. Д. Хорошо написанный он может провести вас через ваши дела и, таким образом, дать хорошее представление о том, что ваше приложение не сломана. Он также позволяет тестировать несколько взаимодействий и действий.

Модульное тестирование в моем опыте очень сложно для Android, особенно для «обычного» кода, связанного с пользовательским интерфейсом, базами данных, состоянием активности и т. Д., Если вы не написали свой код для проверки.

Android Monkey также использует инструменты для запуска через пользовательский интерфейс, но не соответствует сценарию. Он делает это случайно, с идеей, что независимо от того, что это делает, это не должно разрушить ваше приложение. Генерируя 100000 событий, он пытается получить покрытие как можно выше, основываясь на статистике. Помимо Robotium, обезьяна никогда не покидает ваше приложение (это было бы опасно). Это идеальное дополнение, хотя и оно доступно почти бесплатно (установка действительно дешевая и нет обслуживания).

CTS применим только к операционной системе и самому каркасу.

Возможно, вы также захотите узнать насчет насмешек?

0

Обратите внимание на тестирование Pyramid ниже:

  • Ручное тестирование - само пояснительная
  • Функциональное тестирование - тестирование функции
  • Интеграционное тестирование - проверка единиц дружат
  • тестов Unit - убедитесь, что к (см. SRP)

Это предполагает сколько тестов вы должны иметь на каждом уровне. Ниже пирамиды - это рамки Android, которые вы можете использовать на каждом уровне.

Testing Pyramid

В Android, следующие структуры, как правило, используются для каждой секции:

Функциональная:

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

Интеграция: Прибор подпадает под эту категорию.

  • Эспрессо (Сделано в Google, рекомендуется, использует Hamcrest matchers)
  • Robotium

Unit:

  • JUnit4
  • Mockito, Powermock, другие насмехаясь библиотеки
  • Соответствие f rameworks как Hamcrest, Fest, AssertJ
  • Robolectric (обеспечивает Android конкретные методы)
Смежные вопросы