На рынке появляются всё более сложные программные продукты для гаджетов, которые нуждаются в оценке качества профильными специалистами. Потому тестирование мобильных приложений стало самостоятельной областью QA, которая активно развивается в последние годы. В этой статье мы расскажем:
- Какими бывают мобильные приложения;
- Чем отличается тестирование таких программных продуктов;
- Какие инструменты необходимо освоить тестировщику;
- Как справляться с наиболее распространёнными дефектами.
Типы мобильных приложений
Прежде чем мы расскажем о классификации ПО, стоит оценить масштабы этой индустрии. К началу 2020 года уже более 5,19 миллиардов человек активно использовали мобильные устройства ежедневно. Прирост пользователей всего за год составил 124 миллиона.
По данным международных экспертов, 10 минут из 11 при использовании мобильного телефона приходится на приложения, которые охватывают практически все сферы нашей жизни (развлечения, финансы, здоровье, общение и прочее).
Только во втором квартале 2020 года из Google Play и App Store скачали 37,8 млрд приложений. Это рекордный показатель, флагманами которого стали TikTok и Zoom.
Так что же из тебя представляет мобильное приложение? Это программа, которая написана на языке высокого уровня и позволяет ускорить выполнение действия в соответствии со своим функционалом. ПО создаётся под конкретную платформу (Android, iOS, Windows 10 Mobile, BlackBerry и прочие).
Все приложения делятся на три типа.
Мобильные веб-приложения
Наиболее распространённый тип, который с лёгкостью позволяет отображать сайты на различных устройствах. Это не приложения в чистом виде, а адаптированные под мобильные устройства интерфейсы сайтов с активной функциональностью. Веб-приложения отличаются кросс-платформенностью, их не нужно устанавливать, и они достаточно просты в использовании. К другим преимуществам этого типа ПО относится достаточно простая и оперативная разработка. Но есть у веб-приложений и недостатки: необходимость подключаться к интернету для работы, ограниченная безопасность, невысокая производительность.
Нативные приложения
Такие приложения разработаны только под определённую платформу и по максимуму используют возможность той или иной операционной системы. Нативные приложения могут задействовать и иные ресурсы гаджета: камера, навигатор, список контактов и прочее. Они характеризуются широкой функциональностью и высокой скоростью работы.
Но есть у подобных приложений и недостатки: низкий по сравнению с мобильными веб-приложениями охват платформ, высокая стоимость разработки и необходимость регулярно выпускать обновления.
Гибридные приложения
Комбинация двух вышеупомянутых типов. В отличие от нативных, гибридные приложения разрабатываются для нескольких платформ одновременно и пишутся на универсальном языке. Такой продукт можно размещать в сторах, а для его обновления не нужно каждый раз выпускать новую версию. Достаточно лишь добавить все изменения на сервер. Слабое место подобных приложений ― визуальный стиль. Ведь разработка приложения для конкретной платформы ведётся на основе единого гайдлайна. А интерфейс гибридного приложения теряет узнаваемые черты операционной системы.
Конечно, разработка таких приложений обходится дешевле, но и потенциально уязвимых мест больше.
Особенности тестирования мобильных приложений
Разработка мобильных приложений отличается от десктопных. Поэтому и в процессе тестирования инженер обязан провести проверки, обусловленные природой программных продуктов. Например, необходимо провести проверку установки обновлений.
Разработчики операционных систем постоянно улучшают платформы и делают их более безопасными и производительными. Это формирует и новые требования к мобильным приложениям. Пользователь не должен испытывать каких-либо сложностей в процессе обновления. А если пользователь не устанавливает новые версии вовремя? Как на это отреагирует приложение? На эти вопросы тестировщик ищет ответы.
Тестирование помогает выявить реакцию приложения на непредсказуемые пользовательские действия. Представьте, разблокированный гаджет оказался в кармане или сумке, и приложение должно корректно справляться с набором хаотичных и бессвязных действий.
Ещё один вид проверок – оценка качества различного вида соединений. Такое тестирование проходит в лабораторных условиях, где возможно воссоздать максимально реалистичные условия связи. Этот вид проверки демонстрирует, как приложение будет вести себя в нестандартных ситуациях, например, когда сигнал Wi-Fi едва уловим.
Команда на проекте может состоять целиком из тестировщиков мобильных приложений или оставаться комбинированной. Это зависит от особенностей тестируемого продукта. В аутсорсинговой компании может быть всего несколько специалистов по оценке качества мобильного ПО или большой отдел. В этом случае начинающий специалист может построить карьеру от джуниора до лида. Продуктовые компании также могут иметь собственное QA-подразделение.
Инструменты для тестирования мобильных приложений
Инструментарий QA-инженера достаточно богат: эмуляторы, сервисы бета-тестирования, программы для сбора статистических данных и прочее. Рассмотрим их подробнее.
Эмуляторы
Эмуляторы – программы, которые имитируют поведение других устройств. Главное преимущество эмуляторов в том, что они помогают протестировать сложные сценарии, которые не рекомендуется проводить на настоящих мобильных телефонах (если тесты могут вывести устройство из строя).
Сегодня можно найти эмуляторы для всех наиболее распространенных ОС. Например, Android SDK позволяет запускать отладку и тестирование исходного кода. К тому же, результат можно получать в режиме реального времени.
Конечно, есть и альтернативные варианты эмуляторов, например, MobiOne Developer или Electric Mobile Studio 2012, но такие решения платные.
Сервисы для бета-тестирования
Напоминаем, что бета-тестирование – активная работа с почти готовой версией продукта для нахождения всех возможных ошибок и их дальнейшего устранения.
The Beta Family – бесплатный сервис, позволяющий завести аккаунт и загрузить бета-версию приложения. После этого можно отправить приглашение протестировать ПО и затем проанализировать полученные результаты.
Сбор статистики
Статистическая информация о том, как пользователи работают с приложением, будет не лишней. Вы узнаете, какие функции привлекают пользователей больше всего, какие ошибки они совершают.
Также вы получите статистику о том, какие версии ОС чаще всего встречаются у пользователей приложения, представленность вашего приложения на географической карте. Получить такие данные можно, используя решения по сбору информации. Примерами наиболее распространенных бесплатных систем являются Google Analytics, Flurry, BugSence, Apsalar.
Для эффективного тестирования программных продуктов многие компании комплектуют собственный парк мобильных устройств. Это большая коллекция самых разнообразных гаджетов от умных часов до планшетов и электронных книг на базе различных ОС. Чем больше парк устройств, тем больше дефектов ПО можно выявить и сделать мобильное приложение более качественным и надёжным.
Частые дефекты в тестировании мобильных приложений
Говоря о тестировании мобильных приложений, можно выделить ряд специфических багов.
Остановка работы приложения
Подобное случается, когда в приложении есть неустранённые дефекты. Как только приложение внезапно прекращает свою работу, пользователь получает уведомление об ошибке. Но не всегда перезагрузка или очистка памяти устройства помогает.
Иногда нужно прибегнуть и к более радикальным методам. Например, полная очистка внутренней памяти, переустановка приложения или даже сброс к заводским настройкам. В этом случае пользовательские данные стираются без возможности последующего восстановления.
Ошибки в поддержке разных версий ОС, браузеров и устройств
Это часто случается с гаджетами, чьи платформы уже не обновляются разработчиками. Дефекты обнаруживаются при выполнении кросс-платформенного и кросс-браузерного тестирования. Некоторые ошибки возможно исправить, но избавиться от наиболее серьёзных багов можно лишь после смены гаджета.
Рекомендуется проводить тестирование на различных операционных системах (Windows, Android, macOS, Linux) и в разных браузерах (Chrome, IE, Opera, Firefox, Safari, Konqueror и другие). Однако объем тестирования, конечно, зависит от требований заказчика.
Сбои при отображении на экранах разного разрешения
Такие ошибки возникают, когда приложение не оптимизировано для работы на устройствах с разным разрешением экрана. Также элементы интерфейса могут деформироваться при смене положения смартфона в пространстве.
Дефекты в локализации приложения
Поскольку сейчас мобильные приложения в основном предназначены для использования на международном рынке, тестированию локализации уделяют много внимания.
К процессу локализации можно отнести не только перевод текста на другой язык. Здесь важно учитывать и присущие каждой конкретной культуре особенности перевода. Например, корректная передача аббревиатур, имён, валют, форматов даты и времени. Даже цвет может иметь значение. Например, в западной культуре традиционным цветом траура считается чёрный, а вот в Индии, Японии и Корее его место занимает белый.
Локализационные ошибки возникают очень часто и нередко они отпугивают пользователей, снижают успех приложения на конкретном рынке.
Рекомендации
Как же начинающему инженеру подготовиться к тестированию мобильных приложений?
Мы рекомендуем пройти обучение основам тестирования программного обеспечения, поскольку базовые проверки при тестировании настольных и мобильных приложений будут совпадать.
Параллельно стоит уделять время самообразованию. Читайте материалы про мобильные технологии, особенности разных платформ, новинки устройств. В одной из наших статей мы рассказали о полезных для QA-инженеров книгах. Новички в области мобильного тестирования найдут там полезные материалы и для себя.
Кроме того, существуют различные гайдлайны, например, Human Interface Guideline от Apple, где содержатся требования к мобильным приложениям по различным аспектам. Изучайте их.
Многие полезные материалы публикуются только на английском языке, а перевод появляется с таким запозданием, что успевает потерять свою актуальность. Поможет справиться с большим массивом новой информации знание английского языка. Мы рассказали, как тестировщику эффективно его изучать.
И ещё один совет. Устанавливайте на свой смартфон различные приложения, обращайте внимание на их работу и на те дефекты, о которых вы бы сообщили разработчикам.
И, конечно, пытайтесь получить бесценный опыт работы с реальными продуктами. Фриланс, краудтестинг или начальные позиции в ИТ-компаниях – вариантов много. Подбирайте лучший для вас и дерзайте!