SlideShare a Scribd company logo
Тестирование программного обеспечения (Software Testing) -
проверка соответствия между реальным и ожидаемым поведением
программы (ProTesting.ru)
Тестирование программного обеспечения — процесс исследования,
испытания программного продукта, имеющий две различные цели
(Wikipedia):
продемонстрировать разработчикам и заказчикам, что программа соответствует
требованиям;
выявить ситуации, в которых поведение программы является неправильным,
нежелательным или не соответствующим спецификации
Front-End (UI)
LOGIN
Username
Password
API layer
Business Logic
DB connector + DB
HTTP request
HTTP response
CREATE USER
Back-EndWeb Services
Структура WEB-приложения
Front-End (UI)
LOGIN
user@user@user.test
Password
API layer
Business Logic
DB connector + DB
HTTP request
HTTP response
CREATE USER
Back-End
ЗАЧЕМ???
{
''username'': ''user@user@user.test'',
''password'': ''P@ssword1''
}
{
''username'': ''user@user@user.test'',
''iscreated'': true
}
Listen on 80
Server
HTTP
Client
Web browser
HTTP requests
HTTP request1. URI (http:/test.test.test/api/users)
2. Method (GET, POST, PUT, DELETE, HEAD
…)
3. Request Headers
4. Request Body
HTTP response
1. Response Status (200, 500, 404, 401 ...)
2. Response Headers
4. Response Body
Business Logic
DB connector + DB
Back-End
Back-End
API layer
createUser
deleteUser
editUser
getUser
loginUser
logoutUser
POST /api/users
DELETE /api/users/23
PUT /api/users/23
GET /api/users/23
POST /api/login
POST /api/logout
REST vs SOAP
1. Основан на HTTP протоколе
2. Ограничен методами (POST, GET...)
3. Может использовать XML, JSON, ASCII …
4. Не самодокументирован (хммм...)
1. Использует HTTP как транспорт
2. Неограниченное количество методов
3. Принимает и передает XML
4. Имеет WSDL файл с описанием
ЧЕМ???
POSTMAN
ЧЕМ???
Fiddler
ЧЕМ???
Browser console (анализ)
ЧЕМ???
SoapUI
ЧЕМ???
JMeter
КАК???
Да, как обычно :)
- валидность значений
- граничные значения
- функциональные тесты
- наличие заголовков
- коды ответов
- и т. д.
Тут ваши вопросы :)
Контакты:
Ed Izotov
ed.izotov@gmail.com
skype: corneliusseo

More Related Content

Viewers also liked

QA Lab: тестирование ПО. Эд Изотов: "Jmeter. Достучаться до небес".
QA Lab: тестирование ПО. Эд Изотов: "Jmeter. Достучаться до небес".QA Lab: тестирование ПО. Эд Изотов: "Jmeter. Достучаться до небес".
QA Lab: тестирование ПО. Эд Изотов: "Jmeter. Достучаться до небес".
GeeksLab Odessa
 
JMeter - Performance testing your webapp
JMeter - Performance testing your webappJMeter - Performance testing your webapp
JMeter - Performance testing your webappAmit Solanki
 
Подводные камни в нагрузочном тестировании
Подводные камни в нагрузочном тестированииПодводные камни в нагрузочном тестировании
Подводные камни в нагрузочном тестировании
Vladimir Sitnikov
 
JMeter и OutOfMemory. Исследовательский доклад
JMeter и OutOfMemory. Исследовательский докладJMeter и OutOfMemory. Исследовательский доклад
JMeter и OutOfMemory. Исследовательский доклад
SQALab
 
Нагрузочное тестирование JMeter Кожухов
Нагрузочное тестирование JMeter КожуховНагрузочное тестирование JMeter Кожухов
Нагрузочное тестирование JMeter КожуховИлья Кожухов
 
Apache JMeter - A brief introduction
Apache JMeter - A brief introductionApache JMeter - A brief introduction
Apache JMeter - A brief introduction
silenceIT Inc.
 
Reveal.js
Reveal.jsReveal.js
Reveal.js
Hakim El Hattab
 
Performance testing jmeter
Performance testing jmeterPerformance testing jmeter
Performance testing jmeterBhojan Rajan
 
Know yourengines velocity2011
Know yourengines velocity2011Know yourengines velocity2011
Know yourengines velocity2011
Demis Bellot
 

