Часто задаваемый вопрос от нашего ученика: как тестировать мобильные приложения? В этом руководстве мы предоставляем пример сценария тестирования / тестовых случаев для тестирования мобильного приложения.
Вы можете выполнить некоторые или все тестовые случаи на основе ваших требований к мобильному тестированию. Тестовые случаи организованы на основе мобильных типов тестирования.
- Функциональные тесты
- Тестирование производительности
- Тестовые случаи тестирования безопасности
- Тесты юзабилити
- Тесты на совместимость
- Испытания на восстанавливаемость
- Важный контрольный список
Функциональные тесты
Функциональное тестирование мобильных телефонов обычно состоит из тестирования взаимодействия с пользователем, а также тестирования транзакций. Различные факторы, которые имеют отношение к функциональному тестированию:
- Тип приложения, основанный на использовании бизнес-функций (банковское, игровое, социальное или бизнес)
- Тип целевой аудитории (потребитель, предприятие, образование)
- Канал распространения, который используется для распространения приложения (например, Apple App Store, Google play, прямое распространение)
Наиболее фундаментальными сценариями тестирования в функциональном тестировании можно считать:
- Чтобы проверить, все ли обязательные поля работают должным образом.
- Чтобы убедиться, что обязательные поля отображаются на экране отличительным от необязательных полей.
- Чтобы проверить, работает ли приложение в соответствии с требованиями при каждом запуске / остановке приложения.
- Чтобы проверить, переходит ли приложение в минимизированный режим при поступлении входящего телефонного звонка. Для проверки того же самого нам нужно использовать второй телефон, чтобы позвонить на устройство.
- Чтобы проверить, может ли телефон хранить, обрабатывать и получать SMS при каждом запуске приложения. Чтобы проверить то же самое, нам нужно использовать второй телефон для отправки смс на устройство, которое тестируется и где в данный момент выполняется тестируемое приложение.
- Чтобы убедиться, что устройство способно выполнять требуемые требования многозадачности, когда это необходимо.
- Чтобы проверить, что приложение позволяет необходимые параметры социальной сети, такие как обмен, публикация и навигация и т. Д.
- Чтобы убедиться, что приложение поддерживает любую транзакцию платежного шлюза, такую как Visa, Mastercard, Paypal и т. Д., Как того требует приложение.
- Чтобы убедиться, что сценарии прокрутки страницы включены в приложении по мере необходимости.
- Чтобы убедиться, что навигация между соответствующими модулями в приложении соответствует требованию.
- Чтобы убедиться, что ошибки усечения абсолютно допустимы.
- Чтобы подтвердить, что пользователь получает соответствующее сообщение об ошибке типа «Ошибка сети. Пожалуйста, попробуйте через некоторое время », когда есть какие-либо ошибки сети.
- Проверить, что установленное приложение позволяет другим приложениям работать удовлетворительно, и оно не загружается в память других приложений.
- Проверить, что приложение возобновляет работу при последней операции в случае полной перезагрузки или сбоя системы.
- Чтобы проверить, может ли установка приложения быть выполнена гладко, при условии, что пользователь имеет необходимые ресурсы, и это не приводит к каким-либо существенным ошибкам.
- Для проверки того, что приложение выполняет функцию автоматического запуска в соответствии с требованиями.
- Чтобы проверить, работает ли приложение в соответствии с требованием во всех версиях Mobile, то есть 2g, 3g и 4g.
- Провести регрессионное тестирование для выявления новых программных ошибок в существующих областях системы после внесения в них изменений. Также повторно запустите ранее выполненные тесты, чтобы определить, что поведение программы не изменилось из-за изменений.
- Чтобы проверить, предоставляет ли приложение доступное руководство пользователя для тех, кто не знаком с приложением
Тестирование производительности
Фундаментальная цель этого типа тестирования состоит в том, чтобы гарантировать, что приложение работает приемлемо при определенных требованиях к производительности, таких как доступ огромного числа пользователей или удаление ключевой части инфраструктуры, такой как сервер базы данных.
Общие сценарии тестирования для тестирования производительности в мобильном приложении:
- Чтобы определить, выполняет ли приложение согласно требованию при различных условиях нагрузки.
- Чтобы определить, может ли текущее покрытие сети поддерживать приложение на пиковом, среднем и минимальном уровнях пользователя.
- Чтобы определить, обеспечивает ли существующая настройка конфигурации клиент-сервер требуемый оптимальный уровень производительности.
- Выявить различные узкие места в приложениях и инфраструктуре, которые не позволяют приложению работать с требуемыми уровнями приемлемости.
- Чтобы проверить, соответствует ли время отклика приложения требованиям.
- Для оценки продукта и / или оборудования, чтобы определить, может ли он обрабатывать прогнозируемые объемы нагрузки.
- Чтобы оценить, может ли время автономной работы приложения поддерживать работу при прогнозируемых объемах нагрузки.
- Чтобы проверить производительность приложения, когда сеть меняется на WIFI с 2G / 3G или наоборот.
- Для проверки каждого необходимого цикла ЦП проводится оптимизация
- Чтобы проверить, что потребление батареи, утечки памяти, ресурсы, такие как GPS, производительность камеры находится в рамках требуемых рекомендаций.
- Для проверки долговечности приложения всякий раз, когда пользовательская нагрузка является строгой.
- Чтобы проверить производительность сети при перемещении с устройством.
- Для проверки производительности приложения, когда требуются только прерывистые фазы подключения.
Тестовые случаи тестирования безопасности
Фундаментальная цель тестирования безопасности состоит в том, чтобы обеспечить соответствие данных приложения и требований безопасности сети в соответствии с руководящими принципами.
Ниже приведены наиболее важные области для проверки безопасности мобильных приложений.
- Чтобы убедиться, что приложение способно противостоять любой грубой атаке, которая представляет собой автоматизированный процесс проб и ошибок, используемый для угадывания имени пользователя, пароля или номера кредитной карты.
- Чтобы проверить, не позволяет ли приложение злоумышленнику получить доступ к конфиденциальному контенту или функциям без надлежащей аутентификации.
- Подтвердить, что приложение имеет надежную систему защиты паролем и не позволяет злоумышленнику получить, изменить или восстановить пароль другого пользователя.
- Чтобы проверить, что приложение не страдает от недостаточного истечения сеанса.
- Выявить динамические зависимости и принять меры для предотвращения доступа злоумышленников к этим уязвимостям.
- Для предотвращения атак, связанных с SQL- инъекцией.
- Выявление и восстановление после любых сценариев неуправляемого кода.
- Чтобы убедиться, что сертификаты проверены, реализует ли приложение закрепление сертификата или нет.
- Для защиты приложения и сети от атак типа отказ в обслуживании.
- Проанализировать требования к хранению и проверке данных.
- Включение управления сеансом для предотвращения доступа незапрошенных пользователей к нежелательной информации.
- Проверить, не нарушен ли какой-либо криптографический код, и убедиться, что он исправлен.
- Чтобы проверить, защищена ли реализация бизнес-логики и не подвержена ли она какой-либо атаке извне.
- Чтобы проанализировать взаимодействия файловой системы, определите любую уязвимость и исправьте эти проблемы.
- Для проверки обработчиков протокола, например, попытка перенастроить целевую страницу по умолчанию для приложения с использованием вредоносного фрейма.
- Для защиты от вредоносных инъекций на стороне клиента.
- Для защиты от вредоносных инъекций во время выполнения.
- Изучить кеширование файлов и предотвратить любые вредоносные возможности.
- Для предотвращения небезопасного хранения данных в кеше клавиатуры приложений.
- Для расследования куки и предотвращения любых вредоносных действий с куки.
- Регулярно проводить аудит для анализа защиты данных.
- Изучите пользовательские файлы и предотвратите любые вредоносные действия из пользовательских файлов.
- Для предотвращения переполнения буфера и повреждения памяти.
- Анализировать различные потоки данных и предотвращать любые уязвимости от них.
Тесты юзабилити
Процесс тестирования удобства использования мобильного приложения выполняется для быстрого и простого пошагового приложения с меньшими функциональными возможностями, чем медленное и сложное приложение со многими функциями. Основная цель заключается в том, чтобы в итоге мы получили простые в использовании, интуитивно понятные и похожие на общепринятые в отрасли интерфейсы, которые широко используются.
- Чтобы кнопки были нужного размера и подходили для больших пальцев.
- Чтобы кнопки были расположены в одном и том же разделе экрана, во избежание путаницы с конечными пользователями.
- Для того, чтобы значки были естественными и соответствовали приложению.
- Чтобы гарантировать, что кнопки, которые имеют одинаковую функцию, также должны иметь одинаковый цвет.
- Чтобы убедиться, что проверка для увеличения и уменьшения масштаба должна быть включена.
- Чтобы обеспечить минимизацию ввода с клавиатуры соответствующим образом.
- Чтобы убедиться, что приложение предоставляет метод возврата или отмены действия при прикосновении к неправильному элементу в течение приемлемого периода времени.
- Чтобы убедиться, что контекстные меню не перегружены, потому что они должны быть использованы быстро.
- Чтобы текст был простым и понятным, чтобы его могли видеть пользователи.
- Обеспечить, чтобы короткие предложения и абзацы были доступны для чтения конечным пользователям.
- Чтобы гарантировать, что размер шрифта достаточно велик, чтобы его можно было прочитать, а не был слишком большим или слишком маленьким.
- Для проверки приложения запрашивает у пользователя всякий раз, когда пользователь начинает загружать большой объем данных, что может не способствовать производительности приложения.
- Чтобы проверить, что закрытие приложения выполняется из разных состояний и проверить, если оно повторно открывается в том же состоянии.
- Чтобы все строки были преобразованы в соответствующие языки, когда доступна возможность языкового перевода.
- Чтобы гарантировать, что элементы приложения всегда синхронизируются в соответствии с действиями пользователя.
- Гарантировать, что конечному пользователю предоставляется руководство пользователя, которое помогает конечному пользователю понять и управлять приложением, которое может быть не знакомо с работой приложения.
Юзабилити-тестирование обычно выполняется пользователями вручную, поскольку только люди могут понять чувствительность и удобство других пользователей.
Тесты на совместимость
Тестирование совместимости на мобильных устройствах выполняется, чтобы убедиться, что, поскольку мобильные устройства имеют разный размер, разрешение, экран, версию и аппаратное обеспечение, приложение должно быть протестировано на всех устройствах, чтобы убедиться, что приложение работает должным образом.
Ниже перечислены наиболее важные области тестирования совместимости.
- Чтобы проверить, что пользовательский интерфейс приложения соответствует размеру экрана устройства, никакой текст / элемент управления не является частично невидимым или недоступным.
- Чтобы текст был доступен для чтения всем пользователям приложения.
- Чтобы убедиться, что функция вызова / будильника включена при каждом запуске приложения. Приложение сворачивается или приостанавливается в случае вызова, а затем, когда вызов останавливается, приложение возобновляется.
Испытания на восстанавливаемость
- Восстановление после сбоя и прерывание транзакции
- Проверка эффективной ситуации восстановления приложения после неожиданных сценариев прерывания / сбоя.
- Проверка того, как приложение обрабатывает транзакцию во время сбоя питания (например, разрядилась батарея или внезапно отключилось устройство вручную)
- При проверке процесса, когда соединение приостанавливается, система должна быть восстановлена для восстановления данных, непосредственно затронутых приостановленным соединением.
Важный контрольный список
- Тестирование установки (может ли приложение быть установлено в разумные сроки и с требуемым критерием)
- Тестирование удаления (может ли приложение быть удалено в разумные сроки и с требуемым критерием)
- Тестовые случаи в сети (проверка того, работает ли сеть под необходимой нагрузкой или нет, способна ли сеть поддерживать все необходимые приложения во время процедур тестирования)
- Проверьте Unmapped ключи
- Проверьте заставку приложения
- Продолжение ввода с клавиатуры во время прерываний и других случаев, например, проблем с сетью
- Методы, которые имеют дело с выходом из приложения
- Эффект зарядного устройства, когда приложение работает в фоновом режиме
- Низкий заряд батареи и высокая производительность
- Извлечение аккумулятора во время выполнения приложения
- Расход батареи по приложению
- Проверьте приложение побочные эффекты