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

More Related Content

Viewers also liked

Тестирование мобильных приложений
Тестирование мобильных приложенийТестирование мобильных приложений
Тестирование мобильных приложений
Alexander Khozya
 
How to estimate time for testing
How to estimate time for testingHow to estimate time for testing
How to estimate time for testing
Alexandr Zinovyev
 
Mobile testing: Android, iOS, BlackBerry
Mobile testing: Android, iOS, BlackBerryMobile testing: Android, iOS, BlackBerry
Mobile testing: Android, iOS, BlackBerry
QA Club Kiev
 
Бытовая классификация тестировщиков с точки зрения разработчика
Бытовая классификация тестировщиков с точки зрения разработчикаБытовая классификация тестировщиков с точки зрения разработчика
Бытовая классификация тестировщиков с точки зрения разработчика
Mikalai Alimenkou
 

Viewers also liked (8)

Как оценить время на тестирование. Александр Зиновьев, Test Lead Softengi
Как оценить время на тестирование. Александр Зиновьев, Test Lead SoftengiКак оценить время на тестирование. Александр Зиновьев, Test Lead Softengi
Как оценить время на тестирование. Александр Зиновьев, Test Lead Softengi
 
Тестирование мобильных приложений
Тестирование мобильных приложенийТестирование мобильных приложений
Тестирование мобильных приложений
 
Планирование трудозатрат на тестирование
Планирование трудозатрат на тестированиеПланирование трудозатрат на тестирование
Планирование трудозатрат на тестирование
 
Особенности тестирования мобильных приложений (Android, iOS)
Особенности тестирования мобильных приложений (Android, iOS)Особенности тестирования мобильных приложений (Android, iOS)
Особенности тестирования мобильных приложений (Android, iOS)
 
How to estimate time for testing
How to estimate time for testingHow to estimate time for testing
How to estimate time for testing
 
Mobile testing: Android, iOS, BlackBerry
Mobile testing: Android, iOS, BlackBerryMobile testing: Android, iOS, BlackBerry
Mobile testing: Android, iOS, BlackBerry
 
Тестирование мобильного приложения для Android с функцией геолокации
Тестирование мобильного приложения для Android с функцией геолокацииТестирование мобильного приложения для Android с функцией геолокации
Тестирование мобильного приложения для Android с функцией геолокации
 
Бытовая классификация тестировщиков с точки зрения разработчика
Бытовая классификация тестировщиков с точки зрения разработчикаБытовая классификация тестировщиков с точки зрения разработчика
Бытовая классификация тестировщиков с точки зрения разработчика
 

Similar to Проверка влияния внешних событий на работу мобильного приложения

Решение Bastion FS для MS Project Server 2013: Регулярный сбор отчетности по ...
Решение Bastion FS для MS Project Server 2013: Регулярный сбор отчетности по ...Решение Bastion FS для MS Project Server 2013: Регулярный сбор отчетности по ...
Решение Bastion FS для MS Project Server 2013: Регулярный сбор отчетности по ...
Alexey Yavkin
 
интернет цензор
интернет цензоринтернет цензор
интернет цензор
ANSevrukova
 
Proverochnaya rabota 22_ksk_2015
Proverochnaya rabota 22_ksk_2015Proverochnaya rabota 22_ksk_2015
Proverochnaya rabota 22_ksk_2015
Anton Nedelin
 
A2uploader v38
A2uploader v38A2uploader v38
A2uploader v38
alexmosky
 
организация и проведение тестирования
организация и проведение тестированияорганизация и проведение тестирования
организация и проведение тестирования
Igor Pozumentov
 

Similar to Проверка влияния внешних событий на работу мобильного приложения (20)

Проверка влияния внешних событий на работу мобильного приложения
Проверка влияния внешних событий на работу мобильного приложенияПроверка влияния внешних событий на работу мобильного приложения
Проверка влияния внешних событий на работу мобильного приложения
 
"Опыт создания системы управления сборкой и тестированием" (полная)
"Опыт создания системы управления сборкой и тестированием" (полная)"Опыт создания системы управления сборкой и тестированием" (полная)
"Опыт создания системы управления сборкой и тестированием" (полная)
 
