Мне предстоит тестировать мобильное приложение 8 (800) 100-00-23 www.softlinegroup.com info@softline.ru | info@softlinegroup.com Артем Селехов Тестировщик a- selehov@yandex.ru Как? Что тестировать? Как это делать? В чем же отличия от того, что я тестировал ранее? Анализ был произведен двумя методами: Личный опыт Опыт гугла Тестирование это очень важный этап разработки мобильных приложений Так если пользователю не понравится интерфейс или качество работы приложения, то он установит другое приложение. (Но только не в нашем случае ) При этом подход к качеству приложения должен быть более требовательным. Как это делать? В ПМИ добавил такой раздел - Специальные проверки Отличия, методы и ошибки Тестирование мобильных приложений специфично и методики тестирования отличаются от тестирования обычных веб приложений Установка\Удаление. Установка обновления. Такого в вебе не было, там просто была ссылка, а тут это надо тестировать. Ошибается тот кто считает, что это не надо тестировать. Какие были ошибки: a)Приложение не устанавливалось. б)Дублирование иконки приложения. в)При удалении приложения с авторизованным пользователем не происходила отписка от уведомлений пользователя. г)После установки приложения поверх старого,оказался авторизованным на бою. д)Время установки и иконка приложения. Удобство использования. Критичность этого тестирования в приложениях более существенна. Подгружаемая клавиатура должна быть оптимальна. К примеру, если поле для ввода e-mail, то обязательно на первом экране должна быть @.(Искал раскладку на Android) Номера телефонов должны быть кликабельны, с возможностью осуществить вызов. Не помещающийся список меню должен прокручиваться полноценно до конца. Правильная обработка событий. К примеру, двойной клик и одинарный на одном элементе, долгое нажатие. Удобная навигация для различных телефонов.(с кнопками и без) «Сенсорная мишень» элемента должна быть достаточной. Не менее 48 х 48 пикселей. Пространство между активными элементами не менее 8 пикселей. Удобство использования. Сохранение логина,последней успешной авторизации. Клавиатура должна скрываться при уходе (свайпом к меню) с экрана с формой. Не должно быть серверных ошибок с текстом на другом языке. Текстовый контент должен быть читаем! Тестирование прерываний. Это тестирование проверяет как реакцию приложения на внешние прерывания так и работу других функций телефона в момент работы в приложении. Что надо проверять: Входящий вызов и смс. Если при работе в приложении поступает входящий вызов или смс, пользователь должен их увидеть и без проблем ответить или отреагировать на них. При этом в приложении должно все остаться как было. Напоминание,уведомление и будильник. Соответственно. Блокировка,сон или переход к другому приложению. По возвращению в приложение в нем должно все остаться как было(Заполненные поля формы, сохранение игры) Подключение зарядного устройства, включение или отключение Bluetooth, Wi-Fi, GPS, Авиарежим. Тестирование верстки. Ориентация экрана. Как правило для смартфонов делается вертикальная ориентация экранов, для планшетов- горизонтальная. Следует тестировать адекватность отображения при смене ориентации. Также стоит проверить запуск приложения предварительного свернутого при другой ориентации. Возможны краши приложения и другие неприятности. Размеры элементов. Пользователь должен нормально попадать по ним. Часто в планшетной версии делают элементы как на смартфоне,хотя место позволяет все увеличить в масштабе раза в 2. Размеры шрифта. На Android планшетах приходится поиграться с ними для читабельности. Отсутствие пустых экранов. Переходы от экрана к экрану. Они должны быть сглажены. Не должно быть лишних мерцаний. Проверять на экранах ретина и не ретина.(разрешения) Нагрузочное тестирование и тестирование производительности Отличия в данном виде тестирования тоже существуют. Необходимо выяснить как влияет сервис приложения на работу сервисов заказчика. Для этого необходимо нагружать сервисы заказчика,затем такими же запросами и сценарием сервис приложения, анализировать полученные результаты и делать выводы, как сервис приложения влияет на характеристики сервисов заказчика. Таким образом можно будет выявить пределы производительности. Итак главное перед нагрузочным тестирование разобраться в схеме взаимодействия приложения с сервером. Обязательно приложение должно нормально восстанавливаться после сбоев и функционировать без ошибок. Качество связи и мобильность - Различные типы связи(Wi-Fi, 3G, 4G).Наличие постоянной хорошей связи. - Проверка поведения приложения при переходе из одного типа связи в другой(wi-fi-3G) - Проверка поведения приложения при нестабильной связи. - Проверка поведения приложения при потере связи. При этом хоть какая-то информация должна присутствовать и пользователь должен понимать, что произошла потеря связи. - Проверка синхронизации приложения (параметров) при восстановлении связи. Обратная связь(реакция на действие) -При клике на любой элемент должен быть отклик. Меняется цвет элемента или визуализация нажатия. У приложений на Android есть еще индикация наведения на элемент -Наличие индикатора прогресса - Наличие сообщений об ошибках и успехе -Подтверждение важных действий -Синхронность c оповещением звуком, индикацией, вибрацией Push уведомления Проверка получения уведомлений Проверка неполучения при запрете Проверка всех стилей напоминаний Проверка уведомления со звуком и без него Проверка синхронности получения уведомления и звука Проверка получения уведомлений при работе в данном приложении. Проверка получения уведомлений при работе в другом приложении. Проверка получения уведомлений при заблокированном телефоне. Проверка получения уведомлений после пропадания связи Проверка получения уведомлений после включения их. Кэш Обязательно должна происходить очистка данных приложения при его удалении. После установки приложения поверх старого,оказался авторизованным на бою. Вход под последним удачно авторизованным пользователем с любым логином и паролем. Сумма вЛК не обновилась после проведения операции. Monkey test Тестирование реакции приложения на нестандартные действия глупого или сильно умного пользователя. Проверка touch-интерфейса. Многократные клики по одной кнопке. Одновременное нажатие нескольких кнопок сразу. Как установить приложение? Почта Популярный месседжер Qr-код http://install.diawi.com/ Что потребуется тестировщику 1.Наличие поддерживаемых устройств. 2. Зарядки к ним и кабелиUSB. 3. Установленные приложения для считывания qr-кодов,к примеру -QR Reader. 4. Знание – как делается скриншот на устройствах и как его оттуда извлечь. 5. Наличие версионности у приложений. Желательно пометки с направлением приложения(prod,dev). 6. Понимание схемы взаимодействия приложения с сервером, сайтом. 7. Интернет wi-fi и интернет оператора сотовой связи(sim карта) 8.Возможность снятия видео с экрана телефона. Бывают такие ошибки,которые лучше показать. 9. Список всех устройств с названиями и версиями ОС. 10. Наличие аккаунтов. Google,Microsoft, App Store. Как смотреть запросы к серверу от приложения? Charles – это отладочный веб-прокси сервер. http://www.charlesproxy.com/ Fiddler — прокси снифер. Куда двигаться дальше? Автоматизация Безопасность Реклама в переходах и на экранах Локализации GPS Энергопотребление Оперативная память и процессор Акселерометр Примеры ошибок Спасибо за внимание! НАМ ДОВЕРЯЮТ С НАМИ СОТРУДНИЧАЮТ НА ДОЛГОСРОЧНОЙ ОСНОВЕ НАС РЕКОМЕНДУЮТ