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

Тестирование мобильных API: Behind The Scenes
Тестирование мобильных API: Behind The ScenesТестирование мобильных API: Behind The Scenes
Тестирование мобильных API: Behind The ScenesSQALab
 
Mobile testing. Tips and tricks
Mobile testing. Tips and tricksMobile testing. Tips and tricks
Mobile testing. Tips and tricksSQALab
 
До зеленых человечков: исследовательское тестирование мобильных приложений
До зеленых человечков: исследовательское тестирование мобильных приложенийДо зеленых человечков: исследовательское тестирование мобильных приложений
До зеленых человечков: исследовательское тестирование мобильных приложенийSQALab
 
Тестирование на последнем рубеже
Тестирование на последнем рубежеТестирование на последнем рубеже
Тестирование на последнем рубежеSQALab
 
Приключения белого ящика в стране покрытий
Приключения белого ящика в стране покрытийПриключения белого ящика в стране покрытий
Приключения белого ящика в стране покрытийSQALab
 
10 принципов автоматизации, которые я не предам
10 принципов автоматизации, которые я не предам10 принципов автоматизации, которые я не предам
10 принципов автоматизации, которые я не предамSQALab
 
Техническая сторона фидбека мобильных приложений
Техническая сторона фидбека мобильных приложенийТехническая сторона фидбека мобильных приложений
Техническая сторона фидбека мобильных приложенийSQALab
 
Тестируем мобильные приложения в облаках с appium
Тестируем мобильные приложения в облаках с appiumТестируем мобильные приложения в облаках с appium
Тестируем мобильные приложения в облаках с appiumSQALab
 
Тестирование мобильного приложения для Android с функцией геолокации
Тестирование мобильного приложения для Android с функцией геолокацииТестирование мобильного приложения для Android с функцией геолокации
Тестирование мобильного приложения для Android с функцией геолокацииSQALab
 
Виртуализация и автоматизация тестирования мобильных приложений
Виртуализация и автоматизация тестирования мобильных приложенийВиртуализация и автоматизация тестирования мобильных приложений
Виртуализация и автоматизация тестирования мобильных приложенийSQALab
 
Appium для народа
Appium для народаAppium для народа
Appium для народаSQALab
 
Тестирование мобильных приложений
Тестирование мобильных приложенийТестирование мобильных приложений
Тестирование мобильных приложенийAlexander Khozya
 
Все твои ходы записаны
Все твои ходы записаныВсе твои ходы записаны
Все твои ходы записаныSQALab
 
Безопасность мобильных приложений. Что тестировать?
Безопасность мобильных приложений. Что тестировать?Безопасность мобильных приложений. Что тестировать?
Безопасность мобильных приложений. Что тестировать?SQALab
 
Подходы к тестированию андроид приложений
Подходы к тестированию андроид приложенийПодходы к тестированию андроид приложений
Подходы к тестированию андроид приложенийSQALab
 
Особенности тестирования мобильных приложений (Android, iOS)
Особенности тестирования мобильных приложений (Android, iOS)Особенности тестирования мобильных приложений (Android, iOS)
Особенности тестирования мобильных приложений (Android, iOS)Эльвина Сакаева
 

Viewers also liked (16)

Тестирование мобильных API: Behind The Scenes
Тестирование мобильных API: Behind The ScenesТестирование мобильных API: Behind The Scenes
Тестирование мобильных API: Behind The Scenes
 
Mobile testing. Tips and tricks
Mobile testing. Tips and tricksMobile testing. Tips and tricks
Mobile testing. Tips and tricks
 
До зеленых человечков: исследовательское тестирование мобильных приложений
До зеленых человечков: исследовательское тестирование мобильных приложенийДо зеленых человечков: исследовательское тестирование мобильных приложений
До зеленых человечков: исследовательское тестирование мобильных приложений
 
Тестирование на последнем рубеже
Тестирование на последнем рубежеТестирование на последнем рубеже
Тестирование на последнем рубеже
 
Приключения белого ящика в стране покрытий
Приключения белого ящика в стране покрытийПриключения белого ящика в стране покрытий
Приключения белого ящика в стране покрытий
 
10 принципов автоматизации, которые я не предам
10 принципов автоматизации, которые я не предам10 принципов автоматизации, которые я не предам
10 принципов автоматизации, которые я не предам
 
Техническая сторона фидбека мобильных приложений
Техническая сторона фидбека мобильных приложенийТехническая сторона фидбека мобильных приложений
Техническая сторона фидбека мобильных приложений
 
Тестируем мобильные приложения в облаках с appium
Тестируем мобильные приложения в облаках с appiumТестируем мобильные приложения в облаках с appium
Тестируем мобильные приложения в облаках с appium
 
Тестирование мобильного приложения для Android с функцией геолокации
Тестирование мобильного приложения для Android с функцией геолокацииТестирование мобильного приложения для Android с функцией геолокации
Тестирование мобильного приложения для Android с функцией геолокации
 
