SlideShare a Scribd company logo
1 of 34
Инструменты и
лайфхаки тестирования
REST API
Статья на habrahabr: «RESTful API для сервера»
REST ли наш REST
Все должно работать как планировали
Автотесты должны автотестить
Сервер не должен падать под нагрузками
Следить чтоб все не поломалось
Чеклист доклада
GET http://api.hobout.com/user
REST запрос
OPTIONS
GET
HEAD
POST
PUT
PATCH
DELETE
TRACE
CONNECT
Методы HTTP
OPTIONS
GET
HEAD
POST
PUT
PATCH
DELETE
TRACE
CONNECT
Методы HTTP
OPTIONS
GET
HEAD
POST
PUT
PATCH
DELETE
TRACE
CONNECT
Методы HTTP
Реализация API на Python
Нет глаголам
Помни о числах
Не мудри
Вложенность
Правила именования ресурсов REST
Примеры ответов HTTP
200 OK (взлетело)
400 Bad Request (не взлетело из-за пользователя)
500 Internal server error (не взлетело из-за сервера)
201 Created (Запись создана)
304 Not Modified (Данные не изменились)
404 Not Found (Данные не найдены)
401 Unauthorized (Неавторизованный доступ)
403 Forbidden (Доступ запрещен)
Основные ответы HTTP
Пример формата ошибок
REST ли наш REST
Все должно работать как планировали
Сервер не должен падать под нагрузками
Следить чтоб все не поломалось
Чеклист доклада
Автотесты должны автотестить
curl -X POST http://api.test.hobout.com/purge
Консоль
JSONView
POSTMAN
SoapUI
Paw (only for OSX)
Paw (only for OSX)
REST ли наш REST
Все должно работать как планировали
Автотесты должны автотестить
Сервер не должен падать под нагрузками
Следить чтоб все не поломалось
Чеклист доклада
JSON Schema
import requests
URL = "http://api.qa.hobout.com"
COUNT = 100
clear_all_request = requests.post(URL+"/purgeall")
admin_cookie = {'Cookie': "hobout_qa:sid="+clear_all_request.json()["cookies"][0]["cookie"]}
business_id = clear_all_request.json()["businesses"][0]["_id"]
for i in range(COUNT):
payload = {
'title': 'text',
'type':'news',
}
create_news_request = requests.post(URL+"/businesses/"+business_id+"/posts",
data=payload,headers=admin_cookie)
REST запросы в языках программирования
Автоматизация с SoapUI
REST ли наш REST
Все должно работать как планировали
Автотесты должны находить баги
Сервер не должен падать под нагрузками
Следить чтоб все не поломалось
Чеклист доклада
Нагрузочное тестирование в SoapUI
REST ли наш REST
Все должно работать как планировали
Автотесты должны автотестить
Сервер не должен падать под нагрузками
Следить чтоб все не поломалось
Чеклист доклада
1. Cron
2. AlertSite для SoapUI
3. Другие сервисы (pingdom, site24x7 и тп.)
Пути мониторинга
REST ли наш REST
Все должно работать как планировали
Автотесты должны автотестить
Сервер не должен падать под нагрузками
Следить чтоб все не поломалось
Чеклист доклада
Apiary
Apiary
1. Всегда следите за вашими программистами
2. Пользуйтесь разными инструментами
3. Не изобретайте велосипед
Выводы
Спасибо за внимание
evasilyev@hobout.com
+79166260768
Васильев Егор

More Related Content

What's hot

What's hot (8)

Ginecología forense y libertad sexual
Ginecología forense y libertad sexualGinecología forense y libertad sexual
Ginecología forense y libertad sexual
 
тестирование по
тестирование потестирование по
тестирование по
 
An Introduction to the Rights of Sex Workers and HB262
An Introduction to the Rights of Sex Workers and HB262An Introduction to the Rights of Sex Workers and HB262
An Introduction to the Rights of Sex Workers and HB262
 
Sexologia forense
Sexologia forense Sexologia forense
Sexologia forense
 
Lesionologia medicina legal
Lesionologia medicina legalLesionologia medicina legal
Lesionologia medicina legal
 
Delitos sexuales1
Delitos sexuales1Delitos sexuales1
Delitos sexuales1
 
