Фреймворк для авто-тестирования веб-сервисов своими силами презентация

Содержание

О себе Воробьев Андрей Test Automation Engineer EPAM Systems Автор и ведущий тренингов для начинающих по авто-тестированию веб-сервисов andrei_varabyeu@epam.com

Слайд 1Фреймворк для авто-тестирования веб-сервисов своими силами
Воробьев Андрей
Test Automation Engineer
EPAM, Минск


Слайд 2О себе
Воробьев Андрей

Test Automation Engineer EPAM Systems

Автор и ведущий тренингов

для начинающих по авто-тестированию веб-сервисов

andrei_varabyeu@epam.com

Слайд 3Профессиональный жаргон


Слайд 4Авто-тестирование веб-сервиса
Запрос
Ответ
Ответ
правильный?
Да
Тест
пройден
БАГ


Слайд 5Авто-тестирование веб-сервиса
Покупать продукт

или

разрабатывать самим?


Слайд 6Как решить?
Для того, чтобы принять верное решение, достаточно ответить только на

один вопрос:

“Насколько тривиальные задачи требуется решить”


Слайд 7Сложно или просто?


Слайд 8Сложно или просто?
Просто:

Простые входные данные(числа, строки)

Примитивные типы валидаций (=, >,

<, contains)

Простые выборки в базу. Малый объем выборок

Сложно:

Сложные входные данные (части запросов, которые нужно группировать друг с другом)

Сложная валидация (по шаблону, по данным которые тоже нужно откуда-нибудь получить )

Поддержка транзакций БД, кэширования





Слайд 9Сложно или просто?


Слайд 10Сложно или просто?


Слайд 11Сложно или просто?


Лина Воробьева

Сергей Воробьев




Слайд 12Сложно или просто?



Валентина Криводубская
Дмитрий Криводубский


Воробьев“>
Ядвига Воробьева
Николай Воробьев





Слайд 13Сложно или просто?



Анна Криводубская
Петр Криводубский

name=“Владимир Криводубский“>
















N == ?


Слайд 14Просто

SOAP, Rest, HTTP, JMS, DB

XPath Assertions

XQuery Assertions

Logging

Scripting Support (Groovy, JavaScript)

WS

Security

…. and more



Слайд 15Сложно

Java/C#/…

WS implementation

*Unit testing Frameworks







Слайд 16«Сделай сам»

Клиент веб-сервиса (для отправки запросов и получения ответов от сервера)

Реализация

работы с БД, другими источниками входных/выходных данных

Набор валидаций, которые нужны ВАМ (XPath, XQuery, DB, равно, содержит, больше\меньше, соответствует заданному формату)


Фреймворк для тестирования
Веб Сервиса – это всего лишь:


Слайд 17Task list ☺








Слайд 18Подготовка запроса



Андрей Воробьев




Слайд 19Подготовка запроса
soapUI

Java Property files

Data Source (excel)

DB via ‘Property Transfer’

использование groovy


Java-based

framework

Java Property files

DB (+ORM, cashing, transactions)

ЛЮБЫЕ другие источники данных (Windows Active Directory, http, ftp, etc)


Слайд 20Отправка запроса/Получение ответа
soapUI

ВСЕ уже сделано за вас


Java-based framework

JAX-WS

Spring-WS



ЛЮБЫЕ другие источники

имплементации, которые удобно использовать ВАМ


Слайд 21Валидация ответа



Лина Воробьева
Сергей Воробьев




Слайд 22soapUI – это тоже Java код


Слайд 23 Архитектура
или то, над чем стоит поломать голову…


Слайд 24 Архитектура. Основные принципы

Каждый из компонентов не зависит от другого


Модульность


Слайд 25 Архитектура. Основные принципы

Легко добавлять:

новый функционал

новые типы валидаций


Расширяемость


Слайд 26 Архитектура. Основные принципы
Достаточно посмотреть

на исходный код теста,

чтобы понять что

он делает

Читаемость


Слайд 27 Архитектура. Компоненты


Слайд 28Архитектура. Диаграмма последовательности


Слайд 29Компоненты. Тест
TestNG
базовые типы валидации

группировка в сьюты

отчеты о прохождении тестов

возможность выполнять тесты

в несколько потоков

зависимости между тестами

Слайд 30Компоненты


Слайд 31Компоненты. Процессор шаблонов
Данные
Шаблон
Готовый
запрос


Слайд 32Компоненты. Процессор шаблонов
Шаблон


${amountValue}

${currencyValue}





Слайд 33Компоненты. Процессор шаблонов
Данные
amountValue = 100

currencyValue = USD


Слайд 34Компоненты. Процессор шаблонов
Готовый
запрос


100

USD





Слайд 35Компоненты


Слайд 36Компоненты. XML - модель
Мы используем…


Слайд 37Компоненты. SOAP-клиент
исходный код может быть сгенерирован автоматически по WSDL-схеме
исходный код нужно

писать самому

Слайд 38Компоненты


Слайд 39Компоненты. Валидация


Слайд 40Компоненты. Валидация. Ответ


Слайд 41 Почему это так важно
Новые тесты

создаются

быстро



Слайд 42 Почему это так важно
Старые тесты

поддерживать

просто


2 x 2


Слайд 43 soapUI Pro умеет…

измерять степень покрытия тестами

тестирование безопасности (SQL-инъекции, XPath-инъекции)

производить нагрузочное тестирование

интегрироваться

в сборку сервиса и CI-цикл

создавать Mock-сервисы


Слайд 44 soapUI vs. разработка

не нужно никаких подготовительных работ

новые тесты создаются медленно

старые тесты

поддерживаются медленно

квалификация авто-тестировщика ниже среднего

базовый набор функционала*


* расширяется только groovy-скриптингом

Слайд 45 soapUI vs. разработка

перед написанием тестов необходимо разработать механизмы отправки, получения и

валидации

новые тесты создаются быстро

старые тесты поддерживать просто

квалификация авто-тестировщика выше среднего


Слайд 46 soapUI vs. разработка


Слайд 47 soapUI vs. разработка

Любые протоколы


Любые источники входных и выходных данных (Active Directory,

POP3, SMTP)


Простота валидации сложных типов данных (даты, UUID)


Слайд 48 Наш опыт
На разработку

Фреймворка и первого

теста путем

проб и ошибок

ушло

около

2 человеко-месяцев



Слайд 49 Наш опыт
Сейчас,

имея опыт,

Это можно

сделать за

2 человеко-недели



Слайд 50Ваши вопросы!


Слайд 51Спасибо за внимание!
Воробьев Андрей
Test Automation Engineer
EPAM, Минск


Слайд 52Валидация ответа
soapUI

Fault/Success
Contains
XPath
Xquery
Schema Compilance
Timeout
WS-Security Status
Groovy




Java-based framework

JUnit
TestNG
XmlUnit
HtmlUnit
DbUnit
…*Unit


Слайд 53Компоненты. Процессор шаблонов


Слайд 54Компоненты. XML – модель. JAXB



Обратная связь

Если не удалось найти и скачать презентацию, Вы можете заказать его на нашем сайте. Мы постараемся найти нужный Вам материал и отправим по электронной почте. Не стесняйтесь обращаться к нам, если у вас возникли вопросы или пожелания:

Email: Нажмите что бы посмотреть 

Что такое ThePresentation.ru?

Это сайт презентаций, докладов, проектов, шаблонов в формате PowerPoint. Мы помогаем школьникам, студентам, учителям, преподавателям хранить и обмениваться учебными материалами с другими пользователями.


Для правообладателей

Яндекс.Метрика