Viewers also liked (9)

QA Lab: тестирование ПО. Эд Изотов: "Jmeter. Достучаться до небес".
QA Lab: тестирование ПО. Эд Изотов: "Jmeter. Достучаться до небес".QA Lab: тестирование ПО. Эд Изотов: "Jmeter. Достучаться до небес".
QA Lab: тестирование ПО. Эд Изотов: "Jmeter. Достучаться до небес".
 
JMeter - Performance testing your webapp
JMeter - Performance testing your webappJMeter - Performance testing your webapp
JMeter - Performance testing your webapp
 
Подводные камни в нагрузочном тестировании
Подводные камни в нагрузочном тестированииПодводные камни в нагрузочном тестировании
Подводные камни в нагрузочном тестировании
 
JMeter и OutOfMemory. Исследовательский доклад
JMeter и OutOfMemory. Исследовательский докладJMeter и OutOfMemory. Исследовательский доклад
JMeter и OutOfMemory. Исследовательский доклад
 
Нагрузочное тестирование JMeter Кожухов
Нагрузочное тестирование JMeter КожуховНагрузочное тестирование JMeter Кожухов
Нагрузочное тестирование JMeter Кожухов
 
Apache JMeter - A brief introduction
Apache JMeter - A brief introductionApache JMeter - A brief introduction
Apache JMeter - A brief introduction
 
Reveal.js
Reveal.jsReveal.js
Reveal.js
 
Performance testing jmeter
Performance testing jmeterPerformance testing jmeter
Performance testing jmeter
 
Know yourengines velocity2011
Know yourengines velocity2011Know yourengines velocity2011
Know yourengines velocity2011
 

Similar to Эд Изотов: "In God we trust the REST we test".

