Upload
qa-club-minsk
View
1.569
Download
2
Embed Size (px)
DESCRIPTION
Доклад Олега Чекана в блоке QA Club на конференции Mobile Optimized 2014
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
Куда можно расти с таким опытом?
• Функциональное тестирование веб-сервисов
• Тестирование безопасности веб-сервисов
• Автоматизация тестирования