MOBILE OPTIMIZED|JUNE 2014| 1
Методика тестирования
интеграции мобильных
приложений с веб-сервисами
29 Июня 2014
MOBILE OPTIMIZED|JUNE 2014| 2
Проблемы тестирования интеграции
MOBILE OPTIMIZED|JUNE 2014| 3
APP
Трекинг Аналитика
Реклама Социальные
сети
Бизнес логика
Ресурсы
MOBILE OPTIMIZED|JUNE 2014| 4
MOBILE OPTIMIZED|JUNE 2014| 5
Сложности тестирования интеграции со сторонними сервисами
• Отсутствие доступа к сторонним системам
• Отсутствие тестовых интерфейсов
• Сложно тестировать ошибки
• Сложно или долго проверять результат
MOBILE OPTIMIZED|JUNE 2014| 6
Возможные проблемы при интеграции с собственными сервисами
• Получаемые данные зависят от случайных величин
• Получаемые данные зависят от третьих сторон
• Некоторые события сложно или долго воспроизводить
• Отсутствие полного контроля над сервером
MOBILE OPTIMIZED|JUNE 2014| 7
Возможные решения и инструменты
MOBILE OPTIMIZED|JUNE 2014| 8
Заведите тестовые аккаунты!
где это возможно…
Прочтите документацию к API/SDK
MOBILE OPTIMIZED|JUNE 2014| 9
Изучите инструменты веб-отладки!
Charles
Fiddler
Burp Suite
WebScarab
MOBILE OPTIMIZED|JUNE 2014| 10
Получите новые знания!
<XML/>
{JSON}
GET/POST
HTTP headers
cookies
SOAP
RESTful
MOBILE OPTIMIZED|JUNE 2014| 11
Что нужно тестировать?
MOBILE OPTIMIZED|JUNE 2014| 12
Позитивные тесты
• Аутенфикация и параметры сервиса (токены, айди, настройки, итд)
• Корректность отправляемых данных
• Корректность обработки полученных данных
• Проверка того что сервис используется в тех местах где это нужно и только
когда нужно
MOBILE OPTIMIZED|JUNE 2014| 13
Негативные тесты
• Обработка ошибок
• Уровень сервиса – ошибки описанные в документации
• Уровень протокола – ошибки HTTP 401, 404, 500 итд
• Уровень сети – обрыв связи, отсутствие ответа
• Работа в медленных сетях
MOBILE OPTIMIZED|JUNE 2014| 14
Как это тестировать?
MOBILE OPTIMIZED|JUNE 2014| 15
Доступ к информации с помощью прокси-сервера
• Проверка настроек SDK/API
• Можно проверять отправляемые данные
• Можно сверять полученные данные с тем что происходит в приложении
• Лог запросов часто поможет понять как воспроизвести баг
MOBILE OPTIMIZED|JUNE 2014| 16
В каком виде лучше сохранять информацию в баг
• Адрес сервера
• Время запроса
• Заголовки и тело запроса
• Заголовки и тело ответа
• Дополнительно: полный лог сессии
MOBILE OPTIMIZED|JUNE 2014| 17
Манипуляция данными
• Breakpoints
• Редактирование запросов
• Редактирование ответов
• Симуляция ошибок
• Тест запуска и отправки в бэкграунд на таймаут
• Throttling
• Замедляем интернет. Всем, либо выборочно.
MOBILE OPTIMIZED|JUNE 2014| 18
Манипуляция данными
• DNS spoofing - замена сервера
• Map Remote – перенаправление отдельных запросов на другой сервер
• Map Local – подстановка ответов из файла
• Rewrite – Автоматическое изменение данных в запросах и ответах
MOBILE OPTIMIZED|JUNE 2014| 19
Дополнительные возможности инструментов
MOBILE OPTIMIZED|JUNE 2014| 20
Куда можно расти с таким опытом?
• Функциональное тестирование веб-сервисов
• Тестирование безопасности веб-сервисов
• Автоматизация тестирования
MOBILE OPTIMIZED|JUNE 2014| 21
Вопросы?
Спасибо!
Email: oleg.chekan@ig.com