Виртуализация и автоматизация тестирования мобильных приложений
Виртуализация и автоматизация тестирования мобильных приложенийВиртуализация и автоматизация тестирования мобильных приложений
Виртуализация и автоматизация тестирования мобильных приложений
 
Appium для народа
Appium для народаAppium для народа
Appium для народа
 
Тестирование мобильных приложений
Тестирование мобильных приложенийТестирование мобильных приложений
Тестирование мобильных приложений
 
Все твои ходы записаны
Все твои ходы записаныВсе твои ходы записаны
Все твои ходы записаны
 
Безопасность мобильных приложений. Что тестировать?
Безопасность мобильных приложений. Что тестировать?Безопасность мобильных приложений. Что тестировать?
Безопасность мобильных приложений. Что тестировать?
 
Подходы к тестированию андроид приложений
Подходы к тестированию андроид приложенийПодходы к тестированию андроид приложений
Подходы к тестированию андроид приложений
 
Особенности тестирования мобильных приложений (Android, iOS)
Особенности тестирования мобильных приложений (Android, iOS)Особенности тестирования мобильных приложений (Android, iOS)
Особенности тестирования мобильных приложений (Android, iOS)
 

More from SQALab

Готовим стажировку
Готовим стажировкуГотовим стажировку
Готовим стажировкуSQALab
 
Куда приводят мечты? или Искусство развития тестировщика
Куда приводят мечты? или Искусство развития тестировщикаКуда приводят мечты? или Искусство развития тестировщика
Куда приводят мечты? или Искусство развития тестировщикаSQALab
 
Оптимизация Selenium тестов и ускорение их поддержки
Оптимизация Selenium тестов и ускорение их поддержкиОптимизация Selenium тестов и ускорение их поддержки
Оптимизация Selenium тестов и ускорение их поддержкиSQALab
 
Автоматизация 0.0: 0 - бюджет, 0 - опыт программирования
Автоматизация 0.0: 0 - бюджет, 0 - опыт программированияАвтоматизация 0.0: 0 - бюджет, 0 - опыт программирования
Автоматизация 0.0: 0 - бюджет, 0 - опыт программированияSQALab
 
Нагрузочное тестирование нестандартных протоколов с использованием Citrix и J...
Нагрузочное тестирование нестандартных протоколов с использованием Citrix и J...Нагрузочное тестирование нестандартных протоколов с использованием Citrix и J...
Нагрузочное тестирование нестандартных протоколов с использованием Citrix и J...SQALab
 
Continuous performance testing
Continuous performance testingContinuous performance testing
Continuous performance testingSQALab
 
Конфиги вместо костылей. Pytestconfig и зачем он нужен
Конфиги вместо костылей. Pytestconfig и зачем он нуженКонфиги вместо костылей. Pytestconfig и зачем он нужен
Конфиги вместо костылей. Pytestconfig и зачем он нуженSQALab
 
Команда чемпионов в ИТ стихии
Команда чемпионов в ИТ стихииКоманда чемпионов в ИТ стихии
Команда чемпионов в ИТ стихииSQALab
 
API. Серебряная пуля в магазине советов
API. Серебряная пуля в магазине советовAPI. Серебряная пуля в магазине советов
API. Серебряная пуля в магазине советовSQALab
 
Добиваемся эффективности каждого из 9000+ UI-тестов
Добиваемся эффективности каждого из 9000+ UI-тестовДобиваемся эффективности каждого из 9000+ UI-тестов
Добиваемся эффективности каждого из 9000+ UI-тестовSQALab
 
Делаем автоматизацию проектных KPIs
Делаем автоматизацию проектных KPIsДелаем автоматизацию проектных KPIs
Делаем автоматизацию проектных KPIsSQALab
 
Вредные привычки в тест-менеджменте
Вредные привычки в тест-менеджментеВредные привычки в тест-менеджменте
Вредные привычки в тест-менеджментеSQALab
 
Мощь переполняет с JDI 2.0 - новая эра UI автоматизации
Мощь переполняет с JDI 2.0 - новая эра UI автоматизацииМощь переполняет с JDI 2.0 - новая эра UI автоматизации
Мощь переполняет с JDI 2.0 - новая эра UI автоматизацииSQALab
 
Как hh.ru дошли до 500 релизов в квартал без потери в качестве
Как hh.ru дошли до 500 релизов в квартал без потери в качествеКак hh.ru дошли до 500 релизов в квартал без потери в качестве
Как hh.ru дошли до 500 релизов в квартал без потери в качествеSQALab
 
Стили лидерства и тестирование
Стили лидерства и тестированиеСтили лидерства и тестирование
Стили лидерства и тестированиеSQALab
 
"Давайте не будем про качество"
"Давайте не будем про качество""Давайте не будем про качество"
"Давайте не будем про качество"SQALab
 
Apache.JMeter для .NET-проектов
Apache.JMeter для .NET-проектовApache.JMeter для .NET-проектов
Apache.JMeter для .NET-проектовSQALab
 
