Как извлечь выгоду от использования Monkey Exerciser для Android |
09.09.2013 09:25 |
Авторы: Андрей Дзыня и Александр Хозя Говорят, Monkey Testing - это то, чем занимаются большинство тестировщиков и для тестирования простого мобильного приложения не нужно много знаний. В этой статье мы хотим развеять некоторые мифы об этом типе тестирования и как альтернативу показать использование специализированного инструмента UI Monkey Exerciser для мобильной платформы Android. Инструмент UI Monkey Exerciser выполняет очень трудоемкую работу, а именно случаное взаимоействие с приложением, которое вы разрабатываете/тестируете. Выглядит это следующим образом
Сам инструмент умеет генерировать события разного рода:
Так же возможны более тонкие настройки:
Больше информации о возможностях инструмента можно найти на официальной документации http://developer.android.com/tools/help/monkey.html Перед тем как запустить приложение, нам нужно выполнить предвариательную подготовку. Изначально мы должны получить target package тестируемого приложения. Для этого нужно иметь установленную локально среду ANDROID SDK и APK файл приложения: 1. Из командной строки запустить следующую команду aapt debug badging <fileName>.apk | grep package 2. В командой строке выполнить команду adb logcat и запустить установленное на эмуляторе/устройстве приложение В окне logcat найдете соответсвующую запись targetPackage 3. В том случае, когда у Вас есть доступ к исходному коду или вы умеете декомпилировать APK просто посмотрите Manifest.xml в секции targetPackage. Пример команды запуска. Например мы хотим проверить поведение приложения после выполнение основных типов событий: adb shell monkey -p com.vkontakte.android -v 500 -s 1000 --pct-touch 20 --pct-motion 20 --pct-nav 40 --pct-majornav 60 --pct-syskeys 20 --pct-appswitch 50 --ignore-security-exceptions Какую пользу мы можем извлечь из этого инструмента, кроме как приятного лицезрения процесса его работы? Во первых, Monkey логирует все действия и помогает отловить “креши” приложения, а они, поверьте случаюся в самых неожиданных местах. Инструмент так же позволяет сгенерировать отчет, который сможет помочь в исследовании путей улучшения производительности приложения. Правильно сконфигурированный запуск Monkey, используя опцию --s <seed>, позволяет повторить сценарий выполнения событий в одном и том же порядке. Тем самым позволяя воспроизвести ошибки приложения необходимое количество раз. Monkey может служить как инструмент для проведения Smoke тестирования. Например, если после 3-х минут интенсивной работы приложение не упало, его можно отдавать тестировщикам на более тщательную проверку или же запускать автоматизированные приемочные тесты, если таковы имеются в команде. Monkey - отличный специализированный инструмент для проведения быстрого тестирования, но анализ результатов и подготовка отчета требует дополнительных усилий. Для того, чтобы облегчить себе жизнь, мы будем использовать сервисы бета-тестирования. TestFairy - молодой, многообщающий, а главное - бесплатный сервис. Сервисы бета-тестирования - отдельная обширная тема для обсуждения. Сейчас мы будем использовать TestFairy в разрезе полуавтоматического тестирования и не будем рассматривать аспекты ручного тестирования вовсе. Что мы получим как ленивые тестировщики: - автоматический репорт о “крашах” приложения на e-mail; - статистику производительности приложения; - видеозапись процесса тестирования; - тестовое покрытие приложение по экранам (activity и fragments); - отправка отчетов в один клик. Сразу после регистрации нас просят залить приложение. В зависимости от пожеланий настраиваем уровень детализации отчетов: Далее, для максимального удобства приглашаем себя же как бета-тестировщика. На e-mail сразу же приходит письмо со ссылкой на подготовленное приложение. Дело осталось за малым - установить приложение на устройства/эмуляторы, “натравить” нашего помощника и “пожинать плоды” Уже после завершения первой сессии мы сможем наблюдать статистические данные:
по всем сессиям
для каждой отдельной сессии, включая графики, видео и логи А что самое классное - мы можем поделиться сессией с разработчиками и/или коллегами. Отчет упростился дальше некуда.
Естественно, проект не уникальный и существуют альтернативы: К сожалению, оба сервиса не являются бесплатными и включаеют в себя ряд дополнительных функциональных особенностей, таких как запуск автоматизированных тестов в облаке устройств, что кардинально повышает их стоимость. Monkey + TestFairy - отличный тандем, который помогает найти много интересных дефектов,а главное с минимальными на то усилиями и трудозатратами. P.S. Всего через несколько дней мы начинаем Online курс “Тестирование мобильных приложений”. Хотите присоединиться и узнать больше? Пишите на Этот e-mail адрес защищен от спам-ботов, для его просмотра у Вас должен быть включен Javascript С Уважением, Александр Хозя и Андрей Дзыня |