Методика тестирования интеграции мобильных приложений с веб-сервисами

  • 1.
    MOBILE OPTIMIZED|JUNE 2014|1 Методика тестирования интеграции мобильных приложений с веб-сервисами 29 Июня 2014
  • 2.
    MOBILE OPTIMIZED|JUNE 2014|2 Проблемы тестирования интеграции
  • 3.
    MOBILE OPTIMIZED|JUNE 2014|3 APP Трекинг Аналитика Реклама Социальные сети Бизнес логика Ресурсы
  • 4.
  • 5.
    MOBILE OPTIMIZED|JUNE 2014|5 Сложности тестирования интеграции со сторонними сервисами • Отсутствие доступа к сторонним системам • Отсутствие тестовых интерфейсов • Сложно тестировать ошибки • Сложно или долго проверять результат
  • 6.
    MOBILE OPTIMIZED|JUNE 2014|6 Возможные проблемы при интеграции с собственными сервисами • Получаемые данные зависят от случайных величин • Получаемые данные зависят от третьих сторон • Некоторые события сложно или долго воспроизводить • Отсутствие полного контроля над сервером
  • 7.
    MOBILE OPTIMIZED|JUNE 2014|7 Возможные решения и инструменты
  • 8.
    MOBILE OPTIMIZED|JUNE 2014|8 Заведите тестовые аккаунты! где это возможно… Прочтите документацию к API/SDK
  • 9.
    MOBILE OPTIMIZED|JUNE 2014|9 Изучите инструменты веб-отладки! Charles Fiddler Burp Suite WebScarab
  • 10.
    MOBILE OPTIMIZED|JUNE 2014|10 Получите новые знания! <XML/> {JSON} GET/POST HTTP headers cookies SOAP RESTful
  • 11.
    MOBILE OPTIMIZED|JUNE 2014|11 Что нужно тестировать?
  • 12.
    MOBILE OPTIMIZED|JUNE 2014|12 Позитивные тесты • Аутенфикация и параметры сервиса (токены, айди, настройки, итд) • Корректность отправляемых данных • Корректность обработки полученных данных • Проверка того что сервис используется в тех местах где это нужно и только когда нужно
  • 13.
    MOBILE OPTIMIZED|JUNE 2014|13 Негативные тесты • Обработка ошибок • Уровень сервиса – ошибки описанные в документации • Уровень протокола – ошибки HTTP 401, 404, 500 итд • Уровень сети – обрыв связи, отсутствие ответа • Работа в медленных сетях
  • 14.
    MOBILE OPTIMIZED|JUNE 2014|14 Как это тестировать?
  • 15.
    MOBILE OPTIMIZED|JUNE 2014|15 Доступ к информации с помощью прокси-сервера • Проверка настроек SDK/API • Можно проверять отправляемые данные • Можно сверять полученные данные с тем что происходит в приложении • Лог запросов часто поможет понять как воспроизвести баг
  • 16.
    MOBILE OPTIMIZED|JUNE 2014|16 В каком виде лучше сохранять информацию в баг • Адрес сервера • Время запроса • Заголовки и тело запроса • Заголовки и тело ответа • Дополнительно: полный лог сессии
  • 17.
    MOBILE OPTIMIZED|JUNE 2014|17 Манипуляция данными • Breakpoints • Редактирование запросов • Редактирование ответов • Симуляция ошибок • Тест запуска и отправки в бэкграунд на таймаут • Throttling • Замедляем интернет. Всем, либо выборочно.
  • 18.
    MOBILE OPTIMIZED|JUNE 2014|18 Манипуляция данными • DNS spoofing - замена сервера • Map Remote – перенаправление отдельных запросов на другой сервер • Map Local – подстановка ответов из файла • Rewrite – Автоматическое изменение данных в запросах и ответах
  • 19.
    MOBILE OPTIMIZED|JUNE 2014|19 Дополнительные возможности инструментов
  • 20.
    MOBILE OPTIMIZED|JUNE 2014|20 Куда можно расти с таким опытом? • Функциональное тестирование веб-сервисов • Тестирование безопасности веб-сервисов • Автоматизация тестирования
  • 21.
    MOBILE OPTIMIZED|JUNE 2014|21 Вопросы? Спасибо! Email: oleg.chekan@ig.com