QA_Bible
  • Введение
  • FAQ для новичков
    • Ответы на самые популярные вопросы новичков в чатах
    • Качества и навыки, которыми нужно обладать тестировщику?
    • Что должен знать и уметь Junior? Что спросят на собеседовании?
    • С чего начать обучение и куда развиваться?
    • Как составить резюме?
    • Где искать работу?
    • Как происходит процесс найма?
    • Как проходить собеседование?
    • Начало работы Junior-тестировщика
    • Ошибки в работе у начинающих тестировщиков
    • Как взаимодействовать с коллегами?
    • Перспективы профессии
  • Полезные ссылки
    • Список полезных ресурсов на разных платформах
    • Список ресурсов по инструментам тестировщика
  • Общее
    • QA/QC/Testing
    • Почему требуется тестирование ПО?
    • Качество ПО (Software Quality)
    • Принципы тестирования
    • Верификация и валидация (Verification and Validation)
    • Дефекты и ошибки
    • Серьезность и приоритет Дефекта (Severity & Priority)
    • Альфа- и бета- тестирование (Alpha Testing and Beta Testing)
    • Процесс тестирования (test process) (draft)
    • Техники оценки тестов/оценка трудозатрат на тестирование (Test Estimation)
    • Экономика тестирования/стоимость качества (Cost of quality)
    • Подход к тестированию (Test Approach)
    • Импакт анализ (анализ влияния, Impact Analysis)
    • Анализ первопричин (RCA - Root Cause Analysis)
    • Тестирование со сдвигом влево (Shift left testing)
    • Модель зрелости возможностей (CMM - Capability Maturity Model)
    • Тестовая среда и тестовый стенд (Test Environment/Test Bed)
    • Бизнес-логика (Business logic)
    • Политика отсутствия багов (ZBP - Zero Bug Policy)
    • Независимое тестирование (Independent testing)
    • Роли/должности в команде
    • Эвристики и мнемоники
  • Виды-методы-уровни тестирования
    • Методы тестирования (White/Black/Grey Box)
    • Тестирование методом черного ящика (Black Box Testing)
    • Тестирование методом белого ящика (White Box Testing)
    • Тестирование методом серого ящика (Grey Box Testing)
    • Статическое и динамическое тестирование (Static Testing, Dynamic Testing)
    • Пирамида / уровни тестирования (Test Pyramid / Testing Levels)
    • Модульное/юнит/компонентное тестирование (Module/Unit/Component testing)
    • Интеграционное тестирование (Integration testing)
    • Системное тестирование (System Testing)
    • Приемочное тестирование (AT - Acceptance testing)
    • Основные виды тестирования ПО
    • Функциональное тестирование (Functional/Behavioral testing)
    • Нефункциональное тестирование (Non-Functional testing)
    • Тестирование производительности (Performance testing)
    • Тестирование емкости (Capacity testing)
    • Нагрузочное тестирование (Load testing)
    • Стрессовое тестирование (Stress testing)
    • Тестирование масштабируемости (Scalability testing)
    • Объемное тестирование (Volume testing)
    • Тестирование выносливости/стабильности (Endurance/Soak/Stability testing)
    • Тестирование устойчивости (Resilience testing)
    • Тестирование надежности (Reliability Testing)
    • Тестирование на отказ и восстановление (Failover and Recovery testing)
    • Эталонное и базовое тестирование (Benchmark and Baseline Testing)
    • Тестирование хранилища (Storage testing)
    • Одновременное / многопользовательское тестирование (Concurrency/Multi-user testing)
    • Тестирование сервиса (Service Testing)
    • Тестирование безопасности (Security and Access Control testing)
    • Оценка уязвимости/защищенности (Vulnerability Assessment)
    • Фаззинг-тестирование (Fuzz testing)
    • Можно ли отнести тестирование безопасности или нагрузочное тестирование к функциональным видам тести
    • Тестирование совместимости/взаимодействия (Compatibility/Interoperability testing)
    • Конфигурационное тестирование (Configuration testing)
    • Инсталляционное тестирование (Installation Testing)
    • Тестирование на соответствие (Conformance/Compliance testing)
    • Тестирование удобства пользования (Usability testing)
    • Тестирование доступности (Accessibility testing)
    • Тестирование локализации, глобализации и интернационализации (Localization/ globalization/internatio
    • Исследовательское тестирование (Exploratory testing)
    • Свободное / Интуитивное тестирование (Adhoc, Ad-hoc Testing)
    • Тестирование поддержки (Maintenance testing)
    • Регрессионные виды тестирования (Regression testing)
    • Тестирование клиентской части и серверной (Frontend testing Vs. Backend testing)
    • Тестирование графического интерфейса/визуальное тестирование (GUI - Graphical User Interface testing
    • Тестирование API (API - Application Programming Interface)
    • A/B тестирование (A/B Testing)
    • Деструктивное и недеструктивное тестирование (DT - Destructive testing and NDT - Non Destructive tes
    • Выборочное/хаотическое тестирование (Random/monkey testing)
    • Тестирование рабочего процесса/воркфлоу (Workflow testing)
    • Тестирование документации (Documentation testing)
    • Как протестировать продукт без требований?
    • Кроссбраузерное тестирование (Cross-browser testing)
    • Тестирование, основанное на рисках (Risk-Based Testing)
    • Разница тестирования ПО и железа (Software Vs. Hardware testing)
    • Тестирование качества данных (Data Quality Testing)
  • Тест дизайн
    • Тест-дизайн и техники тест-дизайна (Test Design and Software Testing Techniques)
    • Static - Reviews
    • Static - Static Analysis
    • Dynamic - White box
    • Dynamic - Black box
    • Dynamic - Experience based
  • Тестовая документация и артефакты (Test Deliverables/test artifacts)
    • Виды тестовой документации
    • Политика качества и политика тестирования (Quality policy and Test policy)
    • Стратегия тестирования (Test strategy)
    • План тестирования (Test plan)
    • Тестовый сценарий (Test scenario)
    • Тест-кейс (Test case)
    • Чек-лист (Check List)
    • Баг-репорт (Defect/bug report)
    • Требования (Requirements)
    • Пользовательские истории (User stories)
    • Критерии приемки (Acceptance Criteria)
    • Виды отчетов (Reports)
    • Базис тестирования (Test basis)
    • Матрица трассируемости (RTM - Requirement Traceability Matrix)
    • Метрики тестирования (Software Test Metrics)
    • Тестовый оракул (Test oracle)
  • Мобильное тестирование
    • Android
      • Архитектура Android OS
      • Архитектура Android Application
      • Тестирование покупок в Android-приложениях
      • Android Developer Settings
      • Android Debug Bridge (ADB)
      • Android Studio для QA
    • iOS
      • Архитектура iOS
      • Архитектура iOS Application
      • Тестирование покупок в iOS-приложениях
      • iOS Developer Settings
    • Особенности в тестировании мобильных приложений
    • Покрытие девайсов
    • Типы мобильных приложений
    • Симуляторы и эмуляторы
    • Основные различия Android/iOS
    • Последнее обновление Android/iOS, что нового?
    • Основные проверки при тестировании мобильного приложения
    • Каким образом тестировщик получает приложение на тест?
    • Как успешно зарелизить продукт в App Store и Google Play
    • Тестирование требований к мобильным приложениям
    • Тестирование push-уведомлений
    • Тестирование дип линков (mobile deep links)
    • Тестирование сохраненных поисков
    • Тестирование рекламы
    • Тестирование просмотренных товаров
    • Middleware
    • Как проверить использование ресурсов на Android
    • Как протестировать приложение для другой страны?
  • Тестирование в разных сферах-областях (testing different domains)
    • Тестирование веб-сайта или веб-приложения (Web application)
    • Тестирование интернет-магазина (eCommerce)
    • Тестирование платежного шлюза (Payment Gateway)
    • Тестирование игр (Game testing)
    • Тестирование VR программного обеспечения
    • Тестирование мессенджера (Messenger)
    • Тестирование чат-бота (Chatbot)
    • Тестирование электронных писем (E-mail)
    • Тестирование интернета вещей (IoT - Internet of Things)
    • Тестирование облачных решений (Cloud testing)
    • Тестирование сервис-ориентированной архитектуры (SOA - Service Oriented Architecture)
    • Тестирование микросервисной архитектуры (MSA/Microservices)
    • Тестирование платформы электронного обучения (E-learning platform)
    • Тестирование систем розничной торговли (POS - Point Of Sale)
    • Тестирование банковского ПО (Banking domain applications/BFSI)
    • Тестирование страхового ПО (Insurance)
    • Тестирование в сфере телекоммуникаций (Telecom)
    • Тестирование планирования ресурсов предприятия (ERP - Enterprise Resource Planning)
    • Тестирование миграции данных (ETL)
    • Тестирование баз данных (Database)
    • Другое
  • SDLC и STLC
    • Жизненный цикл разработки ПО (SDLC - Software Development Lifecycle)
    • Жизненный цикл тестирования ПО (STLC - Software Testing Lifecycle)
    • Модели разработки ПО
    • Agile
    • Scrum
    • Подходы к разработке/тестированию (... - driven development/testing)
  • Сети и около них
    • База по сетям
    • Клиент - серверная архитектура (Client-Server Architecture)
    • Микросервисная архитектура (Microservice Architecture)
    • Эталонные модели OSI и TCP/IP
    • HTTP
    • Идентификация ресурсов в сети (Identifying resources on the Web)
    • Веб-сервис (WS - Web service)
    • REST/SOAP/gRPC
    • Socket / WebSocket
      • Сокет/веб-сокет (socket/websocket)
      • Тестирование WebSocket на клиентах
    • Хранилище на стороне клиента (Client-side storage)
    • Кэш (Cache)
    • Аутентификация и авторизация (Authentication and authorization)
    • Рендеринг в интернете (Rendering on the Web)
  • Практическая часть
    • Логические задачи
    • Тестирование полей и форм
    • Примеры задач на собеседованиях и тестовых заданий
    • Платформы для тренировок и квизы
  • Автоматизация (beta)
    • Общее
    • Полезные ссылки
    • Как стать автоматизатором и вопросы с собеседований
    • Что нужно автоматизировать?
    • Виды и инструменты автоматизации
    • Инфраструктура и пайплайн (CI/CD)
    • Процессы и автоматизация проекта с нуля
    • Лучшие практики автоматизации
    • Что такое flaky tests?
    • Мутационное тестирование (Mutation testing)
    • Параллельное тестирование (Parallel testing)
    • Подкожный тест (Subcutaneous test)
    • Разница между coupling и cohesion
    • Другое (ссылки)
  • Контакты
Powered by GitBook
On this page

Was this helpful?

Edit on GitHub
  1. Мобильное тестирование

Тестирование сохраненных поисков

Сохраненные поиски - удобный инструмент, с помощью которого можно сохранить необходимый запрос и быть в курсе о новых поступлениях. Это удобно так как:

  • не нужно каждый раз выставлять параметры и фильтры поиска заново, вы сразу переходите к нужным результатам;

  • вы получаете уведомления о новых объявлениях сразу после их публикации.

Сохранение поискового запроса неавторизованным и авторизованным пользователями

Разумеется есть два вида пользователей: авторизованный и неавторизованный. Если мы сохраняем поисковой запрос будучи неавторизованным пользователем, в таком случае проверяем, что выполняется переход на экран авторизации и после авторизации или регистрации пользователя, поисковой запрос добавляется в раздел "избранное". Кейсы, на которые стоит обратить внимание, если пользователь новый, то ему должны отобразиться все необходимые попапы, тултипы, онбординги. Есть большая вероятность, что про них могли забыть. При сохранении поискового запроса авторизованным пользователем, все гораздо проще - поиск сохраняется, а сохраненный поиск пользователь может обнаружить на экране с сохраненными поисками (о нем мы поговорим несколько позже).

Текстовый поиск

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

Поиск с выбранными фильтрами

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

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

Настройка частоты уведомлений при сохранении

Пользователь может настроить частоту уведомлений о новых поступлениях. Мы выбираем определенный параметр, который в данном случае передается на бэк. А уже в дальнейшем, в соответствии с заданными параметрами, будет приходить push-уведомление клиенту. Как и в предыдущих кейсах, стоит проверить, что передается корректное значение параметра частоты уведомлений, а также это выбранное значение отображается на клиенте.

Отображение сохраненного поискового запроса

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

Текстовый поисковой запрос (длинный текст)

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

Сохраненный поиск с выбранными фильтрами

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

Поисковой запрос с emoji

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

Карусель товаров в сохраненном поиске

По определенному запросу может быть много товаров. Сгруппированные товары по категории располагаются в карусели. Естественно не все товары будут помещаться, поэтому пользователь должен иметь возможность просмотреть ленту со всеми товарами из карусели. Для начала, стоит проверить отображение разного количества товаров (минимальное и максимальное значение). Следом, стоит проверить скролл товаров в карусели. Также проверяем переходы из карусели на ленту с товарами. Для этого может быть реализована кнопка в конце карусели, например "Посмотреть все объявления", либо активное название карусели, например, при тапе на заголовок "телефоны", у нас откроется лента с товарами, выбранными в соответствии с заданными фильтрами.

Сохраненный поиск без подходящих товаров

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

Необходимо учесть, что может быть как один товар, так и n-количество товаров, соответственно скролл товаров в карусели должен работать корректно, а также все атрибуты превью карточки товара (стоимость, название, "сердечко" избранного) отображаются на карточке.

Настройка частоты уведомлений о новых поступлениях

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

Настройка частоты уведомлений, если уведомления отключены

А если пользователь отключит в настройках уведомления? В таком случае подписаться на поиск и настроить уведомления не получится. Однако можно перейти в настройки и включить уведомления. Тут важно проверить переход между приложением и экраном настроек уведомлений.

Удаление поиска

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

Каунтеры поисков

Каунтеры - счетчики, которые служат для интерактивного отображения какого-то количества: новые товары, сообщения, избранное и многое другое. Разумеется, при появлении нового товара в сохраненном поиске, информация об этом товаре придет к нам с бэка. Каунтеры приходят также с бэка. Основные кейсы при тестировании счетчиков будут связаны с удалением товаров и проверки, что значение каунтера изменилось в меньшую сторону, а также, что при поступлении нового товара каунтер изменяется в большую сторону. Но это не все. Стоит проверить максимальное отображаемое значение (в кружке) для каунтера, например, если товаров будет более 100. В таком случае реализация может быть разной, например отображаться значение 99+. Также может отображаться полностью значение счетчика, например 115, тогда следует исходить из логики работы приложения и проверить как будет отображаться максимально допустимое значение (например, вряд ли в приложении для заказа пиццы, пользователь добавит в заказ 124 455 пицц).

Уведомления по новым товарам в сохраненном поиске

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

Дополнительные проверки

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

Источники:

PreviousТестирование дип линков (mobile deep links)NextТестирование рекламы

Last updated 2 years ago

Was this helpful?

Тестирование сохраненных поисков