Тестовые рамки Android - PullRequest
       9

Тестовые рамки Android

3 голосов
/ 13 августа 2010

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

Ответы [ 2 ]

7 голосов
/ 27 сентября 2010

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

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

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

По моему опыту, юнит-тестирование очень сложно для Android, особенно для "обычного" кода, связанного с пользовательским интерфейсом, базами данных, состоянием активности и т. Д., Если только вы не пишете свой код для тестирования.

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

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

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

0 голосов
/ 07 января 2016

Обратите внимание на тестовую пирамиду, приведенную ниже:

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

Он предлагает количество тестов на каждом уровне.Под пирамидой находятся платформы Android, которые вы можете использовать на каждом уровне.

Testing Pyramid

В Android следующие разделы обычно используются для каждого раздела:

Функциональный :

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

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

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

Единица :

  • JUnit4
  • Mockito, Powermock, другие библиотеки для насмешек
  • Соответствующие фреймворки, такие как Hamcrest, Fest, AssertJ
  • Robolectric (предоставляет методы, специфичные для Android)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...