SlideShare a Scribd company logo
Инструменты и
лайфхаки тестирования
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
Инструменты и лайфхаки тестирования REST API
Реализация 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 API
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

PPTX
“Uzun QT” sindromlu xəstələrin əsas və yanaşı xəstəliklərinin farmakoloji mü...
 
PDF
BillRun Docker Introduction
PDF
Автоматизация функционального тестирования REST API: секреты, тонкости и подв...
PDF
Дело тестера боится: как в опытных руках могут заиграть Java и TestNg
PDF
PPTX
Дизайн REST API для высокопроизводительных систем / Александр Лебедев (Новые ...
PPTX
Postman тестирование api v1.0 (1)
PPTX
Rest API
“Uzun QT” sindromlu xəstələrin əsas və yanaşı xəstəliklərinin farmakoloji mü...
 
BillRun Docker Introduction
Автоматизация функционального тестирования REST API: секреты, тонкости и подв...
Дело тестера боится: как в опытных руках могут заиграть Java и TestNg
Дизайн REST API для высокопроизводительных систем / Александр Лебедев (Новые ...
Postman тестирование api v1.0 (1)
Rest API

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

PDF
Знакомство с Rest Assured [NoBugs WTF PRO уровень]
PPTX
Автоматическое тестирование Web api
PDF
Тестирование API дизайна [NoBugs WTF PRO уровень]
PDF
«Автоматизация функционального тестирования REST API: секреты, тонкости и под...
PDF
Автоматизация функционального тестирования REST API
PPTX
Stas Sultanov "REST again? Oh, come on!"
Знакомство с Rest Assured [NoBugs WTF PRO уровень]
Автоматическое тестирование Web api
Тестирование API дизайна [NoBugs WTF PRO уровень]
«Автоматизация функционального тестирования REST API: секреты, тонкости и под...
Автоматизация функционального тестирования REST API
Stas Sultanov "REST again? Oh, come on!"
Ad

More from SQALab (20)

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

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