Тестирование мобильного приложения - Mobile application testing - Wikipedia
| Эта статья поднимает множество проблем. Пожалуйста помоги Улучши это или обсудите эти вопросы на страница обсуждения. (Узнайте, как и когда удалить эти сообщения-шаблоны) (Узнайте, как и когда удалить этот шаблон сообщения) |
Тестирование мобильного приложения это процесс, посредством которого программное обеспечение разработан для портативных мобильных устройств, протестирован на его функциональность, удобство использования и согласованность.[1] Тестирование мобильных приложений может быть автоматическим или ручным.[2] Мобильные приложения либо предустановлены, либо могут быть установлены с мобильных платформ распространения программного обеспечения. Выручка от мобильных приложений в мире составила 69,7 млрд долларов. доллар США в 2015 году и, по прогнозам, к 2020 году составит 188,9 млрд долларов США.[3]
Bluetooth, GPS, датчики и Wi-Fi - некоторые из основных технологий, используемых в носимых устройствах.[4] Соответственно, при тестировании мобильных приложений основное внимание уделяется полевым испытаниям, ориентации на пользователей и поиску областей, в которых аппаратное и программное обеспечение необходимо тестировать одновременно.
Ключевые проблемы тестирования мобильных приложений
- Должен быть загружен: Приложение должно быть доступно для конкретной платформы, как правило, из магазин приложений.
- Разнообразие мобильных платформ / ОС:Они разные мобильные операционные системы в магазине. Основные из них Android, iOS, и телефон с операционной системой Виндоус. Каждая операционная система имеет свои ограничения.
- Доступность устройства: Доступ к нужному набору устройств при постоянно растущем списке устройств и версий операционных систем является постоянной проблемой тестирования мобильных приложений. Доступ к устройствам может стать еще более затруднительным, если тестировщики разбросаны по разным местам.
- Операторы мобильной связи: Их более 400 операторы мобильной связи в мире;[5] некоторые CDMA, немного GSM, а другие используют менее распространенные сетевые стандарты, например FOMA, и TD-SCDMA.
- Сценарии: Разнообразие устройств делает выполнение тестовый сценарий (сценарий) ключевой вызов. Поскольку устройства различаются нажатия клавиш, методы ввода Один скрипт, структура меню и свойства отображения не работает на всех устройствах.
- Метод испытания: Есть два основных способа тестирования мобильных приложений: тестирование на реальные устройства или тестирование на эмуляторы.[6] Эмуляторы часто упускают из виду проблемы, которые могут быть обнаружены только путем тестирования на реальных устройствах, но из-за множества различных устройств на рынке реальные устройства могут быть дорогими в покупке и требовать много времени для тестирования.[7][8]
- Совместимость: Надо проверить совместимость; предположим, что приложение может работать с высоким разрешением и не работает с более низким разрешением.[требуется разъяснение ]
- Должен быть в состоянии поднять трубку: При выполнении приложения приложение должно иметь возможность принимать вызов.
- Разнообразие мобильных устройств: Мобильные устройства различаются способами ввода с экрана (QWERTY, тач, нормальный) с разными аппаратными возможностями.
Виды тестирования мобильных приложений
- Функциональное тестирование гарантирует, что приложение работает в соответствии с требованиями. Большинство тестов, проводимых для этого, зависит от пользовательского интерфейса и потока вызовов.
- Лабораторные испытания, обычно выполняемый сетевыми операторами, осуществляется путем моделирования всей беспроводной сети. Этот тест проводится для выявления любых сбоев, когда мобильное приложение использует голосовое и / или информационное соединение для выполнения некоторых функций.
- Тестирование производительности предпринимается для проверки производительности и поведения приложения при определенных условиях, таких как низкий заряд батареи, плохое покрытие сети, недостаток доступной памяти, одновременный доступ к серверу приложения несколькими пользователями и другие условия. На производительность приложения можно повлиять с двух сторон: со стороны сервера и со стороны клиента. Тестирование производительности выполняется для проверки обоих.
- Тестирование утечки памяти: Утечка памяти происходит, когда компьютерная программа или приложение не может управлять выделенной памятью, что приводит к снижению производительности приложения и общему замедлению работы системы. Поскольку мобильные устройства имеют значительные ограничения доступной памяти, тестирование на утечку памяти имеет решающее значение для правильного функционирования приложения.
- Прерывание тестирования: Приложение во время работы может столкнуться с несколькими сбоями, такими как входящие вызовы или выход из строя и восстановление сети. Различные типы прерываний:
- Входящие и исходящие SMS и MMS
- Входящие и исходящие звонки
- Входящие уведомления
- Удаление батареи
- Вставка и извлечение кабеля для передачи данных
- Отключение сети и восстановление
- Включение / выключение медиаплеера
- Цикл питания устройства
- Приложение должно иметь возможность обрабатывать эти прерывания, переходя в приостановленное состояние и затем возобновляя работу.
- Юзабилити-тестирование выполняется для проверки того, достигает ли приложение своих целей и получает ли положительный отклик пользователей. Это важно, поскольку удобство использования приложения - его ключ к коммерческому успеху (это не что иное, как удобство для пользователя).[9] Еще одна важная часть юзабилити-тестирования - убедиться, что взаимодействие с пользователем одинаково на всех устройствах.[10] Этот раздел тестирования призван решить ключевые проблемы, связанные с разнообразием мобильных устройств и разнообразием мобильных платформ / ОС, что также называется фрагментацией устройств. Одна из ключевых частей этого типа тестирования удобства использования - убедиться, что нет серьезных ошибок в функциональности, размещении или размере пользовательского интерфейса на разных устройствах.[11]
- Тестирование установки: Некоторые мобильные приложения предустановлены на устройстве, тогда как другие должны быть установлены в магазине. Тестирование установки подтверждает, что процесс установки проходит гладко, без каких-либо трудностей для пользователя. Этот процесс тестирования охватывает установку, обновление и удаление приложения.
- Сертификационные испытания: Чтобы получить сертификат соответствия, каждое мобильное устройство необходимо протестировать на соответствие рекомендациям, установленным для разных мобильных платформ.
- Тестирование безопасности проверяет уязвимости для взлома, политики аутентификации и авторизации, безопасности данных, управления сеансами и других стандартов безопасности.[12]
- Тестирование местоположения: Связь меняется в зависимости от сети и местоположения, но вы не можете имитировать эти меняющиеся условия в лаборатории. Только в стране[требуется разъяснение ] неавтоматические тестировщики могут выполнять комплексное тестирование удобства использования и функциональности.
- Тестирование устаревшего программного обеспечения: Не все регулярно обновляют свою операционную систему. Некоторые пользователи Android могут даже не иметь доступа к последней версии. Профессиональные тестировщики могут тестировать устаревшее программное обеспечение.
- Нагрузочное тестирование: Когда многие пользователи пытаются загрузить, загрузить и использовать приложение или игру одновременно, может произойти медленное время загрузки или сбои, в результате чего многие клиенты откажутся от вашего приложения, игры или веб-сайта. Тестирование на людях в стране, проводимое вручную, является наиболее эффективным способом проверки нагрузки.[13]
- Тестирование черного ящика не включает внутреннюю логику кодирования приложения. Тестировщик проверяет функциональность приложения без пиринга с внутренней структурой приложения.[требуется разъяснение ] Этот метод тестирования может применяться практически на всех уровнях тестирования программного обеспечения: модульное, интеграционное, системное и приемочное.
- Краудсорсинговое тестирование: В последние годы краудсорсинговое тестирование стало популярным, поскольку компании могут тестировать мобильные приложения быстрее и дешевле, используя глобальное сообщество тестировщиков. Из-за растущего разнообразия устройств и операционных систем, а также потребностей в локализации сложно всесторонне тестировать мобильные приложения с помощью небольших внутренних групп тестирования. Глобальное сообщество тестировщиков обеспечивает легкий доступ к различным устройствам и платформам. Глобально распределенная команда также может протестировать его в нескольких местах и в разных сетевых условиях. Наконец, проблемы с локализацией можно проверить, наняв тестировщиков в необходимых регионах. Поскольку реальные пользователи, использующие реальные устройства, тестируют приложение, это с большей вероятностью обнаружит проблемы, с которыми пользователи сталкиваются в реальных условиях.[14][15]
Рекомендации