Monkeyrunner против инструментовки - что лучше для функционального тестирования? - PullRequest
4 голосов
/ 15 августа 2011

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

В настоящее время я не вижу никаких преимуществ monkeyrunner, но я могу что-то упустить.Для чего это хорошо?

Ответы [ 2 ]

4 голосов
/ 20 августа 2011

Мне нравится использовать MonkeyRunner, потому что он действительно переносимый (Linux, Mac и Windows), прост в настройке и может легко работать на разных устройствах и эмуляторах. Кроме того, иногда с помощью инструментов вы получаете сбои, которые не связаны с приложением, а скорее из-за реализации инструментовки. С MonkeyRunner вы будете знать, что вызвало сбой.

0 голосов
/ 15 августа 2011

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

  1. Утечки памяти: иногда невозможно отследить сценарии, порождающие чрезмерное использование памяти (скажем, базовое быстрое вращение, последующие нажатия кнопок и т. Д.).
  2. Обезьяна также помогает идентифицировать тестовые случаи; непреднамеренное, странное использование приложений, которое в конечном итоге приводит к сбоям.
  3. Используя тесты на обезьянах, вы также можете каким-то образом измерить производительность приложения, когда его используют "тяжелые" пользователи.

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

Конечно, это также зависит от того, какое программное обеспечение будет тестироваться, но, на мой взгляд, не всегда так просто определить, что произойдет, если вы нажмете на вашу кнопку, тогда на 9 пикселей выше кнопки дотронется и, в конце концов, активность телефона будет запустить. :) Вот для чего нужны тесты на обезьянах ...

...