Тестируя мобильные приложения, я в основном пользуюсь мнемоникой I SLICED UP FUN, созданной Джонатаном Колом. Она помогает мне сконцентрироваться на различных областях наших приложений. Сегодня я хочу поделиться своей собственной мнемоникой – она называется MOBILE APP TESTING. Правда, легко запомнить? Ниже – подробное описание мнемоники с объяснениями, подсказками и ресурсами, которые помогут вам тестировать мобильные приложения.

M – Мобильное устройство

На ранних стадиях жизненного цикла разработки ПО можно удовлетвориться тестированием на симуляторах или эмуляторах, но я рекомендую тестирование на реальных устройствах. Чем ближе срок релиза вашего приложения, тем больше нужно тестировать на настоящих девайсах.

Я рекомендую выбирать устройства, которые использует ваша целевая аудитория. Если вы точно не знаете, чем она пользуется, исследуйте рынок, опираясь на ваших целевых потребителей. Если у вас нет такого исследования, можно воспользоваться отчетом о тестовом покрытии от Perfecto Mobile, чтобы узнать, какими устройствами больше всего пользуются в разных странах. Когда вы сформировали список устройств, сгруппируйте его, чтобы расставить приоритеты в соответствии с вашей целевой аудиторией или целевыми потребителями.

O – Ориентация

Мобильные приложения могут использоваться при портретной и ландшафтной ориентации экрана. Если ваше приложение поддерживает обе, тестировщик должен это проверить. К примеру, можно провести следующие тесты:

Выполните эти тесты несколько раз за короткое время, чтобы проверить, что приложение способно заново отрисовать интерфейс и представить все элементы верно. Я писал подробную статью о тестировании ориентации устройств, и отличную статью на эту тему публиковали QATestlab.

B – мобильные Браузеры

Не все мобильные приложения нативны – многие из них представляют собой веб-страницы или гибридные приложения, основанные на веб-технологиях. Чтобы протестировать мобильное веб-приложение, команда (тестировщик) должна провести тесты в различных мобильных браузерах, на различных разрешениях экрана и при различной плотности пикселей, чтобы убедиться, что приложение работает, как и должно.

На ранних этапах процесса разработки вам пригодятся инструменты разработчика Google Chrome, позволяющие менять тип устройства или разрешение экрана на десктопном браузере Chrome. Финальное тестирование должно проводиться на реальном устройстве с наиболее распространенным среди целевой аудитории браузером. Посмотрите вебинары "Mobile Testing 101" от Стивена Янавея, объясняющие, как пользоваться инструментами разработчика Chrome в мобильном тестировании.

I – Interrupts (прерывания)

Прерывания на мобильном устройстве бывают разными. К примеру, это системные нотификации или нотификации приложений, будильник, звонки. Эти типы прерываний могут сильно влиять на приложение, и тестировать их необходимо для проверки его работы.

Простой тест на прерывание – это позвонить на устройство, когда приложение активно. Тестируя этот сценарий, тестировщик должен посмотреть, как приложение справляется с входящим звонком, а также на то, как оно справится с завершением звонка.

Это всего лишь один сценарий, который может повлиять на работу приложения. В зависимости от сценария использования тестировщик должен спроектировать различные возможные сценарии прерываний и протестировать их в процессе разработки.

Чтобы получить первое быстрое представление об устойчивости вашего приложения, можно пользоваться инструментами вроде ADB monkey для Android для генерации случайных прерываний и наблюдейний, как приложение с ними справляется. Антуан Мерле написал отличное руководство по настройке и использованию этого инструмента.

Помимо программных прерываний, которые нужно тестировать на мобильном устройстве, есть еще хардварные прерывания. Вот примеры таких прерываний, которые стоит протестировать: