Upload
sqalab
View
759
Download
2
Embed Size (px)
DESCRIPTION
Презентация доклада Александры Волковой на конференции SQADays-14, Львов 8-9 ноября 2013
Citation preview
1
Тестирование Enterprise Service Bus:Что? Где? Как?
Александра ВолковаItera, Киев
2
Alexandra Volkova
Области экспертизы: Тестирование SOA систем Автоматизация тестирования Тест менеджмент
3
Мы поговорим о…• Что такое Enterprise Service Bus
– концепция– где используется– какие функции выполняет– что тестировать
• Подходы к функциональному тестированию ESB
• Обязательные тестовые сценарии
• Инструменты
• Автоматизация
4
Что такое ESB?
5
Интегрируем!
У вас может быть интеграция такого типа...
6
Интегрируем!
… или у вас может быть service bus
7
Веб-служба, веб-сервис (англ. web service) — идентифицируемая веб-адресом программная система со стандартизированными интерфейсами.Веб-службы могут взаимодействовать друг с другом и со сторонними приложениями посредством сообщений, основанных на определённых протоколах (SOAP, XML-RPC и т. д.).
Для справки
8
Функции ESB
Маршрутизация
Трансформацияo Данныеo Структураo SOAP -> REST
Гарантия доставки
Логирование (контроль транзакций)
9
Области тестирования
Transformation
Logging
Interfaces
Validation
RoutingRedelivery
DB
10
Платформы
11
Где тестировать?
12
Environments: Применяем уровни тестирования
13
Сначала «заглушки», потом реальные системы
14
Только ESB?
15
Только ESB!
Зависимости Контроль ответов Тестовые данные не критичны
16
Как?
17
Подход: синхронный сервис
Отправить запрос
Проверить ответ
Проверить полученные адресатом
данные
SenderReceiver(mock)
Request
Request
Response
Response
ESB
18
Сценарии (синхронный сервис)
Тестируйте “позитивные” сценарии для разных наборов данных
Тестируйте все возможные “негативные” сценарии:
SOAPFault
Invalid ResponseBad Request
Internal Failure
19
Подход: асинхронный сервис
Отправить запрос
Проверить ответ-
уведомление
Дождаться когда все запросы
получены
Проверить полученные
данные
Sender(mock)
Receiver(mock)
Request
Acknowledge Request
Response (status)
Request(status)
Acknowledge
ESB
20
Сценарии (асинхронный сервис)
Тестируйте все возможные “негативные” сценарии:
Тестируйте повторную доставку (если требуется)
Тестируйте “позитивные” сценарии для разных наборов данных
SOAPFault
Invalid ResponseBad Request
21
System Integration тест
UI
DB
Логи
Микс
22
Инструменты
23
Полный Backend
Взаимодействие с web сервисами
«Заглушки»
JMS
Другие инструменты
Инструменты платформы
“Своя” web страница
Инструменты платформы
Gems
DB
24
Автоматизация
25
Автоматизируем?
ЛегчеБыстрее
VS
26
Автоматизируем!
• SOA ориентированные инструменты
• Плагины к IDE
• Языки программирования
27
Почему SoapUI?• Легко начать
• Можно делать «заглушки»
• Groovy scripting
• Поддержка SOAP и REST web сервисов, работа с БД
• Бесплатная и Pro версии
• Возможность использовать библиотеку скриптов
• Возможность расширять и кастомизировать
28
Подведем итоги
• Enterprise Service Bus – модель архитектуры интеграции
• Сначала необходимо протестировать ESB как компонент, без зависимостей от внешних систем (с заглушками)
• После этого необходимо протестировать интеграцию
• Есть набор обязательных тестовых сценариев для синхронных и асинхронных сервисов
• Потребуются backend инструменты
• Автоматизация эффективна и целесообразна
29