Harassment Workshop Proposal
Harassment Workshop ProposalHarassment Workshop Proposal
Harassment Workshop Proposal
 
Automação de Teste em Front End - Caipira Ágil
Automação de Teste em Front End - Caipira ÁgilAutomação de Teste em Front End - Caipira Ágil
Automação de Teste em Front End - Caipira Ágil
 

Similar to Инструменты и лайфхаки тестирования REST API

ZFConf 2011: Создание REST-API для сторонних разработчиков и мобильных устрой...
ZFConf 2011: Создание REST-API для сторонних разработчиков и мобильных устрой...ZFConf 2011: Создание REST-API для сторонних разработчиков и мобильных устрой...
ZFConf 2011: Создание REST-API для сторонних разработчиков и мобильных устрой...
ZFConf Conference
 
Social networks analisys - github API
Social networks analisys - github APISocial networks analisys - github API
Social networks analisys - github API
baturin
 
Building corporate portals with liferay JEEConf 2011
Building corporate portals with liferay   JEEConf 2011Building corporate portals with liferay   JEEConf 2011
Building corporate portals with liferay JEEConf 2011
Alexey Kakunin
 

Similar to Инструменты и лайфхаки тестирования REST API (14)

Полуавтоматизация third-party API
Полуавтоматизация third-party APIПолуавтоматизация third-party API
Полуавтоматизация third-party API
 
Lesson1
Lesson1Lesson1
Lesson1
 
ZFConf 2011: Создание REST-API для сторонних разработчиков и мобильных устрой...
ZFConf 2011: Создание REST-API для сторонних разработчиков и мобильных устрой...ZFConf 2011: Создание REST-API для сторонних разработчиков и мобильных устрой...
ZFConf 2011: Создание REST-API для сторонних разработчиков и мобильных устрой...
 
Урок 20: Протокол HTTP - Евгений Концевой
Урок 20: Протокол HTTP - Евгений КонцевойУрок 20: Протокол HTTP - Евгений Концевой
Урок 20: Протокол HTTP - Евгений Концевой
 
Positive Hack Days. Гольцев. Мастер - класс: Уязвимости Web – сложные случаи.
Positive Hack Days. Гольцев.  Мастер - класс: Уязвимости Web – сложные случаи.Positive Hack Days. Гольцев.  Мастер - класс: Уязвимости Web – сложные случаи.
Positive Hack Days. Гольцев. Мастер - класс: Уязвимости Web – сложные случаи.
 
Cага о сагах
Cага о сагахCага о сагах
Cага о сагах
 
ASP.NET Web API
ASP.NET Web APIASP.NET Web API
ASP.NET Web API
 
REST
RESTREST
REST
 
Программируемость корпоративной сети с Cisco APIC-EM
Программируемость корпоративной сети с Cisco APIC-EMПрограммируемость корпоративной сети с Cisco APIC-EM
Программируемость корпоративной сети с Cisco APIC-EM
 
ITmozg, Даниил Павлючков
ITmozg, Даниил ПавлючковITmozg, Даниил Павлючков
ITmozg, Даниил Павлючков
 
Social networks analisys - github API
Social networks analisys - github APISocial networks analisys - github API
Social networks analisys - github API
 
"ТОП10 SEO-ошибок при переезде сайта на https-протокол, смене домена" Вебинар...
"ТОП10 SEO-ошибок при переезде сайта на https-протокол, смене домена" Вебинар..."ТОП10 SEO-ошибок при переезде сайта на https-протокол, смене домена" Вебинар...
"ТОП10 SEO-ошибок при переезде сайта на https-протокол, смене домена" Вебинар...
 
Building corporate portals with liferay JEEConf 2011
Building corporate portals with liferay   JEEConf 2011Building corporate portals with liferay   JEEConf 2011
Building corporate portals with liferay JEEConf 2011
 
RESTful API development with Symfony2
RESTful API development with Symfony2RESTful API development with Symfony2
RESTful API development with Symfony2
 

More from SQALab

More from SQALab (20)

Готовим стажировку
Готовим стажировкуГотовим стажировку
Готовим стажировку
 
