Как тестировать мобильное приложение: советы и рекомендации

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

Что такое финальная отладка?

Финальная отладка – это проверка всех элементов системы по окончанию разработки. Наша команда делает проекты с клиент-серверной архитектурой, где присутствуют разные элементы: back-end, frond-end, мобильные клиенты, API и т.д. Когда в конце проекта все сущности системы синхронизируются, могут возникнуть ошибки. Тестирование на этапе финальной отладки – ключевой процесс. Его задача выпустить рабочую системе, где все элементы работают согласно Технического задания.

Функциональное тестирование

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

  1. Тип приложения, определяемый его бизнес-функциональностью (банкинг, игровая индустрия, социальные сети, образование).

  2. Целевая аудитория (пользователь, компания, образовательная среда).

  3. Канал, по которому распространяется приложение (например, App Store, Google Play или раздача напрямую).

Основные сценарии функциональных тестов:

  1. Проверить корректность работы обязательных полей.

  2. Убедиться, что обязательные поля отображаются на экране не так, как необязательные.

  3. Убедиться, что работа приложения во время запуска/выхода удовлетворяет основным требованиям.

  4. Убедиться, что приложение переходит в фоновый режим в случае входящего звонка. Для этого вам понадобится еще один телефон.

  5. Проверить, может ли телефон хранить, принимать и отправлять SMS-сообщения во время работы приложения. Для этого вам понадобится другой телефон, с которого можно отправить сообщение на тестируемое устройство с уже запущенным приложением.

  6. Убедиться, что устройство работает в многозадачном режиме, когда это необходимо.

  7. Проверить, как функционируют необходимые опции для работы с социальными сетями — Поделиться, Публикация, Навигация.

  8. Убедиться, что приложение поддерживает платежные операции через системы оплаты Visa, Mastercard, Paypal и др.

  9. Проверить адекватность работы сценариев прокрутки страницы.

  10. Проверить, присутствует ли надлежащая навигация между важными модулями приложения.

  11. Убедиться, что количество ошибок округления минимально.

  12. Проверить наличие сообщений об ошибках, например, сообщения «Ошибка сети. Пожалуйста, попробуйте позже» в случае некорректной работы сети.

  13. Убедиться, что установленное приложение не препятствует нормальной работе других приложений и не съедает их память.

  14. Проверить, способно ли приложение вернуться в то состояние, в котором оно находилось перед приостановкой (например, жесткая перезагрузка или системный сбой).

  15. Установка приложения должна проходить без значительных ошибок при условии, что устройство соответствует системным требованиям.

  16. Убедиться, что автоматический запуск приложения работает корректно.

  17. Проверить, как приложение работает на всех устройствах поколений 2G, 3G и 4G.

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

  19. Убедиться, что существует доступное руководство пользователя.

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

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

Материал спонсора. «Тестирование web-приложений» от Skillbox

Skillbox предоставляет бесплатный доступ к части уроков своей платной обучающей программы «Профессия Тестировщик». Успейте попробовать!

Длительность: 21 урок.

Формат обучения: видеоуроки + домашние задания без проверки.

Программа обучения:

  1. Основы тестирования веб-приложений.
  2. Тестирование текстовых полей.
  3. Тестирование текста, чисел и дат с использованием граничных значений.
  4. Что такое хорошая спецификация? Правильное оформление баг-репорта.
  5. Тестирование форм регистрации.

Чему научитесь:

  • Функциональному и нефункциональному тестированию сайтов и приложений
  • Работать в таск-трекерах
  • Использовать шаблоны тест-планов, тест-кейсов, сценариев и чек-листов
  • Тестированию мобильных приложений
  • Техникам тест-дизайна
  • Работе в панели инструментов веб-разработчика
  • Основным методам автоматизации
  • Основам программирования на Java
  • Тестированию пользовательских интерфейсов

Особенности курса:

  • Доступ к материалам курса даётся на 7 дней

