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

Preview:

Citation preview

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

cookiesSOAP

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

Recommended