Нам нужны инструменты! Тестирование и мониторинг мобильного приложения BOOKMATE
Нам нужны инструменты!  Тестирование и мониторинг мобильного приложения BOOKMATEНам нужны инструменты!  Тестирование и мониторинг мобильного приложения BOOKMATE
Нам нужны инструменты! Тестирование и мониторинг мобильного приложения BOOKMATE
 
Нагрузочное тестирование
Нагрузочное тестированиеНагрузочное тестирование
Нагрузочное тестирование
 
Load testing with Tsung
Load testing with TsungLoad testing with Tsung
Load testing with Tsung
 
Решение Bastion FS для MS Project Server 2013: Регулярный сбор отчетности по ...
Решение Bastion FS для MS Project Server 2013: Регулярный сбор отчетности по ...Решение Bastion FS для MS Project Server 2013: Регулярный сбор отчетности по ...
Решение Bastion FS для MS Project Server 2013: Регулярный сбор отчетности по ...
 
Евгения Фирсова "Выкладка вёрстки — просто, быстро, безопасно"
Евгения Фирсова "Выкладка вёрстки — просто, быстро, безопасно"Евгения Фирсова "Выкладка вёрстки — просто, быстро, безопасно"
Евгения Фирсова "Выкладка вёрстки — просто, быстро, безопасно"
 
Документирование дефектов
Документирование дефектовДокументирование дефектов
Документирование дефектов
 
"Опыт создания системы управления сборкой и тестированием" (слайдкаст)
"Опыт создания системы управления сборкой и тестированием" (слайдкаст)"Опыт создания системы управления сборкой и тестированием" (слайдкаст)
"Опыт создания системы управления сборкой и тестированием" (слайдкаст)
 
03 load testing
03   load testing03   load testing
03 load testing
 
Контрактная система. Инструкция
Контрактная система. ИнструкцияКонтрактная система. Инструкция
Контрактная система. Инструкция
 
ALM Test Forum 2015 - Инструменты тестирования Microsoft – в облаке и локально
ALM Test Forum 2015 - Инструменты тестирования Microsoft – в облаке и локальноALM Test Forum 2015 - Инструменты тестирования Microsoft – в облаке и локально
ALM Test Forum 2015 - Инструменты тестирования Microsoft – в облаке и локально
 
интернет цензор
интернет цензоринтернет цензор
интернет цензор
 
Proverochnaya rabota 22_ksk_2015
Proverochnaya rabota 22_ksk_2015Proverochnaya rabota 22_ksk_2015
Proverochnaya rabota 22_ksk_2015
 
ThinkJavaKharkiv#1 Шеф, все пропало. Проблемы с Production
ThinkJavaKharkiv#1 Шеф, все пропало. Проблемы с ProductionThinkJavaKharkiv#1 Шеф, все пропало. Проблемы с Production
ThinkJavaKharkiv#1 Шеф, все пропало. Проблемы с Production
 
A2uploader v38
A2uploader v38A2uploader v38
A2uploader v38
 
My testx first_steps
My testx first_stepsMy testx first_steps
My testx first_steps
 
организация и проведение тестирования
организация и проведение тестированияорганизация и проведение тестирования
организация и проведение тестирования
 
Как сделать наши проекты немного более управляемыми с Agile
Как сделать наши проекты немного более управляемыми с AgileКак сделать наши проекты немного более управляемыми с Agile
Как сделать наши проекты немного более управляемыми с Agile
 