Кто проводит курс

  • Владимир Авилов — QA-инженер в ITooLabs
  • Евгений Данилов — глава отдела QA в Samsung NEXT, тимлид группы Frontend-разработки инвестиционного маркетплейса Московской биржи
  • Арсений Батыров — тимлид QA
  • Михаил Овчинников — главный методист технического направления Skillbox
  • Даниил Пилипенко — основатель центра подбора IT-специалистов SymbioWay, профессиональный программист с опытом работы более 15 лет
  • Алексей Закеев — руководитель отдела тестирования в HeroCraft
  • Марина Третьякова — ведущий специалист по тестированию в «СКБ Контур»
  • Дмитрий Якин — ведущий специалист по тестированию в «СКБ Контур»
  • Иван Румак — ведущий QA-инженер в «СКБ Контур»
  • Андрей Малых — QA Automation Lead

Тестирование производительности

Основная цель этого вида тестирования — убедиться в том, что приложение работает приемлемо при определенных требованиях производительности: доступ большому числу пользователей, устранение важного элемента инфраструктуры, как, например, сервера базы данных, и др.

Основные сценарии тестирования производительности мобильных приложений:

  1. Определить, работает ли приложение одинаково в разных условиях загрузки сети.

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

  3. Выяснить, обеспечивает ли существующая клиент-серверная конфигурация оптимальную производительность.

  4. Найти различные узкие места приложения и инфраструктуры, которые снижают производительность приложения.

  5. Проверить, соответствует ли требованиям время реакции приложения.

  6. Оценить способность продукта и/или аппаратного обеспечения справляться с планируемыми объемами нагрузки.

  7. Оценить время, в течение которого аккумулятор может поддерживать работу приложения в условиях планируемых объемов нагрузки.

  8. Проверить работу приложения в случаях перехода из Wi-Fi-сети в мобильную 2G/3G-сеть и наоборот.

  9. Проверить, что каждый из уровней памяти процессора работает оптимально.

  10. Убедиться в том, что потребление батареи и утечка памяти не выходят за пределы нормы, а работа различных ресурсов и сервисов, таких как GPS-навигация или камера, соответствует требованиям.

  11. Проверить стойкость приложения в условиях жесткой пользовательской нагрузки.

  12. Проверить эффективность сети в условиях, когда устройство находится в движении.

  13. Проверить производительность приложения, если оно работает в условиях непостоянного подключения к интернету.

Виды тестирования

В зависимости от задачи, QA специалист выбирает вид тестирования, инструменты и степень автоматизации. Это оформляется в виде плана тестирования.

Степень автоматизации: ручное тестирование, полуавтоматизированное тестирование, автоматизированное тестирование.

Типы тестирования: приемочное тестирование, дымовое тестирование, регрессионное тестирование, бета-тестирование.

QA выбирает цель тестирования:

  • Инсталляционное тестирование
  • Функциональное тестирование
  • Тестирование производительности (нагрузочное тестирование, тестирование стабильности, объемное тестирование)
  • Стресс-тестирование (тестирование на отказ и восстановление)
  • Юзабилити-тестирование
  • Тестирование интерфейса пользователя
  • Тестирование безопасности
  • Тестирование локализации
  • Тестирование совместимости
  • Тестирование данных и целостности базы данных

Виды мобильного тестирования

Функциональное тестирование

Этап 3: Тестовые случаи и разработка сценариев тестирования приложения

Подготовьте документ, описывающий тестовые случаи (test cases) для каждой тестируемой функции и функциональности.

В дополнение к функциональным тестовым случаям, также должны быть охвачены некоторые отдельные моменты (кейсы):

• Особенность использование батареи;
• Скорость работы приложения;
• Требования к данным;
• Объем используемой памяти.

Также перед началом тестирования важно определиться, какое сочетание ручного и автоматического тестирования вы будете применять.

При необходимости подготовьте отдельные наборы ручных тестовых случаев и сценариев для автоматического тестирования и адаптируйте их согласно требованиям проекта.

Что мы проверяем для веб-проектов?

Юзабилити:

  • Сайт должен соответствовать дизайну и прототипу сайта.
  • На момент сдачи сайта каталог должен соответствовать тому, который есть в прототипе.
  • Замечания по удобству использования сайта.
  • Вещи, которые внедрили в проект, но они аномально нагружают систему.
  • Проверяется адаптивность сайта. Используется такие сервисы как http://ipadpeek.com/ и http://beta.screenqueri.es/
  • Скорость загрузки сайта на разных разрешениях.

