Савастюк Наталья
Стресс-тестирование мобильных
приложений
Терминология
Тестирование стабильности
Восстановления (
recovery testing
или
restoration
testing)
Проверка помех (
interruption testing)
Fragmentation overlay testing
Мобильное тестирование
<
ваш вариант
>
Стресс-тесты
Примеры багов
Приложение – загрузчик файлов на Dropbox. Идет
загрузка файлов. Когда пропадает интернет, приложение
крешится.
Приложение - музыкальный плеер. Играет музыка,
осуществляется входящий звонок. После его завершения
музыка должна продолжится, а она не продолжается.
Любое приложение. После прихода memory warning
пропадает с экрана кнопка (не отрисовывается) или весь
экран просто становится чёрным.
Приложение-игра. Пропадает и не восстанавливается до
перезапуска приложения соединение с игровым
сервером, если во время игры, которая требует
интернет, тип соединения меняется с Wi-Fi на 3g,
Приложение для рисования. Попытка рисовать 4 линии
4мя пальцами приводит к крешу.
Матрица стресс-тестов
Стрессовое
событие 1
Стрессовое
событие 2
Стрессовое
событие 3
Важная операция1 внутри
приложения до
стрессовой ситуации
Ожидаемый результат после
стрессовых событий
Y
N
N
Операция2 внутри
приложения
Ожидаемый результат после
стрессового события
N
Y
Y
Состояние 1 приложения
Ожидаемый результат после
стрессовых событий
N
N
Y
Пример приложения
Стрессовые ситуации
Состояния приложения на
момент стрессовой ситуации
Вначале сложно, потом проще
Начинайте с очевидных:
длительные операции
фоновые операции и работа с интернетом
По мере роста опыта и знаний об особенностях
работы приложения вы список расширите
Состояния приложения на момент
стрессовой ситуации
Пользователь нажимает на кнопку
«Отправить»
Пользователь случайно нажал на кнопку
«Снять выделение» во время нажатия на
«Отправить» (multitouch)
Идёт процесс загрузки на Dropbox
Пользователь отменяет загрузку файлов
на Dropbox
Открыт таб «Файлы» с выделенными
файлами
Пользователь нажимает на таб
«Плейлисты»
Пользователь случайно нажал на таб
«Плейлисты» во время отмечания файлов,
которые нужно загрузить (multi touch)
Необходимость теста
Мультитачи. Сколько пальцев
использовать?
Пользователь случайно нажал на
кнопку «Снять выделение» во
время нажатия на «Отправить»
(multitouch)
Пользователь случайно нажал на
таб «Плейлисты» во время
отмечания файлов, которые
нужно загрузить (multi touch)
Ожидаемый результат
Обычно не очевиден вначале
Записываем в процессе исследования, чтобы
запомнить поведение
Очевидный – не пишем
Частота проведения тестирования
Для нового функционала
Регрессия раз в год/полгода и по мере
возможности
Суперважные – в
acceptance
Итоговые рекомендации по
составлению матрицы стресс-тестов
1.
Составьте список стрессовых ситуаций
2.
Выучите их
3.
Выделите в своем приложении самые важные
операции
4.
Составьте таблицу и отметьте необходимость
тестов (какие операции приложения с какими
стрессовыми ситуациями нужно скрестить).
5.
Где возможно, опишите ожидаемые результаты
6.
Проведите тесты и там, где невозможно было
заполнить ожидаемый результат, заполните
7.
Не забывайте обновлять по мере изменений
приложения
С удовольствием отвечу на ваши вопросы
Спасибо за ваше внимание!
Савастюк Наталья
www.software-testing.by
n.savastiuk@gmail.com
skype: csi.nataliasavastiuk
Проверка влияния внешних событий на работу мобильного приложения