Тестирование мобильных приложений – это процесс, с помощью которого прикладное ПО, разработанное для портативных мобильных устройств, проверяется на его функциональность, удобство использования и совместимость. Тестирование может быть мануальным или автоматизированным.
- Функциональное тестирование является самым базовым тестом для любого приложения, для проверки соответствия требованиям. Подобно другим приложениям, основанным на пользовательском интерфейсе, мобильные приложения требуют ряда взаимодействий человека в пользовательских сценариях.
- Тестирование совместимости имеет самую высокую важность, когда дело доходит до тестирования мобильных приложений. Цель теста на совместимость мобильного приложения, как правило, состоит в том, чтобы ключевые функции приложения работали должным образом на конкретном устройстве. Сама совместимость должна занимать всего несколько минут и может быть спланирована заранее. Решить, какие тесты на совместимость мобильных устройств следует выполнить не легкая задача (поскольку тестирование со всеми существующими устройствами просто невозможно). Поэтому необходимо подготовить тестовую матрицу с каждой возможной комбинацией и расставить приоритеты для клиента.
- Localization Testing. В настоящее время большинство приложений предназначены для глобального использования, и очень важно заботиться о региональных особенностях, таких как языки, часовые пояса и т.д. Важно проверить функциональность приложения, когда кто-то меняет часовой пояс. Необходимо учитывать, что иногда западные дизайны могут не работать с аудиторией из восточных стран или наоборот.
- Laboratory testing, обычно проводимые сетевыми операторами, выполняются путем моделирования всей беспроводной сети. Этот тест выполняется для обнаружения каких-либо сбоев, когда мобильное приложение использует передачу голоса и / или данных для выполнения некоторых функций.
- Performance Testing охватывает производительность клиентских приложений, сервера и сети. Благодаря Performance Testing можно идентифицировать существующие сети, серверы и узкие места серверных приложений, учитывая предопределенную нагрузку и сочетание транзакций.
- Stress Testing является обязательным тестированием на пути обнаружения исключений, зависаний и взаимоблокировок, что может остаться незамеченными во время тестирования функциональности и пользовательского интерфейса.
Вот список некоторых критериев:
- Загрузите в свое приложение как можно больше данных, чтобы попытаться достичь его предела.
- Выполняйте одни и те же операции снова и снова.
- Выполняйте повторные операции на разных скоростях, очень быстро или очень медленно.
- Оставьте ваше приложение работающим в течение длительного периода времени, одновременно взаимодействуя с устройством и просто оставляя его бездействующим, или выполняя некоторую автоматическую задачу, которая занимает много времени, например, слайд-шоу.
- Случайно отправлять экранные нажатия и нажатия клавиш в вашем приложении.
- На вашем устройстве должно быть запущено несколько приложений, чтобы вы могли часто переключаться между приложением и другими приложениями на устройстве.
- Security Testing помогает выявить все возможные уязвимости в отношении политик взлома, аутентификации и авторизации, безопасности данных, управления сеансами и других стандартов безопасности. Приложения должны шифровать имя пользователя и пароли при аутентификации пользователя по сети.
Один из способов тестирования сценариев, связанных с безопасностью, заключается в маршрутизации данных вашего мобильного устройства через прокси-сервер, такой, как OWASP Zed Attack Proxy, и поиске уязвимости.
- Usability Testing оценивает приложение на основе следующих трех критериев для целевой аудитории: эффективность; точность и полнота; удовлетворенность. Очень важно провести юзабилити-тестирование с самого раннего этапа разработки приложения. Этот вид тестирования требует активного участия пользователей, и результаты могут повлиять на дизайн приложения, что очень трудно изменить на более поздних этапах проекта.
Существует еще множество тестов, которые необходимо провести при тестировании мобильного приложения:
- Installation/Uninstallation testing
- Updates Testing
- Certification Testing
- Screen Orientation / Resolution
- Memory Leakage Testing
- Available Tools
- Touch Screens
- Soft & Hard Keys