Тестирование геолокационных систем
Тестирование геолокационных системТестирование геолокационных систем
Тестирование геолокационных системSQALab
 
Лидер или босс? Вот в чем вопрос
Лидер или босс? Вот в чем вопросЛидер или босс? Вот в чем вопрос
Лидер или босс? Вот в чем вопросSQALab
 
От Зефира в коробке к Structure Zephyr или как тест-менеджеру перекроить внут...
От Зефира в коробке к Structure Zephyr или как тест-менеджеру перекроить внут...От Зефира в коробке к Structure Zephyr или как тест-менеджеру перекроить внут...
От Зефира в коробке к Structure Zephyr или как тест-менеджеру перекроить внут...SQALab
 

More from SQALab (20)

Готовим стажировку
Готовим стажировкуГотовим стажировку
Готовим стажировку
 
Куда приводят мечты? или Искусство развития тестировщика
Куда приводят мечты? или Искусство развития тестировщикаКуда приводят мечты? или Искусство развития тестировщика
Куда приводят мечты? или Искусство развития тестировщика
 
Оптимизация Selenium тестов и ускорение их поддержки
Оптимизация Selenium тестов и ускорение их поддержкиОптимизация Selenium тестов и ускорение их поддержки
Оптимизация Selenium тестов и ускорение их поддержки
 
Автоматизация 0.0: 0 - бюджет, 0 - опыт программирования
Автоматизация 0.0: 0 - бюджет, 0 - опыт программированияАвтоматизация 0.0: 0 - бюджет, 0 - опыт программирования
Автоматизация 0.0: 0 - бюджет, 0 - опыт программирования
 
Нагрузочное тестирование нестандартных протоколов с использованием Citrix и J...
Нагрузочное тестирование нестандартных протоколов с использованием Citrix и J...Нагрузочное тестирование нестандартных протоколов с использованием Citrix и J...
Нагрузочное тестирование нестандартных протоколов с использованием Citrix и J...
 
Continuous performance testing
Continuous performance testingContinuous performance testing
Continuous performance testing
 
Конфиги вместо костылей. Pytestconfig и зачем он нужен
Конфиги вместо костылей. Pytestconfig и зачем он нуженКонфиги вместо костылей. Pytestconfig и зачем он нужен
Конфиги вместо костылей. Pytestconfig и зачем он нужен
 
Команда чемпионов в ИТ стихии
Команда чемпионов в ИТ стихииКоманда чемпионов в ИТ стихии
Команда чемпионов в ИТ стихии
 
API. Серебряная пуля в магазине советов
API. Серебряная пуля в магазине советовAPI. Серебряная пуля в магазине советов
API. Серебряная пуля в магазине советов
 
Добиваемся эффективности каждого из 9000+ UI-тестов
Добиваемся эффективности каждого из 9000+ UI-тестовДобиваемся эффективности каждого из 9000+ UI-тестов
Добиваемся эффективности каждого из 9000+ UI-тестов
 
Делаем автоматизацию проектных KPIs
Делаем автоматизацию проектных KPIsДелаем автоматизацию проектных KPIs
Делаем автоматизацию проектных KPIs
 
Вредные привычки в тест-менеджменте
Вредные привычки в тест-менеджментеВредные привычки в тест-менеджменте
Вредные привычки в тест-менеджменте
 
Мощь переполняет с JDI 2.0 - новая эра UI автоматизации
Мощь переполняет с JDI 2.0 - новая эра UI автоматизацииМощь переполняет с JDI 2.0 - новая эра UI автоматизации
Мощь переполняет с JDI 2.0 - новая эра UI автоматизации
 
Как hh.ru дошли до 500 релизов в квартал без потери в качестве
Как hh.ru дошли до 500 релизов в квартал без потери в качествеКак hh.ru дошли до 500 релизов в квартал без потери в качестве
Как hh.ru дошли до 500 релизов в квартал без потери в качестве
 
Стили лидерства и тестирование
Стили лидерства и тестированиеСтили лидерства и тестирование
Стили лидерства и тестирование
 
"Давайте не будем про качество"
"Давайте не будем про качество""Давайте не будем про качество"
"Давайте не будем про качество"
 
Apache.JMeter для .NET-проектов
Apache.JMeter для .NET-проектовApache.JMeter для .NET-проектов
Apache.JMeter для .NET-проектов
 
Тестирование геолокационных систем
Тестирование геолокационных системТестирование геолокационных систем
Тестирование геолокационных систем
 
Лидер или босс? Вот в чем вопрос
Лидер или босс? Вот в чем вопросЛидер или босс? Вот в чем вопрос
Лидер или босс? Вот в чем вопрос
 
От Зефира в коробке к Structure Zephyr или как тест-менеджеру перекроить внут...
От Зефира в коробке к Structure Zephyr или как тест-менеджеру перекроить внут...От Зефира в коробке к Structure Zephyr или как тест-менеджеру перекроить внут...
От Зефира в коробке к Structure Zephyr или как тест-менеджеру перекроить внут...
 

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

  • 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).