0% нашли этот документ полезным (0 голосов)
10 просмотров42 страницы

FT - Lecture 18

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

Загружено:

archimira20282
Авторское право
© © All Rights Reserved
Мы серьезно относимся к защите прав на контент. Если вы подозреваете, что это ваш контент, заявите об этом здесь.
Доступные форматы
Скачать в формате PDF, TXT или читать онлайн в Scribd
0% нашли этот документ полезным (0 голосов)
10 просмотров42 страницы

FT - Lecture 18

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

Загружено:

archimira20282
Авторское право
© © All Rights Reserved
Мы серьезно относимся к защите прав на контент. Если вы подозреваете, что это ваш контент, заявите об этом здесь.
Доступные форматы
Скачать в формате PDF, TXT или читать онлайн в Scribd
Вы находитесь на странице: 1/ 42

Тема 18-19.

Проверки и
сложности тестирования
мобильных приложений
2 Тестирование обновлений

Тестирование обновления - зачастую


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

поверх старой версии.


3 Тестирование обновлений

Частые проблемы:

● приложение после обновления не работает


совсем;
● бонусы, скидки, сохраненки пользователя
teachmeskills.by

(игры, магазины) были утеряны;


● не работает новая фича, ради которой
заявлено обновление;
● новая фича работает, зато отвалилась
какая-то из старых;
4
Тестирование обновлений
Этапы тестирования:

● изучение статистики текущих версий и кол-ва


пользователей

● изучение платформ и версий пользователей


teachmeskills.by

● выбор стратегии тестирования

● выбор устройств для обновлений (должны быть


включены мин. поддерживаемая ОС и самая
последняя)

● подготовка окружения

● тестирование (должно включать разные


методы обновлений)

● сбор данных
5
Тестирование обновлений
teachmeskills.by
6
Тестирование обновлений
Что смотрим:

● Данные пользователя остались на месте (подписки,


прогресс, покупки, настройки и тд)

● Процесс обновления проходит корректно


teachmeskills.by

● Новый функционал работает

● Старый функционал работает


7
Тестирование связи

Основные виды соединения с Интернет:


● Передача данных по сотовой связи: 2G, 2.5G, 3G, 4G, 5G
● Wi-Fi
● Mi-Fi - когда точка раздает интернет полученный по
сотовой связи
teachmeskills.by
8
Тестирование связи

Работа с конкретным типом и скоростью связи и потерями


пакетов

● Проверка работы с определенным типом связи


teachmeskills.by

● Проверка работы с медленным интернетом


(Charles/Developer settings)
9
Тестирование связи

Потеря связи и переключение между типами подключений

● Проверка при переключении между типом подключений


teachmeskills.by

● Проверка полной потери связи

● Проверка восстановления связи


10
Тестирование связи

На что обращаем внимание:

● Приложение должно иметь адекватные “лоадеры” при нарушениях


со связью
● Нет некорректных покупок
● Работает ли приложение согласно спецификации, если подключено
teachmeskills.by

к интернету через Wi-Fi?


● Работает ли приложение согласно спецификации, если подключено
к интернету через 3G?
● Работает ли приложение согласно спецификации, если подключено
к интернету через 2G?
11
Тестирование связи

● Работает ли приложение в соответствии со спецификацией


приложения вне сети?
● Приложение возобновляет работу, когда оно возвращается в сеть,
вне зоны действия сети?
● Транзакции обновления обрабатываются правильно после
teachmeskills.by

восстановления соединения.
● Работает ли приложение по-прежнему корректно при подключении
или иным образом подключается к другому устройству?
● Что произойдет, если приложение переключается между сетями
(Wi-Fi, 3G, 2G)?
12
Lock/Unlock девайсов

Что проверяем:

● Прерывание действия
● Возврат к предыдущему действию
● Запуск приложения с экрана блокировки
teachmeskills.by

● Покупки при прерывании


13
Тестирование прерываний

Что проверяем:

● Прерывание действия
● Возврат к предыдущему действию
● Запуск приложения с экрана блокировки
teachmeskills.by

● Покупки при прерывании


Взаимодействие с сенсорами приложения и
14
тач-интерфейсом

Тип Датчики

Движения акселерометры, гироскопы, датчики вектора вращения и


сенсоры силы тяжести.
teachmeskills.by

Окружающей среды барометры, термометры и датчики освещенности.

Положения магнитометры и датчики ориентации устройства в


пространстве.

Разблокировки touch id, face id


Взаимодействие с сенсорами приложения и
15
тач-интерфейсом

Что проверяем:

● Портретный, ландшафтные режимы


● Старт приложения с помощью Touch id / Face id
teachmeskills.by

● Работа с геолокацией
● Проверка на ложные клики
● Проверка на границы работы элементов интерфейса
16
Тестирование геолокации и GPS
teachmeskills.by
17
Тестирование геолокации и GPS
как проверять?
teachmeskills.by
18
Тестирование геолокации и GPS
как проверять? Сторонние сервисы (android)
teachmeskills.by
19
Тестирование геолокации и GPS
Что тестируем:

● Работа локации в foreground


● Работа локации в background
● Работа локации с большими временными промежутками
teachmeskills.by

● Работа локации в doze mode (Android 6.0)


● Работа локации при отмененных пермишенах (до/после)
● Потребление энергоресурсов
● Логи ? если требуется от проекта
20
Тестирование потребление ресурсов
teachmeskills.by
21
Тестирование потребление ресурсов
Производительность устройства

● Запуск приложения
● Энергопотребление батареи
● Потребление памяти устройства
teachmeskills.by