2017-03-26 04 вячеслав виноградов. есть ли жизнь после релиза
2017-03-26 04 вячеслав виноградов. есть ли жизнь после релиза2017-03-26 04 вячеслав виноградов. есть ли жизнь после релиза
2017-03-26 04 вячеслав виноградов. есть ли жизнь после релиза
 

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

  • 1. Проверка влияния внешних событий на работу мобильного приложения Савастюк Наталья BP Mobile, Минск www.software-testing.by n.savastiuk@gmail.com skype: csi.nataliasavastiuk
  • 2. Терминология  Тестирование стабильности  Восстановления (recovery testing или restoration testing)  Проверка помех (interruption testing)  Fragmentation overlay testing  Мобильное тестирование  <ваш вариант>  Стресс-тесты
  • 3. Стресс тест Стрессовая ситуация • Пропал интернет Ситуац. внутри прилож. • Идет загрузка файлов на Dropbox Стресс- тест
  • 5. Примеры багов  Если во время загрузки фалов на Dropbox пропадает интернет, приложение крешится  Если во время загрузки файлов, свернуть приложение в БГ и развернуть его, то прогресс бар перестанет заполняться  После прихода memory warning пропадает с экрана кнопка «Отправить» (не отрисовывается)  Пропадает соединение с Dropbox и не восстанавливается до перезапуска приложения, если во время загрузки тип соединения меняется с Wi-Fi на 3G  Креш, если во время выделения файлов, нажать сразу на две строки (выделить 2 файла)
  • 6. Матрица стресс-тестов Стрессовое событие 1 Стрессовое событие 2 Стрессовое событие 3 Важная операция1 внутри приложения до стрессовой ситуации Ожидаемый результат после стрессовых событий Y N N Операция2 внутри приложения Ожидаемый результат после стрессового события N Y Y Состояние 1 приложения Ожидаемый результат после стрессовых событий N N Y
  • 8. Стрессовые ситуации* * Зависит от проекта/технологии/целей тестирования
  • 9. Состояния приложения на момент стрессовой ситуации  Начинайте с очевидных:  длительные операции  фоновые операции  работа с интернетом  Затем можно расширять, анализируя:  Каждое действие пользователя  Внешне «стабильные» состояния приложения  По мере роста опыта и знаний об особенностях работы приложения вы список расширите или, наоборот, сузите.
  • 10. Состояния приложения на момент стрессовой ситуации  Пользователь нажимает на кнопку «Отправить»  Пользователь случайно нажал на кнопку «Снять выделение» во время нажатия на «Отправить» (multitouch)  Идёт процесс загрузки на Dropbox  Пользователь отменяет загрузку файлов на Dropbox  Открыт таб «Файлы» с выделенными файлами  Пользователь нажимает на таб «Плейлисты»  Пользователь случайно нажал на таб «Плейлисты» во время отмечания файлов, которые нужно загрузить (multi touch)
  • 11. Шаг 1. Стрессовые ситуации Шаг 2. Ситуации внутри приложения
  • 12. Необходимость теста Очевидно, что стоит проверить: • Идёт процесс загрузки файлов на Dropbox и пропадает интернет • Идёт процесс загрузки файлов на Dropbox и приходит входящий звонок на телефон Очевидно, что можно не проверять: • Пользователь выбирает файлы в момент, когда пропадает интернет Не очевидно, проверять ли: • Пользователь выбирает файлы и приходит входящий звонок • Пользователь нажимает на таб Files и одновременно сворачивается приложение
  • 14. Мультитачи. Сколько пальцев использовать?  Пользователь случайно нажал на кнопку «Снять выделение» во время нажатия на «Отправить»  Случайно нажал сразу на две строки с файлами  Пользователь, отмечая файлы, случайно нажал и на файл, и на таб «Плейлисты»
  • 16. Комплексные стрессовые ситуации  Потерять интернет после того как сработал будильник  Выйти в бекграунд, перевернуть девайс, залочить телефон, разлочить и вернуться в приложение Мы осознаем риски и почти не проводим подобные тесты
  • 17. Ожидаемый результат  Обычно не очевиден вначале  Записываем в процессе исследования, чтобы запомнить поведение  Очевидный – не пишем
  • 18. Шаг 4. Ожидаемый результат
  • 20. Частота проведения тестирования*  Для нового функционала обязательно  Суперважные – в acceptance  Регрессия раз в год/полгода и по мере возможности * Зависит от проекта
  • 21. Итоговые рекомендации по составлению матрицы стресс-тестов 1. Составьте список возможных стрессовых ситуаций для ваших условий 2. Выучите их 3. Выделите в своем приложении самые важные операции 4. Составьте таблицу и отметьте необходимость тестов (какие операции приложения с какими стрессовыми ситуациями нужно скрестить) 5. Где возможно, опишите ожидаемые результаты 6. Проведите тесты и там, где невозможно было заполнить ожидаемый результат, заполните 7. Не забывайте обновлять по мере изменений приложения
  • 22. Скачать шаблон матрицы и пример Спасибо за ваше внимание! С удовольствием отвечу на ваши вопросы Савастюк Наталья bpmobile.by, Минск www.software-testing.by n.savastiuk@gmail.com skype: csi.nataliasavastiuk

Editor's Notes

  1. В этой матрице: Y – обозначает необходимость проводить тест (yes). N – обозначает, что тест не имеет смысла (no).