Применение tdd при разработке веб-сервисов

34

Upload: magecom-ukraine

Post on 22-May-2015

2.631 views

Category:

Technology


1 download

TRANSCRIPT

Page 1: Применение TDD при разработке веб-сервисов
Page 2: Применение TDD при разработке веб-сервисов

Применение TDD при разработке

веб-сервисов

Page 3: Применение TDD при разработке веб-сервисов

План

• Описание Web-Service

• SOA в Magento

• Процесс создания нового модуля

• Тестирование

• Вопросы

Page 4: Применение TDD при разработке веб-сервисов

Описание Web-Service

Page 5: Применение TDD при разработке веб-сервисов

Введение

Запрос

Ответ

Page 6: Применение TDD при разработке веб-сервисов

Введение

Page 7: Применение TDD при разработке веб-сервисов

Service-Oriented Architecture (SOA)

Page 8: Применение TDD при разработке веб-сервисов

WSDL (Web Services Description Language)

<definitions><types>Описание типов данных, используемых Веб-сервисом.</types><message>Описание сообщений, используемых Веб-сервисом.</message><portType>Описание операций (методов), предоставляемых Веб-сервисом</portType><binding>Описание протоколов связи, используемых Веб-сервисом</binding>

</definitions>

Page 9: Применение TDD при разработке веб-сервисов

SOAP (Simple Object Access Protocol)

Request<soap:Envelope><soap:Body><xmlns:m="http://www.somesite.org/translation" />

<m:GetTranslation> <m:Word>помидор</m:Word> <m:Language>RussianTOEnglish</m:Language></m:GetTranslation></soap:Body></soap:Envelope>

Page 10: Применение TDD при разработке веб-сервисов

SOAP (Simple Object Access Protocol)

Response<soap:Envelope><soap:Body><xmlns:m="http://www.somesite.org/translation" /> <m:GetTranslationResponse> <m:Translation>tomato</m:Translation> </m:GetTranslationResponse></soap:Body></soap:Envelope>

Page 11: Применение TDD при разработке веб-сервисов

Реализация Web-Service

Page 12: Применение TDD при разработке веб-сервисов

SOA в Magento

Page 13: Применение TDD при разработке веб-сервисов

Контроллеры

Page 14: Применение TDD при разработке веб-сервисов

Представление серверов

Page 15: Применение TDD при разработке веб-сервисов

Описание конфигурации

Page 16: Применение TDD при разработке веб-сервисов

Диаграмма процессов

Page 17: Применение TDD при разработке веб-сервисов

Процесс создания нового модуля

для Web-Service API

Page 18: Применение TDD при разработке веб-сервисов

Описание ресурса API

Page 19: Применение TDD при разработке веб-сервисов

Описание ресурса API (ошибки)

Page 20: Применение TDD при разработке веб-сервисов

Описание ACL для ресурса API

Page 21: Применение TDD при разработке веб-сервисов

Соответствие ACL функциям API

Page 22: Применение TDD при разработке веб-сервисов

Создание ресурсной модели API

Page 23: Применение TDD при разработке веб-сервисов

Создание ресурсной модели API

Page 24: Применение TDD при разработке веб-сервисов

Тестирование

Page 25: Применение TDD при разработке веб-сервисов
Page 26: Применение TDD при разработке веб-сервисов

Особенности тестирования Web-Services

• Отсутствие графического интерфейса

• Кроссплатформенность

• Надежность

• Соответствие стандартам

• Интеграционное тестирование

Page 27: Применение TDD при разработке веб-сервисов

Фазы тестирования

• Планирование

• Unit-тестирование

• Интерграционное тестирование

• Системное тестирование

Page 28: Применение TDD при разработке веб-сервисов

Планирование

• Выбор тестового окружения

• Планирование показателей надежности

• Тестирование безопасности

Page 29: Применение TDD при разработке веб-сервисов

Unit-тестирование

• Выполняются разработчиками

• Проведение Code Review

• Обеспечение качества

Page 30: Применение TDD при разработке веб-сервисов

Интеграционное тестирование

• Интерфейсы и обмен данным между сервисами

• Проверка транспортного уровня

• Проверка на соответствие стандартам данных

• Проверка на соответствие уровню безопасности

Page 31: Применение TDD при разработке веб-сервисов

Системное тестирование

• Проверка сервисов в условиях смоделированной тестовой среды

• Тестирование безопасности

• Проверка на соотвествие бизнес требованиям

• Нагрузочное тестирование

Page 32: Применение TDD при разработке веб-сервисов

Использование инструментов

Page 33: Применение TDD при разработке веб-сервисов

Заключение

Page 34: Применение TDD при разработке веб-сервисов

Вопросы?

Владимир КоротовскихEmail: [email protected]

Web-Services Team Lead, Magento Core Team, Magento Inc