29
Тестирование Enterprise Service Bus: Что? Где? Как? Александра Волкова Itera, Киев 1

Тестирование Enterprise Service Bus: Что? Где? Как?

  • Upload
    sqalab

  • View
    759

  • Download
    2

Embed Size (px)

DESCRIPTION

Презентация доклада Александры Волковой на конференции SQADays-14, Львов 8-9 ноября 2013

Citation preview

Page 1: Тестирование Enterprise Service Bus: Что? Где? Как?

1

Тестирование Enterprise Service Bus:Что? Где? Как?

Александра ВолковаItera, Киев

Page 2: Тестирование Enterprise Service Bus: Что? Где? Как?

2

Alexandra Volkova

[email protected]

Области экспертизы: Тестирование SOA систем Автоматизация тестирования Тест менеджмент

Page 3: Тестирование Enterprise Service Bus: Что? Где? Как?

3

Мы поговорим о…• Что такое Enterprise Service Bus

– концепция– где используется– какие функции выполняет– что тестировать

• Подходы к функциональному тестированию ESB

• Обязательные тестовые сценарии

• Инструменты

• Автоматизация

Page 4: Тестирование Enterprise Service Bus: Что? Где? Как?

4

Что такое ESB?

Page 5: Тестирование Enterprise Service Bus: Что? Где? Как?

5

Интегрируем!

У вас может быть интеграция такого типа...

Page 6: Тестирование Enterprise Service Bus: Что? Где? Как?

6

Интегрируем!

… или у вас может быть service bus

Page 7: Тестирование Enterprise Service Bus: Что? Где? Как?

7

Веб-служба, веб-сервис (англ. web service) — идентифицируемая веб-адресом программная система со стандартизированными интерфейсами.Веб-службы могут взаимодействовать друг с другом и со сторонними приложениями посредством сообщений, основанных на определённых протоколах (SOAP, XML-RPC и т. д.).

Для справки

Page 8: Тестирование Enterprise Service Bus: Что? Где? Как?

8

Функции ESB

Маршрутизация

Трансформацияo Данныеo Структураo SOAP -> REST

Гарантия доставки

Логирование (контроль транзакций)

Page 9: Тестирование Enterprise Service Bus: Что? Где? Как?

9

Области тестирования

Transformation

Logging

Interfaces

Validation

RoutingRedelivery

DB

Page 10: Тестирование Enterprise Service Bus: Что? Где? Как?

10

Платформы

Page 11: Тестирование Enterprise Service Bus: Что? Где? Как?

11

Где тестировать?

Page 12: Тестирование Enterprise Service Bus: Что? Где? Как?

12

Environments: Применяем уровни тестирования

Page 13: Тестирование Enterprise Service Bus: Что? Где? Как?

13

Сначала «заглушки», потом реальные системы

Page 14: Тестирование Enterprise Service Bus: Что? Где? Как?

14

Только ESB?

Page 15: Тестирование Enterprise Service Bus: Что? Где? Как?

15

Только ESB!

Зависимости Контроль ответов Тестовые данные не критичны

Page 16: Тестирование Enterprise Service Bus: Что? Где? Как?

16

Как?

Page 17: Тестирование Enterprise Service Bus: Что? Где? Как?

17

Подход: синхронный сервис

Отправить запрос

Проверить ответ

Проверить полученные адресатом

данные

SenderReceiver(mock)

Request

Request

Response

Response

ESB

Page 18: Тестирование Enterprise Service Bus: Что? Где? Как?

18

Сценарии (синхронный сервис)

Тестируйте “позитивные” сценарии для разных наборов данных

Тестируйте все возможные “негативные” сценарии:

SOAPFault

Invalid ResponseBad Request

Internal Failure

Page 19: Тестирование Enterprise Service Bus: Что? Где? Как?

19

Подход: асинхронный сервис

Отправить запрос

Проверить ответ-

уведомление

Дождаться когда все запросы

получены

Проверить полученные

данные

Sender(mock)

Receiver(mock)

Request

Acknowledge Request

Response (status)

Request(status)

Acknowledge

ESB

Page 20: Тестирование Enterprise Service Bus: Что? Где? Как?

20

Сценарии (асинхронный сервис)

Тестируйте все возможные “негативные” сценарии:

Тестируйте повторную доставку (если требуется)

Тестируйте “позитивные” сценарии для разных наборов данных

SOAPFault

Invalid ResponseBad Request

Page 21: Тестирование Enterprise Service Bus: Что? Где? Как?

21

System Integration тест

UI

DB

Логи

Микс

Page 22: Тестирование Enterprise Service Bus: Что? Где? Как?

22

Инструменты

Page 23: Тестирование Enterprise Service Bus: Что? Где? Как?

23

Полный Backend

Взаимодействие с web сервисами

«Заглушки»

JMS

Другие инструменты

Инструменты платформы

“Своя” web страница

Инструменты платформы

Gems

DB

Page 24: Тестирование Enterprise Service Bus: Что? Где? Как?

24

Автоматизация

Page 25: Тестирование Enterprise Service Bus: Что? Где? Как?

25

Автоматизируем?

ЛегчеБыстрее

VS

Page 26: Тестирование Enterprise Service Bus: Что? Где? Как?

26

Автоматизируем!

• SOA ориентированные инструменты

• Плагины к IDE

• Языки программирования

Page 27: Тестирование Enterprise Service Bus: Что? Где? Как?

27

Почему SoapUI?• Легко начать

• Можно делать «заглушки»

• Groovy scripting

• Поддержка SOAP и REST web сервисов, работа с БД

• Бесплатная и Pro версии

• Возможность использовать библиотеку скриптов

• Возможность расширять и кастомизировать

Page 28: Тестирование Enterprise Service Bus: Что? Где? Как?

28

Подведем итоги

• Enterprise Service Bus – модель архитектуры интеграции

• Сначала необходимо протестировать ESB как компонент, без зависимостей от внешних систем (с заглушками)

• После этого необходимо протестировать интеграцию

• Есть набор обязательных тестовых сценариев для синхронных и асинхронных сервисов

• Потребуются backend инструменты

• Автоматизация эффективна и целесообразна

Page 29: Тестирование Enterprise Service Bus: Что? Где? Как?

29