28
Автоматизированное тестирование под Android Mittova Yulia 05/12/2013

2012-01-05 02 Юлия Миттова. Автоматизированное тестирование под Android

  • Upload
    -

  • View
    487

  • Download
    2

Embed Size (px)

Citation preview

Page 1: 2012-01-05 02 Юлия Миттова. Автоматизированное тестирование под Android

Автоматизированное тестирование под Android

Mittova Yulia05/12/2013

Page 2: 2012-01-05 02 Юлия Миттова. Автоматизированное тестирование под Android

Представление

Миттова Юлия Александровна

В IT с 2099 года.

Сейчас в ООО "Единая служба", релиз-менеджер.

Page 3: 2012-01-05 02 Юлия Миттова. Автоматизированное тестирование под Android

Почему для меня это важно?

Page 4: 2012-01-05 02 Юлия Миттова. Автоматизированное тестирование под Android

Какой инструмент выбрать?

Page 5: 2012-01-05 02 Юлия Миттова. Автоматизированное тестирование под Android

А что такое Robotium?

http://code.google.com/p/robotium/

Open-source test framework for Android applications.Официально поддерживает версии Android 1.6 и выше.Сейчас поддерживается Renas Reda.

Page 6: 2012-01-05 02 Юлия Миттова. Автоматизированное тестирование под Android

Robotium?

● На нем уже было написано пару тестов. ● Тесты можно запускать как на самом

девайсе, так и на эмуляторе.● Малое API, легок в изучении.● На основе JUnit.● А еще он бесплатен =)

Page 7: 2012-01-05 02 Юлия Миттова. Автоматизированное тестирование под Android

А подходит ли он вам?

● Навыки программирования.● Robotium ограничен только вашим

приложением.● Недоступен вызов "функций

телефона".● Очень малое количество

документации.

Page 8: 2012-01-05 02 Юлия Миттова. Автоматизированное тестирование под Android

Что я получила в итоге?

● Набор тестов на Robotium. Но скорее Smoke test, так как основная логика была именно во взаимодействии с другим приложением.

● Часть функционала приходилось проверять вручную (например, «протыкивание» значков на карте и проверка взаимодействия).

Page 9: 2012-01-05 02 Юлия Миттова. Автоматизированное тестирование под Android

Ну, давайте сделаем это!

Готовим Robotium test!

Page 10: 2012-01-05 02 Юлия Миттова. Автоматизированное тестирование под Android

Что для этого нужно?

● IDE (Eclipse)● Свободный Android девайс и

приложение, которое будем тестировать

● 20 минут свободного времени

Page 11: 2012-01-05 02 Юлия Миттова. Автоматизированное тестирование под Android

Let’s go!

1. Качаем библиотеку Robotium.2. Robotium_Solo_lib– библиотека3. Robotium_Solo_javadoc - доки 4. Создаем тестовый проект в Eclipse.5. Подключаем к нему библиотеку

Robotium в Build Path.6. Создаем пакет и класс в нем.

Page 12: 2012-01-05 02 Юлия Миттова. Автоматизированное тестирование под Android
Page 13: 2012-01-05 02 Юлия Миттова. Автоматизированное тестирование под Android

Robotium test example.

5. Подключаем наш девайс.6. Запускаем тест. =)

Page 14: 2012-01-05 02 Юлия Миттова. Автоматизированное тестирование под Android

Что, если вам нужно больше?

Page 15: 2012-01-05 02 Юлия Миттова. Автоматизированное тестирование под Android

Есть новый фреймворк от самого Android’а.

http://developer.android.com/tools/testing/testing_ui.html

Page 16: 2012-01-05 02 Юлия Миттова. Автоматизированное тестирование под Android

А что там есть?

● Доступ к сторонним приложениям

● Возможность вызова таких функций телефона, как блокировка/разблоки-ровка и прочее

● Конечно, он бесплатен

Page 17: 2012-01-05 02 Юлия Миттова. Автоматизированное тестирование под Android

Неужели всё так здорово?

● Поддержка устройств версий Android 4.1 и эмулятора 4.2 и выше.

● Требует навыков программирования.● Не так очевидно разворачивается на

Windows.● Не так прост в использовании, как

Robotium.

Page 18: 2012-01-05 02 Юлия Миттова. Автоматизированное тестирование под Android

Let’s try it!

● Для приготовления понадобится:● IDE;● Девайс или эмулятор с 4.1 и выше;● 30 минут для линуксоида и

примерно минут 45 для пользователей Windows.

Page 19: 2012-01-05 02 Юлия Миттова. Автоматизированное тестирование под Android

UiAutomator test example.

1. Ставим ant, если он у нас ещё не стоит. 2. Апдейтим SDK до последней версии3. Далее находим uiautomatorviewer.bat у себя в SDK и

запускаем его.4. Если у вас Windows, то скорее всего у вас появится

ошибка «unable to connect to the adb. check if adb is installed correctly». Не пугаемся, есть решение: Решение_проблемы_в_Google_Plus

5. Запускаем наш эмулятор и uiautomatorviwer.bat и смотрим, что он прекрасно видит все элементы нашего приложения))

Page 20: 2012-01-05 02 Юлия Миттова. Автоматизированное тестирование под Android

UiAutomator test example.

6. Создаем тестовый проект, в нем пакет и класс наподобие http://developer.android.com/tools/testing/testing_ui.html#sample .

7. Если вы пользуетесь windows, то узнаем нужный таргет. Например, так:http://stackoverflow.com/questions/13397786/ui-testing-tool-android-from-adt21

Page 21: 2012-01-05 02 Юлия Миттова. Автоматизированное тестирование под Android

UiAutomator test example.

8. Собираем.

9. Теперь можно и запустить)

Page 22: 2012-01-05 02 Юлия Миттова. Автоматизированное тестирование под Android

Неплохо, да?)

Ну а что делать с приложениями, где нет всяких EditTextView и прочих?Например, с играми или отображением транспорта на карте.

Page 23: 2012-01-05 02 Юлия Миттова. Автоматизированное тестирование под Android

Sikuli!

● Работает на основе скриншотов● Просто в освоении (Java or Jython)● Бесплатен● Работает на всем (Web, Mobile,

Desktop)

Page 25: 2012-01-05 02 Юлия Миттова. Автоматизированное тестирование под Android

А также IDE!

Page 26: 2012-01-05 02 Юлия Миттова. Автоматизированное тестирование под Android

И все так просто и клёво?

● Сильно завязан на разрешении, поэтому для тестирования на разных девайсах, скорее всего, понадобятся разные наборы скриншотов (есть % соотношения)

● Трудности в получением результатов работы.

● Уменьшение скорости выполнения сценария

Page 27: 2012-01-05 02 Юлия Миттова. Автоматизированное тестирование под Android

Как понять, что мне подходит?

Какое у вас приложение? Можете ли вы распознавать элементы как View?

YES NO

SIKULIВаши тесты проверяют только ваше

приложения? Они по большей части не

проверяют взаимодействие с

другими?

YES NO

ROBOTIUM UIAUTOMATOR

Page 28: 2012-01-05 02 Юлия Миттова. Автоматизированное тестирование под Android

Спасибо за внимание!