2. Web-сервисы - это один из механизмов платформы, используемых для
интеграции с другими информационными системами.
Вызываются удаленно по сети
посредством стандартизированных
XML сообщений
Используемые протоколы
• SOAP (Simple Object Access
Protocol)
• REST (Representational State
Transfer)
• XML-RPC (Extensible Markup
Language Remote Procedure Call)
3. Наша задача на следующих 30 мин
• Ознакомиться и обобщить существующие знания о возможностях
инструмента soap UI в области тестирования веб-сервисов
• Приобрести (у кого нет) практические навыки использования
инструмента на примере
4. soap UI. Основные возможности
Поддерживаемые технологии и стандарты: SOAP/WSDL and
REST,HTTP(S),AMF,JDBS,JMS.
Наличие инструментов для тестирования безопасности и нагрузочного
тестирования веб-сервисов
Service Mocking
Groovy API
Логирование полученных результатов
5. Особенности инструмента
• Наличие набора визуальных инструментов, что
позволяет сделать процесс создания тестов более
простым и наглядным.
• Возможность работы как в качестве тестового
клиента, так и тестового сервиса — на основе
предоставляемых wsdl.
6. Структура проекта в soap UI
Mockup WSDL(0..n)
Project(1..n)
Live WSDL(1..n)
Test Suite(1..n)
Test case (1..n)
Step 1 Step .. Step n
7. Постановка задачи или небольшой
тестовый сценарий
Для существующего веб-сервиса regionsInfoByIana проверить
наличие информации о стране Бутан по коду bt.
Ожидаемый результат: список регионов страны со
следующими данными:
– название региона
– широта
– долгота
WSDL сервиса:
http://www.mobilefish.com/services/web_service/countries.php?wsdl
8. Функциональное тестирование
веб-сервисов.
Ocновные шаги
1. Создание workspace
2. Cоздание проекта
3. Cоздание Тest suite + test case
4. Добавление SOAP step c указанием тестируемого сервиса
5. Параметризация SOAP запроса
6. Добавление элементов валидации для будущего ответа
7. Организация программного запуска сценария
9. Load testing
Возможности иструмента:
1. Симуляция различных типов нагрузки:
- пилообразная
- линейная
- импульсная
- на основе математической функции
2. Валидация основных критериев производительности
3. Графическое отображение результатов теста, возможность экспорта
результатов
10. Security testing
Возможности инструмента:
1. Проверка типичных
уязвимостей путем:
– SQL инъекций
– XPath инъекций
– ”деформированный” XML
– ”вредоносный” attachment
– Cross Site scripting и др.
2. Генерация отчетов
3. Визуальный анализ
полученных результатов
11. Полезная информация
1. Функциональное тестирование веб-сервисов
http://www.soapui.org/Getting-Started/web-service-sample-
project.html
2. Service mocking
http://www.soapui.org/Getting-Started/web-service-sample-
project.html
3. Security testing
http://www.soapui.org/Security/getting-started.html
4. Load testing
http://www.soapui.org/Getting-Started/load-testing.html
5. Groovy API
http://www.soapui.org/apidocs/
6. Полезные примеры
http://www.soapui.org/Scripting-Properties/tips-a-tricks.html