Нагрузка:

  • Для нагрузочного тестирования используется сервис loadstorm.com
  • Нагрузочное тестирование API, проводится если на сайте используются внутренние или сторонние API.

Валидность:

  • Проверяем сайт на валидацию верстки, используем ресурс http://validator.w3.org/

Кроссбраузерность:

  • Проверяем сайт на всех поддерживаемых браузерах.

Безопасность:

  • Проверяем сайт на наличие вредоносного кода http://antivirus-alarm.ru/proverka/
  • Проверяем сайт на уязвимости http://find-xss.net/ делаем проверку сканерами sql инъекций, xss сканер и find-link

Скорость загрузки и работы сайта:

  • Проверяем сайт на скорость работы https://developers.google.com/speed/pagespeed/insights/, согласно стандартам скорость должна быть 0,4 секунды.
  • Проверяем сайт на битые ссылки http://anybrowser.com/linkchecker.html

И другие параметры.

Нестандартное поведение пользователей

1. Работа в движении. Это совсем не значит, что вам нужно будет устраивать марафоны с телефоном в руке. Но важно понимать, что одно из преимуществ использования именно мобильного устройства в том, что ваше приложение может быть запущено даже в очереди в магазин. А значит, никто не может исключить случайные нажатия кнопок, и в наши задачи входит подумать о подтверждениях действий, не переборщив с ними.

2. Погодные условия. Солнце, дождь, жара, а ваше приложение работает так же хорошо! Да, да. Мы не умеем управлять погодой, но мы можем предусмотреть достаточно контрастные цвета, чтобы даже в условиях повышенной освещенности пользовательские сообщения оставались доступными и читаемыми, а кнопки различимыми.

3. Перевороты экрана

Рекомендации

Как же начинающему инженеру подготовиться к тестированию мобильных приложений?

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

Параллельно стоит уделять время самообразованию. Читайте материалы про мобильные технологии, особенности разных платформ, новинки устройств. В одной из наших статей мы рассказали о полезных для QA-инженеров книгах. Новички в области мобильного тестирования найдут там полезные материалы и для себя.

Кроме того, существуют различные гайдлайны, например, Human Interface Guideline от Apple, где содержатся требования к мобильным приложениям по различным аспектам. Изучайте их.

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

И ещё один совет. Устанавливайте на свой смартфон различные приложения, обращайте внимание на их работу и на те дефекты, о которых вы бы сообщили разработчикам.

И, конечно, пытайтесь получить бесценный опыт работы с реальными продуктами. Фриланс, краудтестинг или начальные позиции в ИТ-компаниях – вариантов много. Подбирайте лучший для вас и дерзайте!

Литература

  1. J.Harty. A Practical Guide to Testing Wireless Smartphone Applications, Morgan & Claypool, 2009.

Джерри Гао (jerry.gao@sjsu.edu) — профессор факультета вычислительной техники Университета Сан-Хосе (США), Сяоин Бай (baixy@tsinghua.edu.cn) — адъюнкт-профессор факультета информатики и вычислительной техники Университета Цинхуа (Китай), Вей-Тек Цай (wtsai7@gmail.com) — профессор факультета информатики и вычислительной техники Высшей школы информатики, вычислительной техники и систем принятия решений при Университете штата Аризона (США), Тадахиро Уэхара (Uehara.tadahiro@jp.fujitsu.com) — Fujitsu Laboratories (Япония).

Jerry Gao, Xiaoying Bai, Wei-Tek Tsai, Tadahiro Uehara, Mobile Application Testing: A Tutorial. IEEE Computer, February 2014, IEEE Computer Society. All rights reserved. Reprinted with permission.

Средства тестирования программ,нагрузочное тестирование,мобильное приложение,mobile application testing,load testing,application testing tools

Отчет по результатам тестирования

После проведения тестирования составляется отчет.

zen.yandex.ru
zen.yandex.ru

Источники

  • https://dzone.com/articles/top-10-mobile-performance-testing-tools-in-2020
proglib.io
Рейтинг
( 1 оценка, среднее 5 из 5 )
Загрузка ...