API плюс толстый клиент – новая парадигма веб-разработки? / Андрей Лебедев (Г...
API плюс толстый клиент – новая парадигма веб-разработки? / Андрей Лебедев (Г...API плюс толстый клиент – новая парадигма веб-разработки? / Андрей Лебедев (Г...
API плюс толстый клиент – новая парадигма веб-разработки? / Андрей Лебедев (Г...Ontico
 
презентация РАБИС технологии 2014
презентация РАБИС технологии 2014презентация РАБИС технологии 2014
презентация РАБИС технологии 2014
Vyacheslav Benedichuk
 
Дмитрий Лукьяненко: Первый фреймворк на Selenium + TestNG
Дмитрий Лукьяненко: Первый фреймворк на Selenium + TestNGДмитрий Лукьяненко: Первый фреймворк на Selenium + TestNG
Дмитрий Лукьяненко: Первый фреймворк на Selenium + TestNG
DataArt
 
Процесс тестирования
Процесс тестированияПроцесс тестирования
Процесс тестирования
Alexander Solosh
 
Презентация прототипа GUI Machine: Система подтверждения подписи должностных лиц
Презентация прототипа GUI Machine: Система подтверждения подписи должностных лицПрезентация прототипа GUI Machine: Система подтверждения подписи должностных лиц
Презентация прототипа GUI Machine: Система подтверждения подписи должностных лиц
Rustem Gayfutdinov
 
Разработка через приемочное тестирование с использованием FIT
Разработка через приемочное тестирование с использованием FITРазработка через приемочное тестирование с использованием FIT
Разработка через приемочное тестирование с использованием FIT
SQALab
 
Разработка через приемочное тестирование с FIT
Разработка через приемочное тестирование с FITРазработка через приемочное тестирование с FIT
Разработка через приемочное тестирование с FIT
Dmitry Lobasev
 
Обзор и архитектура MS Visual Studio Team System 2008
Обзор и архитектура MS Visual Studio Team System 2008Обзор и архитектура MS Visual Studio Team System 2008
Обзор и архитектура MS Visual Studio Team System 2008
Александр Шамрай
 
Игорь Любин -- Об опыте тестирования программного компонента без пользователь...
Игорь Любин -- Об опыте тестирования программного компонента без пользователь...Игорь Любин -- Об опыте тестирования программного компонента без пользователь...
Игорь Любин -- Об опыте тестирования программного компонента без пользователь...sqadays8
 
2013 09 17 архитектура веб-приложений
2013 09 17 архитектура веб-приложений2013 09 17 архитектура веб-приложений
2013 09 17 архитектура веб-приложенийYandex
 
Костянтин Чаус — Monitoring of huge Drupal site. Tools and tips
Костянтин Чаус — Monitoring of huge Drupal site. Tools and tipsКостянтин Чаус — Monitoring of huge Drupal site. Tools and tips
Костянтин Чаус — Monitoring of huge Drupal site. Tools and tips
LEDC 2016
 
DUMP-2012 - Веб-разработка - "Что мы знаем о производительности и безопасност...
DUMP-2012 - Веб-разработка - "Что мы знаем о производительности и безопасност...DUMP-2012 - Веб-разработка - "Что мы знаем о производительности и безопасност...
DUMP-2012 - Веб-разработка - "Что мы знаем о производительности и безопасност...it-people
 
Дефекты при тестировании ПО
Дефекты при тестировании ПОДефекты при тестировании ПО
Дефекты при тестировании ПО
Sergey Chuburov
 
Нагрузочное тестирование API. Как летать, а не ползать?
Нагрузочное тестирование API. Как летать, а не ползать?Нагрузочное тестирование API. Как летать, а не ползать?
Нагрузочное тестирование API. Как летать, а не ползать?
IT61
 
Сергей Ревко
Сергей РевкоСергей Ревко
Сергей Ревко
SQALab
 
Липский Павел
Липский ПавелЛипский Павел
Липский ПавелOntico
 
Sergey Gordeychik SQADays 2008
Sergey Gordeychik SQADays 2008Sergey Gordeychik SQADays 2008
Sergey Gordeychik SQADays 2008guest5b66888
 
Оценка защищенности Web-приложений
Оценка защищенности Web-приложенийОценка защищенности Web-приложений
Оценка защищенности Web-приложений
SQALab
 
1С-Битрикс: Управление сайтом Версия .NET
1С-Битрикс: Управление сайтом Версия .NET1С-Битрикс: Управление сайтом Версия .NET
1С-Битрикс: Управление сайтом Версия .NETMedia Gorod
 

Similar to Эд Изотов: "In God we trust the REST we test". (20)

API плюс толстый клиент – новая парадигма веб-разработки? / Андрей Лебедев (Г...
API плюс толстый клиент – новая парадигма веб-разработки? / Андрей Лебедев (Г...API плюс толстый клиент – новая парадигма веб-разработки? / Андрей Лебедев (Г...
API плюс толстый клиент – новая парадигма веб-разработки? / Андрей Лебедев (Г...
 
презентация РАБИС технологии 2014
презентация РАБИС технологии 2014презентация РАБИС технологии 2014
презентация РАБИС технологии 2014
 
Дмитрий Лукьяненко: Первый фреймворк на Selenium + TestNG
Дмитрий Лукьяненко: Первый фреймворк на Selenium + TestNGДмитрий Лукьяненко: Первый фреймворк на Selenium + TestNG
Дмитрий Лукьяненко: Первый фреймворк на Selenium + TestNG
 
Процесс тестирования
Процесс тестированияПроцесс тестирования
Процесс тестирования
 
Презентация прототипа GUI Machine: Система подтверждения подписи должностных лиц
Презентация прототипа GUI Machine: Система подтверждения подписи должностных лицПрезентация прототипа GUI Machine: Система подтверждения подписи должностных лиц
Презентация прототипа GUI Machine: Система подтверждения подписи должностных лиц
 
Разработка через приемочное тестирование с использованием FIT
Разработка через приемочное тестирование с использованием FITРазработка через приемочное тестирование с использованием FIT
Разработка через приемочное тестирование с использованием FIT
 
Разработка через приемочное тестирование с FIT
Разработка через приемочное тестирование с FITРазработка через приемочное тестирование с FIT
Разработка через приемочное тестирование с FIT
 
Test design print
Test design printTest design print
Test design print
 
Обзор и архитектура MS Visual Studio Team System 2008
Обзор и архитектура MS Visual Studio Team System 2008Обзор и архитектура MS Visual Studio Team System 2008
Обзор и архитектура MS Visual Studio Team System 2008
 
Игорь Любин -- Об опыте тестирования программного компонента без пользователь...
Игорь Любин -- Об опыте тестирования программного компонента без пользователь...Игорь Любин -- Об опыте тестирования программного компонента без пользователь...
Игорь Любин -- Об опыте тестирования программного компонента без пользователь...
 
2013 09 17 архитектура веб-приложений
2013 09 17 архитектура веб-приложений2013 09 17 архитектура веб-приложений
2013 09 17 архитектура веб-приложений
 
Костянтин Чаус — Monitoring of huge Drupal site. Tools and tips
Костянтин Чаус — Monitoring of huge Drupal site. Tools and tipsКостянтин Чаус — Monitoring of huge Drupal site. Tools and tips
Костянтин Чаус — Monitoring of huge Drupal site. Tools and tips
 
DUMP-2012 - Веб-разработка - "Что мы знаем о производительности и безопасност...
DUMP-2012 - Веб-разработка - "Что мы знаем о производительности и безопасност...DUMP-2012 - Веб-разработка - "Что мы знаем о производительности и безопасност...
DUMP-2012 - Веб-разработка - "Что мы знаем о производительности и безопасност...
 
Дефекты при тестировании ПО
Дефекты при тестировании ПОДефекты при тестировании ПО
Дефекты при тестировании ПО
 
Нагрузочное тестирование API. Как летать, а не ползать?
Нагрузочное тестирование API. Как летать, а не ползать?Нагрузочное тестирование API. Как летать, а не ползать?
Нагрузочное тестирование API. Как летать, а не ползать?
 
Сергей Ревко
Сергей РевкоСергей Ревко
Сергей Ревко
 
Липский Павел
Липский ПавелЛипский Павел
Липский Павел
 
Sergey Gordeychik SQADays 2008
Sergey Gordeychik SQADays 2008Sergey Gordeychik SQADays 2008
Sergey Gordeychik SQADays 2008
 
Оценка защищенности Web-приложений
Оценка защищенности Web-приложенийОценка защищенности Web-приложений
Оценка защищенности Web-приложений
 
1С-Битрикс: Управление сайтом Версия .NET
1С-Битрикс: Управление сайтом Версия .NET1С-Битрикс: Управление сайтом Версия .NET
1С-Битрикс: Управление сайтом Версия .NET
 

More from Hub-IT-School

Лекция о профессии Frontend developer / 30.1
Лекция о профессии Frontend developer / 30.1Лекция о профессии Frontend developer / 30.1
Лекция о профессии Frontend developer / 30.1
Hub-IT-School
 
Hub IT School: Лекция "IT профессии"
Hub IT School: Лекция "IT профессии"Hub IT School: Лекция "IT профессии"
Hub IT School: Лекция "IT профессии"
Hub-IT-School
 
Hub AI&BigData meetup / Дмитрий Сподарец: Введение в машинное обучение
Hub AI&BigData meetup / Дмитрий Сподарец: Введение в машинное обучениеHub AI&BigData meetup / Дмитрий Сподарец: Введение в машинное обучение
Hub AI&BigData meetup / Дмитрий Сподарец: Введение в машинное обучение
Hub-IT-School
 
Hub AI&BigData meetup / Вадим Кузьменко: Как машинное обучение помогает снизи...
Hub AI&BigData meetup / Вадим Кузьменко: Как машинное обучение помогает снизи...Hub AI&BigData meetup / Вадим Кузьменко: Как машинное обучение помогает снизи...
Hub AI&BigData meetup / Вадим Кузьменко: Как машинное обучение помогает снизи...
Hub-IT-School
 
Hub IT School 15.12 / Олег Саламаха: "Как пройти долину смерти"
Hub IT School 15.12 / Олег Саламаха: "Как пройти долину смерти"Hub IT School 15.12 / Олег Саламаха: "Как пройти долину смерти"
Hub IT School 15.12 / Олег Саламаха: "Как пройти долину смерти"
Hub-IT-School
 
Андрей Сильчук: "Автоматическое тестирование".
Андрей Сильчук: "Автоматическое тестирование".Андрей Сильчук: "Автоматическое тестирование".
Андрей Сильчук: "Автоматическое тестирование".
Hub-IT-School
 
Елена Михеева: "ТОП-10 грехов дизайнеров"
Елена Михеева: "ТОП-10 грехов дизайнеров"Елена Михеева: "ТОП-10 грехов дизайнеров"
Елена Михеева: "ТОП-10 грехов дизайнеров"
Hub-IT-School
 

More from Hub-IT-School (7)

Лекция о профессии Frontend developer / 30.1
Лекция о профессии Frontend developer / 30.1Лекция о профессии Frontend developer / 30.1
Лекция о профессии Frontend developer / 30.1
 
Hub IT School: Лекция "IT профессии"
Hub IT School: Лекция "IT профессии"Hub IT School: Лекция "IT профессии"
Hub IT School: Лекция "IT профессии"
 
Hub AI&BigData meetup / Дмитрий Сподарец: Введение в машинное обучение
Hub AI&BigData meetup / Дмитрий Сподарец: Введение в машинное обучениеHub AI&BigData meetup / Дмитрий Сподарец: Введение в машинное обучение
Hub AI&BigData meetup / Дмитрий Сподарец: Введение в машинное обучение
 
Hub AI&BigData meetup / Вадим Кузьменко: Как машинное обучение помогает снизи...
Hub AI&BigData meetup / Вадим Кузьменко: Как машинное обучение помогает снизи...Hub AI&BigData meetup / Вадим Кузьменко: Как машинное обучение помогает снизи...
Hub AI&BigData meetup / Вадим Кузьменко: Как машинное обучение помогает снизи...
 
Hub IT School 15.12 / Олег Саламаха: "Как пройти долину смерти"
Hub IT School 15.12 / Олег Саламаха: "Как пройти долину смерти"Hub IT School 15.12 / Олег Саламаха: "Как пройти долину смерти"
Hub IT School 15.12 / Олег Саламаха: "Как пройти долину смерти"
 
Андрей Сильчук: "Автоматическое тестирование".
Андрей Сильчук: "Автоматическое тестирование".Андрей Сильчук: "Автоматическое тестирование".
Андрей Сильчук: "Автоматическое тестирование".
 
Елена Михеева: "ТОП-10 грехов дизайнеров"
Елена Михеева: "ТОП-10 грехов дизайнеров"Елена Михеева: "ТОП-10 грехов дизайнеров"
Елена Михеева: "ТОП-10 грехов дизайнеров"
 

Эд Изотов: "In God we trust the REST we test".

  • 1. Тестирование программного обеспечения (Software Testing) - проверка соответствия между реальным и ожидаемым поведением программы (ProTesting.ru) Тестирование программного обеспечения — процесс исследования, испытания программного продукта, имеющий две различные цели (Wikipedia): продемонстрировать разработчикам и заказчикам, что программа соответствует требованиям; выявить ситуации, в которых поведение программы является неправильным, нежелательным или не соответствующим спецификации
  • 2. Front-End (UI) LOGIN Username Password API layer Business Logic DB connector + DB HTTP request HTTP response CREATE USER Back-EndWeb Services Структура WEB-приложения
  • 3. Front-End (UI) LOGIN user@user@user.test Password API layer Business Logic DB connector + DB HTTP request HTTP response CREATE USER Back-End ЗАЧЕМ??? { ''username'': ''user@user@user.test'', ''password'': ''P@ssword1'' } { ''username'': ''user@user@user.test'', ''iscreated'': true }
  • 4. Listen on 80 Server HTTP Client Web browser HTTP requests HTTP request1. URI (http:/test.test.test/api/users) 2. Method (GET, POST, PUT, DELETE, HEAD …) 3. Request Headers 4. Request Body HTTP response 1. Response Status (200, 500, 404, 401 ...) 2. Response Headers 4. Response Body
  • 5. Business Logic DB connector + DB Back-End Back-End API layer createUser deleteUser editUser getUser loginUser logoutUser POST /api/users DELETE /api/users/23 PUT /api/users/23 GET /api/users/23 POST /api/login POST /api/logout
  • 6. REST vs SOAP 1. Основан на HTTP протоколе 2. Ограничен методами (POST, GET...) 3. Может использовать XML, JSON, ASCII … 4. Не самодокументирован (хммм...) 1. Использует HTTP как транспорт 2. Неограниченное количество методов 3. Принимает и передает XML 4. Имеет WSDL файл с описанием
  • 12. КАК??? Да, как обычно :) - валидность значений - граничные значения - функциональные тесты - наличие заголовков - коды ответов - и т. д.