Применение tdd при разработке веб-сервисов
TRANSCRIPT
Применение TDD при разработке
веб-сервисов
План
• Описание Web-Service
• SOA в Magento
• Процесс создания нового модуля
• Тестирование
• Вопросы
Описание Web-Service
Введение
Запрос
Ответ
Введение
Service-Oriented Architecture (SOA)
WSDL (Web Services Description Language)
<definitions><types>Описание типов данных, используемых Веб-сервисом.</types><message>Описание сообщений, используемых Веб-сервисом.</message><portType>Описание операций (методов), предоставляемых Веб-сервисом</portType><binding>Описание протоколов связи, используемых Веб-сервисом</binding>
</definitions>
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>
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>
Реализация Web-Service
SOA в Magento
Контроллеры
Представление серверов
Описание конфигурации
Диаграмма процессов
Процесс создания нового модуля
для Web-Service API
Описание ресурса API
Описание ресурса API (ошибки)
Описание ACL для ресурса API
Соответствие ACL функциям API
Создание ресурсной модели API
Создание ресурсной модели API
Тестирование
Особенности тестирования Web-Services
• Отсутствие графического интерфейса
• Кроссплатформенность
• Надежность
• Соответствие стандартам
• Интеграционное тестирование
Фазы тестирования
• Планирование
• Unit-тестирование
• Интерграционное тестирование
• Системное тестирование
Планирование
• Выбор тестового окружения
• Планирование показателей надежности
• Тестирование безопасности
Unit-тестирование
• Выполняются разработчиками
• Проведение Code Review
• Обеспечение качества
Интеграционное тестирование
• Интерфейсы и обмен данным между сервисами
• Проверка транспортного уровня
• Проверка на соответствие стандартам данных
• Проверка на соответствие уровню безопасности
Системное тестирование
• Проверка сервисов в условиях смоделированной тестовой среды
• Тестирование безопасности
• Проверка на соотвествие бизнес требованиям
• Нагрузочное тестирование
Использование инструментов
Заключение
Вопросы?
Владимир КоротовскихEmail: [email protected]
Web-Services Team Lead, Magento Core Team, Magento Inc