Come work in Estonia – the most advanced digital society. Many Ukrainians already know that Estonia is affordable – become one of them and check out the jobs available!

Android дайджест #6: Тестирование и контроль качества

В соавторстве с Mobile QA инженером Мариной Шевченко.

Инструменты разработчика

Официальная документация Android testing framework fundamentals.

Stephan Linzner из Google «What’s new in Android Testing» слайды с доклада на DroidCon Italy 2015.

Android UI Automated Testing: стратегии тестирования UI на официальном блоге Google Testing.

Стандартные средства юнит-тестирования для Android.

Espresso: Android UI тесты, которые пишутся разработчиком на Java, описывая последовательность действий и проверок в стиле паттерна Builder. Такой подход сейчас рекомендуется Гуглом.

Robolectric: уже не раз упоминался в нашем Android-дайджесте. В отличие от других инструментов предлагает выполнение юнит-тестов внутри JVM, а не на эмуляторе или реальном устройстве. Это ускоряет работу в разы и облегчает настройку Continuous Integration. Пример настройки — проект Deckard (на момент написания дайджеста был нацелен на Robolecric 2.4) и пример с Robolecric 3.0 и пошаговой настройкой Android Studio.

Android Mocking Frameworks раздел на Android Arsernal.

Instrumentation Testing with Dagger, Mockito, and Espresso. Отличный пример интеграции фреймворков, автор хорошо объясняет что и зачем нужно, использует Dagger2, полный пример есть на GitHub.

AssertJ Android: расширение оригинального AssertJ для нужд юнит-тестов Android от команды Square. Код тестов и результат их выполнения становится более читабельным.

Обзор инструментов Checkstyle, Findbugs и PMD от Vincent Brison. По большей части они применимы и для других java-проектов.

JaCoCo: инструмент для контроля покрытия кода юнит-тестами. Работает как с классическим junit, так и с Robolectric и Espresso. Может потребоваться ручная настройка, примеры: первый, второй.

Lint: контроль качества кода, xml-разметки, локализации и еще много приятных мелочей. Отчеты генерирует в удобных форматах html и xml.

Quality Tools for Android: замечательная подборка уже настроенных инструментов и тестов в одном репозитории.

Android Developers Backstage Podcast #25. Про Espresso и другие инструменты для тестирования.

Из арсенала Mobile QA

MonkeyRunner: позволяет писать скрипты на jPython для установки Android-приложения и его запуска. Также можно послать приложению последовательность нажатий клавиш и сохранить скриншот. Входит в Android SDK.

Monkey: стресс-тестирование приложений, генерирует псевдослучайные действия пользователя. Есть возможность настроить количество и тип событий, интервал между ними. Входит в Android SDK.

Robotium: бесплатный фреймворк для blackbox-тестирования, дающий возможность запускать тесты как на эмуляторе, так и на реальном девайсе. Тесты пишутся на Java.

Sikuli: бесплатный инструмент для автоматизации тестирования GUI с помощью задания действий на скриншотах.

Calabash: бесплатный фреймворк для создания UI Acceptance тестов. Для написания сценариев используются бизнес-язык Gherkin. Introducing to Calabash тьюториал от Xamarin.

Squish: платный ($ 2400) инструмент для тестирования Qt, Web, Java, iOS и других приложений. Есть возможность записи тестов, поддерживает скрипты на Javascript, Python, Perl и Tcl. Доступна 30-дневная триал-версия.

Облачные сервисы, которые позволяют удаленно протестировать продукт на различных устройствах: Perfecto Mobile, Devic Everywhere и SouceLabs. Отдельно стоит выделить Samsung Remote Test Lab — мощный инструмент для тестирования на девайсах Samsung.

7 сервисов для распространения Бета билдов.

Блоги

Блог автоматизатора Андрея Дзыни.

Общая информация о тестировании на блоге QA Club Kiev и пару полезностей на сайте Савастюк Натальи.

Блог «Записки мобильного гика» о тестировании и автоматизации. Давно не обновлялся, зато с весёлыми картинками :)


Какие темы/материалы стоит добавить в дайджест — пишите в комментариях или мне в линкедин/фейсбук/G+.


P.S.
Google I/O 2015 продолжается, уже представлены новая версия ОС Android M и платежная ситема Android Pay, а так же Now on Tap.


Весёлых & продуктивных выходных вам!


← Предыдущий выпуск: Android дайджест #5
Следующий выпуск: Android дайджест #7

4 комментария

Подписаться на комментарииОтписаться от комментариев Комментарии могут оставлять только пользователи с подтвержденными аккаунтами.

Спасибо, Сережа! А можно еще попросить в конце следующих выпусков добавлять ссылки не только на предыдущую и следующую статью, а список всех выпусков? Часто хочется кое-что перечитать в более ранних выпусках и с таким списком было бы удобнее ориентироваться.

Чтобы посмотреть все, можно кликнуть на тэг «Android дайджест» (в конце статьи между ссылкой на предыдущий выпуск и иконками социальных сетей)

Супер, вопрос отпал :) не заметил тэги и пользовался поиском поэтому.

Для black-box -тестирования можно добавить appium.io — работает с апишкой WebDriver. Довольно динамично развивается в последнее время.

Подписаться на комментарии