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