● Вариативность устройств/осей
● Совместное использование с другими приложениями
● Работа в background
22
Тестирование потребление ресурсов
Производительность сервера/API

● Производительность обмена данными между клиентом и сервером


● Производительность API
● Производительность при упавшем сервере
teachmeskills.by
23
Тестирование потребление ресурсов
Производительность сети

● Производительность при медленном интернете


● Производительность при потере пакетов
● Производительность при смене сети
teachmeskills.by
24
Тестирование безопасности
teachmeskills.by
25
Тестирование безопасности
Выделим 4 самые частые проблемы:

● Не безопасное хранение данных


● Недостаточная защита каналов передачи данных
● Слабая авторизация и аутентификация
teachmeskills.by

● Небезопасное управление сессиями


26
Тестирование безопасности
Небезопасное хранение данных

● Забытое и захардкоженное
● Неверные пермишены файлов
● SD хранилище
teachmeskills.by

● Логи
27
Тестирование безопасности
Недостаточная защита каналов передачи данных

● Не используется шифрование (не https)


● Используются свои сертификаты
teachmeskills.by
28
Тестирование безопасности
Слабая авторизация и аутентификация

● Анонимная работа с приложением


● Слабые пароли
● Использование пользователей с низким уровнем привилегий для
teachmeskills.by

получения данных доступных всем пользователям


29
Тестирование безопасности
Небезопасное управление сессиями

● Механизмы переключения состояний (анонимный -


зарегистрированый, зарегистрированый-зарегистрированый)
● Токены не уничтожаются на сервере
teachmeskills.by
30
Тестирование установки
teachmeskills.by
31
Тестирование установки

● Установка из стора
● Установка с SD карты
● Установка по ссылке
teachmeskills.by

● Установка с QR кода
32
Типы запуска приложений (Cold, Hot, and Warm App Launch
Time)

Cold start

● Означает запуск приложения с нуля. Говорим о том, что сессия


приложения не была создана до этого. приложение запускается
после загрузки устройства или после того как было полностью
teachmeskills.by

закрыто. Обычно это самый медленный тип старта. Обычно


именно этот показатель является основной целью улучшения.

Hot start

● Горячий старт означает что сессия приложения уже была


запущена и оно находится в памяти устройства. Системе нет
необходимости стартовать инициализацию заново

Warm start

● Теплый старт - находится где-то посередине. Какие-то процессы


уже запущены.
33
Типы запуска приложений (Cold, Hot, and Warm App Launch
Time)

Согласно статистике от Google:

● Cold startup should take less than 5 seconds


● Warm startup should take less than 2 seconds
● Hot startup should take less than 1.5 seconds
teachmeskills.by

https://developer.android.com/topic/performance/vitals/launch-time
34
Типичные сложности приложений

● Большой парк устройств и вендоров


● Большой выбор Осей и их версий
● Типы дистрибуции и публикации мобильных приложений
● Разные требования к публикуемым приложениям
teachmeskills.by

● Доступность фреймворков
● Разные открытости экосистем
● Мобильные механики: мультитач, работа в фоне, аппаратные
кнопки, экранная клавиатура.
● Ресурсы телефона: производительность, расход заряда, утечки
памяти
● Разная защита приложений
Стратегии тестирования мобильных
35
приложений

1. Определить кто наш пользователь


2. Определить и собрать требования к продукту
3. Определить подход к тестированию
teachmeskills.by
Стратегии тестирования мобильных
36
приложений

1. Определить кто наш пользователь

Определяем регион пользователей, целевую аудиторию, в конечном


итоге на этапе мы должны полностью сформировать парк устройств
для тестирования.
teachmeskills.by

Так же необходимо определить будем ли мы использовать эмуляторы


либо фермы устройств.
Стратегии тестирования мобильных
37
приложений

2. Определить и собрать требования к продукту

На данном этапе мы должны собрать всю информацию по


функциональности проекта, узнать документацию, описать
teachmeskills.by

тестовые сценарии, определить кто и за что отвечает.

Тут сразу лучше подсветить недостаточность и неполную


документацию. Решить в каком виде будут описаны таски и т.
д.
Стратегии тестирования мобильных
38
приложений

3. Определить подход к тестированию

На данном этапе мы должны определить какие части


приложения могут быть автоматизированы какие нет, что
teachmeskills.by

мы тестируем мануально. Какие блоки будем тестировать и


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

3. Определить подход к тестированию

Базовый тест

● Функциональный тест
teachmeskills.by

● Интеграционный тест
● Модульный тест
Стратегии тестирования мобильных
40
приложений

3. Определить подход к тестированию

Расширенное тестирование

● Тест на совместимость
teachmeskills.by

● UI Visual Test
● Профиль производительности (профилирование)
● Тест безопасности
● Тест по установке, обновлению и удалению
● Тест на выносливость
● Тест энергопотребления
● Тест сетевого трафика
Стратегии тестирования мобильных
41
приложений

3. Определить подход к тестированию

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

● Юзабилити-тест (Usability Test)


teachmeskills.by

● A / B тест (A / B testing)
● Онлайн-тестирование продукта (проверка продукта)
42
Риски тестирования мобильных приложений

● Слишком большой функционал


● Слишком много зависимостей от сторонних микросервисов
● Долгая разработка
● Неполная документация продукта (недопонимание)
teachmeskills.by

● Большое количество дефектов


● Риски реджектов из стора
● Неверная эстимация продукта
● Меняющееся законодательство

Вам также может понравиться