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: контроль качества кода,
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. Доступна
Облачные сервисы, которые позволяют удаленно протестировать продукт на различных устройствах: 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 коментарі
Підписатись на коментаріВідписатись від коментарів Коментарі можуть залишати тільки користувачі з підтвердженими акаунтами.