Куда приводят мечты? или Искусство развития тестировщика
Куда приводят мечты? или Искусство развития тестировщикаКуда приводят мечты? или Искусство развития тестировщика
Куда приводят мечты? или Искусство развития тестировщика
 
Оптимизация Selenium тестов и ускорение их поддержки
Оптимизация Selenium тестов и ускорение их поддержкиОптимизация Selenium тестов и ускорение их поддержки
Оптимизация Selenium тестов и ускорение их поддержки
 
Автоматизация 0.0: 0 - бюджет, 0 - опыт программирования
Автоматизация 0.0: 0 - бюджет, 0 - опыт программированияАвтоматизация 0.0: 0 - бюджет, 0 - опыт программирования
Автоматизация 0.0: 0 - бюджет, 0 - опыт программирования
 
Нагрузочное тестирование нестандартных протоколов с использованием Citrix и J...
Нагрузочное тестирование нестандартных протоколов с использованием Citrix и J...Нагрузочное тестирование нестандартных протоколов с использованием Citrix и J...
Нагрузочное тестирование нестандартных протоколов с использованием Citrix и J...
 
Continuous performance testing
Continuous performance testingContinuous performance testing
Continuous performance testing
 
Конфиги вместо костылей. Pytestconfig и зачем он нужен
Конфиги вместо костылей. Pytestconfig и зачем он нуженКонфиги вместо костылей. Pytestconfig и зачем он нужен
Конфиги вместо костылей. Pytestconfig и зачем он нужен
 
Команда чемпионов в ИТ стихии
Команда чемпионов в ИТ стихииКоманда чемпионов в ИТ стихии
Команда чемпионов в ИТ стихии
 
API. Серебряная пуля в магазине советов
API. Серебряная пуля в магазине советовAPI. Серебряная пуля в магазине советов
API. Серебряная пуля в магазине советов
 
Добиваемся эффективности каждого из 9000+ UI-тестов
Добиваемся эффективности каждого из 9000+ UI-тестовДобиваемся эффективности каждого из 9000+ UI-тестов
Добиваемся эффективности каждого из 9000+ UI-тестов
 
Делаем автоматизацию проектных KPIs
Делаем автоматизацию проектных KPIsДелаем автоматизацию проектных KPIs
Делаем автоматизацию проектных KPIs
 
Вредные привычки в тест-менеджменте
Вредные привычки в тест-менеджментеВредные привычки в тест-менеджменте
Вредные привычки в тест-менеджменте
 
Мощь переполняет с JDI 2.0 - новая эра UI автоматизации
Мощь переполняет с JDI 2.0 - новая эра UI автоматизацииМощь переполняет с JDI 2.0 - новая эра UI автоматизации
Мощь переполняет с JDI 2.0 - новая эра UI автоматизации
 
Как hh.ru дошли до 500 релизов в квартал без потери в качестве
Как hh.ru дошли до 500 релизов в квартал без потери в качествеКак hh.ru дошли до 500 релизов в квартал без потери в качестве
Как hh.ru дошли до 500 релизов в квартал без потери в качестве
 
Стили лидерства и тестирование
Стили лидерства и тестированиеСтили лидерства и тестирование
Стили лидерства и тестирование
 
"Давайте не будем про качество"
"Давайте не будем про качество""Давайте не будем про качество"
"Давайте не будем про качество"
 
Apache.JMeter для .NET-проектов
Apache.JMeter для .NET-проектовApache.JMeter для .NET-проектов
Apache.JMeter для .NET-проектов
 
Тестирование геолокационных систем
Тестирование геолокационных системТестирование геолокационных систем
Тестирование геолокационных систем
 
Лидер или босс? Вот в чем вопрос
Лидер или босс? Вот в чем вопросЛидер или босс? Вот в чем вопрос
Лидер или босс? Вот в чем вопрос
 
От Зефира в коробке к Structure Zephyr или как тест-менеджеру перекроить внут...
От Зефира в коробке к Structure Zephyr или как тест-менеджеру перекроить внут...От Зефира в коробке к Structure Zephyr или как тест-менеджеру перекроить внут...
От Зефира в коробке к Structure Zephyr или как тест-менеджеру перекроить внут...
 

Инструменты и лайфхаки тестирования REST API