MyTetra Share
Делитесь знаниями!
Тестирование Android-приложений с помощью Robotion
16.01.2019
14:55
Текстовые метки: android, андроид, тестирование, приложение, robotion
Раздел: Компьютер - Программирование - Java - Java в Android

Тестирование с помощью Robotium


Robotium не входит в состав Android SDK, но распространяется под Open Source лицензией.

Домашняя страница Robotium: code.google.com/p/robotium

Главное отличие Robotium в том, что тестовые действия описываются на уровне интерфейса приложения. В рассмотренных ранее способах тестовые действия явно или неявно описывались на уровне устройств ввода.

Например, в приложении нужно нажать кнопку «OK». С помощью скрипта MonkeyRunner нажатие на кнопку реализуется как: «Коснуться точки экрана с координатами (x0, y0)». С помощью Robotium это реализуется как: «Нажать кнопку с текстом «OK»».

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

Кроме того, Robotium позволяет проверять реакцию приложения на действие.

Например, после нажатия на кнопку «OK» в приложении должен появиться список с элементом «Item 1». С помощью Robotium можно проверить, появился ли список с таким элементом.

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

Недостатки:

  • Для каждого приложения необходимо разработать сценарий тестирования на языке Java. Это требует навыков программирования и временных затрат.
  • При изменении интерфейса приложения сценарий тестирования придется модифицировать.
  • Написать сценарий Robotium сложнее, чем записать действия с помощью getevent/sendevent.


В целом, Robotium позволяет разрабатывать наиболее качественные сценарии тестирования при адекватных затратах.

Сравнение способов тестирования

Ниже приведена таблица для различных фреймверков тестирования (Monkey, MonkeyRunner, getevent/sendevent, Robotium):

Способ тестирования

Достоинства

Недостатки

Monkey – поток случайных действий пользователя.

Отсутствуют затраты на сопровождение.
Не зависит от устройства.
Стресс-тестирование позволяет обнаружить нетривиальные ошибки.

Качество тестирования варьируется от приложения к приложению.
Найденные ошибки сложно воспроизвести.
Нет проверки состояния приложения.

MonkeyRunner – скрипт управления устройством.

Гибкость.

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

getevent/sendevent – запись/воспроизведение действий пользователя.

Для записи последовательности действий не требуются навыки программирования.

Записанная последовательность действий подходит только к одному устройству при фиксированной ориентации.
При изменении интерфейса приложения необходимо заново записать последовательность действий.
Нет проверки состояния приложения.

Robotium – сценарий тестирования интерфейса приложения с проверкой состояния.

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

Сложность написания сценариев на языке Java. При изменении интерфейса приложения сценарий придется модифицировать.


Так же в этом разделе:
 
MyTetra Share v.0.52
Яндекс индекс цитирования