Мобильные телефоны вошли в нашу жизнь повсеместно, и распоследний захудалый сервис имеет собстственное приложение. Да даже если не имеет – значит, у их сайта отзывчивый дизайн и его можно использовать при плохой связи, а не только на большом экране с оптоволоконным соединением. Как тестировщик сайтов или приложений на Андроид/Айфоне/ВинФоне, вы должны изобразить из себя реального пользователя – то есть иметь один или несколько смартфонов, как минимум тот, которым чаще всего пользуются ваши потребители. Не забываем и о ручном, и об автоматизированном тестировании. Вдруг у вас нет миллиарда евро, долларов или фунтов на покупку всех возможных смартфонов для тестирования? Будете ли вы полагаться на инструменты разработчика Chrome для браузера, зная, что разработчики и так "по-быстренькому" протестили с их помощью свою работу?
При тестировании Android-приложений можно часто столкнуться с проблемами, возникающими при переходе приложения из одного состояния в другое. Так, например, нередки утечки памяти при сворачивании и разворачивании приложения, или краши после ухода телефона в спящий режим.
Конечно, такие баги так или иначе находятся, даже если их не искать специально. Однако для обеспечения действительно высокого качества тестируемых приложений нужно чётко осознавать, почему подобные ошибки возникают, и как их искать. А для этого необходимо понимать, как происходит процесс изменения состояний в Android.
Android-программистам эта тема хорошо известна под названием Android Activity Lifecycle, или жизненный цикл операции. Конечно, тестировщикам, даже продвинутым, вовсе необязательно разбираться в данном вопросе полностью, однако базовое его понимание может сильно упростить жизнь и ускорить тестирование. Для того, чтобы показать, как это работает, мы записали небольшое видео.
Все, кто хоть раз сталкивался с тестированием мобильных приложений, знает, что оно имеет свои особенности и отличается от тестирования десктопных и веб-приложений.
На конференции QA Fest 2016 докладчики уделили немало внимания вопросу мобильного тестирования. Что лучше всего проверять в первую очередь, какие сценарии нельзя игнорировать, какой инструмент наиболее подходящий - эту и другую полезную информацию можно найти в записях докладов, опубликованных ниже:
Анна Карпенко - Специфика тестирования мобильных приложений
Татьяна Люлюченко - Немного о мобильных браузерах
Василий Сливка - 10 лучших практик для тестирования мобильных приложений
Денис Яременко - Как облегчить процесс мобильного тестирования
Мир мобильного тестирования очень специфичен: огромный зоопарк различных устройств, небольшие (по сравнению с десктопами) экраны, специфические виды передачи данных - всё это значительно усложняет работу с девайсами на уровне глубже обычного пользователя. Во время работы тестировщики мобильных приложений часто сталкиваются с рутинными, но нетипичными для других сфер тестирования задачами: как перекинуть логи на компьютер, залить тестовые данные на девайс, набрать ссылку для скачивания нового билда и так далее. Всё это на десктопе или ноутбуке занимает всего несколько секунд, а на мобильных устройствах - чуть ли не больше времени, чем собственно тестирование. Очевидно, что специалисту невыгодно тратить своё время на решение этих задач, однако сталкивается он с ними каждый день.
С ростом профессионализма в арсенале специалиста появляются различные вспомогательные инструменты, которые позволяют снизить потери времени на рутинные задачи почти до нуля. Однако ничего не мешает и начинающим тестировщикам использовать подобные инструменты, ведь они бесплатны, общедоступны и понятны каждому. В этом видео, которое является частью тренинга “Тестирование мобильных приложений: начальный уровень” (автор и ведущей тренинга Арсений Батыров), собраны 7 видов утилит, которые значительно облегчают жизнь мобильного тестировщика и отчасти даже ускоряют процесс самого тестирования:
В тестировании одна из важнейших задач - определение того, что тестировать не надо. Именно для этого придуманы разные хитрые методы: и классы эквивалентности, и pairwise, и прочее. Ещё сложнее дело обстоит в мобильном тестировании: к трудностям функционального тестирования приложений добавляются проблемы с устройствами, версиями ОС и качеством связи.
Чтобы облегчить вам задачу формирования правильного набора тест-кейсов, мы перевели чек-лист Tmap по тестированию мобильных приложений. В нём есть всё необходимое: от установки на разные версии ОС до проверки работы GPS и акселерометра. Скачать его в формате PDF можно по ссылке. Оригинал доступен по ссылке (формат .doc)
В тестировании есть такое понятие, как Monkey Testing - случайное нажатие на всевозможные кнопки приложения для того, чтобы его сломать. Действия эти не требуют каких-либо особых навыков, однако иногда помогают успешно находить даже сложные баги. Для автоматизации monkey testing существует много приложений на различных платформах.
В Android есть встроенное приложение UI Automation Exersizer Monkey, которое генерирует нужное количество случайных событий для телефона. Эти события могут быть самыми разными: одинарное нажатие, перетягивание, зум двумя пальцами, переключение системных кнопок, и даже переключение между различными пакетами приложения. Можно тонко настроить частоту определённых событий (зума, например) и задержку между ними. Инструмент это очень простой и не требует глубоких знаний для использования, однако при правильном подходе он позволяет значительно упростить себе задачи стресс-тестирования приложения. Для того, чтобы показать его работу, мы записали небольшое видео.
В современном мире мобильными приложениями никого не удивить, наверняка каждый из вас пользуется ими ежедневно будь то игры, социальные сети или учет финансов. Заказать такси, посмотреть новости, купить билет на самолет - сейчас все это сделать легко. Но при условии, что приложение на вашем устройстве работает корректно.
Поэтому вопрос тестирования мобильных приложений так актуален в наше время. Есть ли какие-то особенности у данного процесса? Конечно! Различные типы устройств, не один десяток разрешений экрана, несколько версий операционных систем, разные типы подключения к интернету - вот далеко не полный список того, что может усложнить этот процесс.
На конференции SQA Days 19 наши коллеги, которые сталкиваются с тестированием мобильных приложений каждый день, рассказали, как именно проводить данный вид тестирования, о чем нельзя забывать в процессе и как свои теоретические знания применить на практике.
Напоминаем, что уже открыта регистрация на следующую конференцию для специалистов в области качества программного обеспечения - SQA Days-20, Минск, ноябрь.
Как обычно для читателей нашего портала действует промокод на получение 10% скидки.
После очередной уборки на сервере выяснили, что у нас осталось несколько неопубликованных докладов со старых онланй-конференций. Те доклады, информация в которых еще не устарела постараемся выложить в ближайшее время.
Последнее время область мобильных приложений становится все популярнее. Чего только стоит приложение Angry Birds, количество загрузок которого уже давно превысило цифру в 10 миллионов!
Существует 3 основных типа Android приложений:
Native
Web
Hybrid
За 20 минут я успею показать, как автоматизировать Native Android приложения при помощи инструмента Robotium, так чтобы голова не болела.
При разработке стратегии тестирования мобильных приложений важно учитывать, что, конечно, устройства - это еще не все, но вам придется учесть ВСЕ устройства!
Суть в том, что протестировать абсолютно все комбинации устройств и операционных систем просто невозможно. И что теперь, не тестировать? Тоже не вариант.
Созданная нами стратегия должна быть умной и вдумчивой, и базироваться на исследованиях, анализе и здравом смысле. Она должна в конечном итоге привести нас нас к "достаточно хорошему" качеству продукта, соответствующего целям бизнеса.
Автор: Александр Хозя, Badoo, Lead Mobile QA Engineer
Наша новая статья представляет собой список рекомендаций и советов. Из неё вы узнаете:
как облегчить процесс тестирования мобильных приложений в целом;
о специфике работы с сетью, внутренними и внешними сервисами, платформах iOS и Android;
какие процессные решения и изменения позволят вам развиваться быстрее и вводить культуру тестирования в отделе разработки;
какие существуют полезные инструменты и решения для тестирования, отладки, мониторинга и миграции пользователей.
Начинающим тестировщикам советы могут помочь расти быстрее, а более опытным — упорядочить знания. Статья также будет полезна разработчикам, продакт-менеджерам и менеджерам проектов, словом — всем, кто хочет улучшить качество продукта и наладить взаимодействие между отделами.