ݺߣ

ݺߣShare a Scribd company logo
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

More Related Content

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

  • 1. MOBILE OPTIMIZED|JUNE 2014| 1 Методика тестирования интеграции мобильных приложений с веб-сервисами 29 Июня 2014
  • 2. MOBILE OPTIMIZED|JUNE 2014| 2 Проблемы тестирования интеграции
  • 3. MOBILE OPTIMIZED|JUNE 2014| 3 APP Трекинг Аналитика Реклама Социальные сети Бизнес логика Ресурсы
  • 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