В описанный ниже чек-лист вошли только общие характеристики. Естественно, в тестируемом приложении может быть функциональность, для которой нужно применять отдельный подход и создать отдельные сценарии. То же самое верно для производительности, удобства использования, безопасности и прочего тестирования, которое необходимо вашему приложению. Чек-лист состоит из восьми разделов:
- Функциональное тестирование;
- Тестирование совместимости;
- Тестирование безопасности;
- Тестирование локализации и глобализации;
- Тестирование удобства использования;
- Стрессовое тестирование;
- Кросс-платформенное тестирование;
- Тестирование производительности.
Функциональное тестирование: В данном пункте нам важно убедиться, что наш продукт соответствует нужной функциональной спецификации, упомянутой в документации по разработке.
- Установка/удаление/накатка версий;
- Запуск приложения (отображение Splash Screen);
- Работоспособность основного функционала приложения;
- Авторизация (по номеру телефона/через соц. сети/e-mail);
- Регистрация (по номеру телефона/через соц. сети/e-mail);
- Онбординг новых пользователей;
- Валидация обязательных полей;
- Навигация между разделами приложения;
- Редактирование данных в профиле пользователя;
- Проверка оплаты;
- Тестирование фильтров;
- Бонусы;
- Корректное отображение ошибок;
- Работа с файлами (отправка/получение/просмотр);
- Тестирование тайм-аутов;
- Тестирование заглушек (не соединения с интернетом/нет, например, товаров и т.д);
- Тестирование pop-up, алертов;
- Тестирование WebView;
- Скролл/свайп элементов;
- Тестирование PUSH уведомлений;
- Сворачивание/разворачивание приложения;
- Разные типы подключений (сотовая связь/Wi-Fi);
- Ориентация экрана (альбомная/портретная);
- Темная/светлая темы;
- Реклама в приложении;
- Шаринг контента в соц. сети;
- Работа приложения в фоне;
- Пагинация страниц;
- Политики конфиденциальности и прочие ссылки на документы.
Тестирование совместимости: Тестирование совместимости используется, чтобы убедиться, что ваше приложение совместимо с другими версиями ОС, различными оболочками и сторонними сервисами, а также аппаратным обеспечением устройства.
- Корректное отображение гео;
- Информации об операциях (чеки и т.д.);
- Различные способы оплаты (Google Pay, Apple Pay);
- Тестирование датчиков (освещенности, температуры устройства, гироскоп и т.д.);
- Тестирование прерываний (входящий звонок/смс/push/будильник/режим «Не беспокоить» и т.д.);
- Подключение внешних устройств (карта памяти/наушники и т.д.).
Тестирование безопасности: Данная проверка нацелена на поиск недостатков и пробелов с точки зрения безопасности приложения.
- Тестирование разрешений (доступ к камере/микрофону/галерее/и т.д.);
- Данные пользователя (пароли) не передаются в открытом виде;
- В полях, с вводом пароля и подтверждением пароля, данные скрываются астерисками.
Тестирование локализации и глобализации: Тестирование интернационализации/глобализации приложения включает тестирование приложения для различных местоположений, форматов дат, чисел и валют, а также замену фактических строк псевдостроками. Тестирование локализации включает тестирование приложения с локализованными строками, изображениями и рабочими процессами для определенного региона.
- Все элементы в приложении переведены на соответствующий язык;
- Тексты зашиты внутри приложения и пользователь в настройках приложения может выставить необходимый язык;
- Тексты зависят от языка в системных настройках;
- Тексты приходят с сервера;
- Корректное отображение форматов дат (ГОД - МЕСЯЦ - ДЕНЬ или ДЕНЬ - МЕСЯЦ - ГОД.);
- Корректное отображение времени в зависимости от часового пояса.
Тестирование удобства использования
Тестирование удобства использования помогает удостовериться в простоте и эффективности использования продукта пользователем, с целью достижения поставленных целей. Иными словами, это не что иное, как тестирование дружелюбности приложения для пользователя.
- Корректное отображение элементов на устройствах с различными разрешениями экранов;
- Все шрифты соответствуют требованиям;
- Все тексты правильно выровнены;
- Все сообщения об ошибках верные, без орфографических и грамматических ошибок;
- Корректные заголовки экранов;
- В поисковых строках присутствуют плейсхолдеры;
- Неактивные элементы отображаются серым;
- Ссылки на документы ведут на соответствующий раздел на сайте;
- Анимация между переходами;
- Корректный возврат на предыдущий экран;
- Поддерживаются основные жесты при работе с сенсорными экранами (swipe back и т.д.);
- Пиксель-перфект.
Стрессовое тестирование: Стрессовое тестирование направлено на определение эффективности производительности приложения в условиях повышенной нагрузки. Стресс-тест в этом контексте ориентирован только на мобильные устройства.
- Высокая загрузка центрального процессора;
- Нехватка памяти;
- Загрузка батареи;
- Отказы;
- Низкая пропускная способность сети;
- Большое количество взаимодействий пользователя с приложением (для этого может понадобиться имитация реальных условий состояния сети).
Кросс-платформенное тестирование: Важный вид тестирования, который необходимо проводить для понимания того, будет ли должным образом отображаться тестируемый продукт на различных платформах, используемых целевой аудиторией.
- Работоспособность приложения на различных устройствах разных производителей
Тестирование производительности: Если пользователь устанавливает приложение, и оно не отображается достаточно быстро (например, в течение трех секунд), оно может быть удалено в пользу другого приложения. Аспекты потребления времени и ресурсов являются важными факторами успеха для приложения, и для измерения этих аспектов проводится тестирование производительности.
- Время загрузки приложения;
- Обработка запросов;
- Кэширование данных;
- Потребление ресурсов приложением (например расход заряда батареи).
Помимо прочего, можно использовать эвристики и мнемоники: I SLICED UP FUN, COP FLUNG GUN, SFDPOT, LONG FUN CUP.
Примечание: в свете последних анонсов раскладных смартфонов и Android 12L, следует также при необходимости учитывать такие кейсы.
Примечание (1): Внимательно изучаем изменения в новых релизах Android и iOS. Ссылка для Android, выбираем интересующую версию и читаем New features and APIs и Behavior changes. Ссылка для iOS.
Источники:
Доп. материал:
- Core app quality
- Большой гайд по тестированию Android-приложений
- Тестирование мобильных приложений: особенности и примеры
- Тестирование Мобильных Приложений - урок 1 в открытом курсе по Тестированию Программного Обеспечения
- Распространенные баги на iOS
- Распространенные баги на Android
- ISTQB Mobile Application Testing
- Mobile App Testing Tutorials (A Complete Guide With 30+ Tutorials)
- Как найти баги в приложении. Интенсив для тестировщиков.
- Жизнь без AppStore и Google Play: работаем с Huawei Mobile Services и AppGallery
- Особенности тестирования Android без Google-сервисов
- YaTalks 2021. Mobile: Моделирование угроз для мобильных приложений + презентация
- Как тестировать мобильные игры
- Free Mobile App Testing Tutorial
- Как тестировать мобильное приложение
- Простые мобильные баги: примеры
- Чеклист по UX из 30 пунктов для мобильных приложений
- Больше чек-листов и идей можно найти в разделе полезных ресурсов