Метод HTTP является идемпотентным, если повторный идентичный запрос, сделанный один или несколько раз подряд, имеет один и тот же эффект, не изменяющий состояние сервера.
Создание большого количества идентичных запросов имеет такой же эффект, как и один запрос. Заметьте, что в то время, как идемпотентные операции производят один и тот же результат на сервере (побочные эффекты), ответ сам по себе может не быть тем же самым (например, состояние ресурса может измениться между запросами).
Методы PUT и DELETE по определению идемпотентны.
▪️Тем не менее есть один нюанс с методом DELETE. Проблема в том, что успешный DELETE-запрос возвращает статус 200 (OK) или 204 (No Content), но для последующих запросов будет всё время возвращать 404 (Not Found), если только сервис не сконфигурирован так, чтобы "помечать" ресурс как удалённый без его фактического удаления. Как бы то ни было, когда сервис на самом деле удаляет ресурс, следующий вызов не найдёт этот ресурс и вернет 404. Состояние на сервере после каждого вызова DELETE то же самое, но ответы разные.
▪️Хочу добавить про метод PUT, этот метод порой создает новый ресурс и при каждой отправке запроса может создавать новый объект и является неидемпотентным, например, на сайте vikunja , это создание объектов проекта, задачи и тд.
▪️И еще есть исключение,
Метод POST запрос может быть идемпотентным в случае, когда пользователь уже существует, и чтоб не было дубликата пользователя, в ответе от сервера будет ошибка и при повторной отправке с тем же значениями каждый раз будет сообщение об ошибке.
Также примеры из сайта vikunja:
При регистрации пользователя возникает ошибка, то есть при каждой отправке запроса будет в ответе от сервера текст ошибки об существующих значениях почты или имени пользователя.
Методы GET, HEAD, OPTIONS и TRACE определены как безопасные, что также делает их идемпотентными.
СКАЧАТЬ КОЛЛЕКЦИЮ для тест-кейсов
@protestinginfo
А еще мне понравилось описание коллеги с замечательными примерами из повседневной жизни.
Читаем:
👇👇👇
Создание большого количества идентичных запросов имеет такой же эффект, как и один запрос. Заметьте, что в то время, как идемпотентные операции производят один и тот же результат на сервере (побочные эффекты), ответ сам по себе может не быть тем же самым (например, состояние ресурса может измениться между запросами).
Методы PUT и DELETE по определению идемпотентны.
▪️Тем не менее есть один нюанс с методом DELETE. Проблема в том, что успешный DELETE-запрос возвращает статус 200 (OK) или 204 (No Content), но для последующих запросов будет всё время возвращать 404 (Not Found), если только сервис не сконфигурирован так, чтобы "помечать" ресурс как удалённый без его фактического удаления. Как бы то ни было, когда сервис на самом деле удаляет ресурс, следующий вызов не найдёт этот ресурс и вернет 404. Состояние на сервере после каждого вызова DELETE то же самое, но ответы разные.
▪️Хочу добавить про метод PUT, этот метод порой создает новый ресурс и при каждой отправке запроса может создавать новый объект и является неидемпотентным, например, на сайте vikunja , это создание объектов проекта, задачи и тд.
▪️И еще есть исключение,
Метод POST запрос может быть идемпотентным в случае, когда пользователь уже существует, и чтоб не было дубликата пользователя, в ответе от сервера будет ошибка и при повторной отправке с тем же значениями каждый раз будет сообщение об ошибке.
Также примеры из сайта vikunja:
При регистрации пользователя возникает ошибка, то есть при каждой отправке запроса будет в ответе от сервера текст ошибки об существующих значениях почты или имени пользователя.
Методы GET, HEAD, OPTIONS и TRACE определены как безопасные, что также делает их идемпотентными.
СКАЧАТЬ КОЛЛЕКЦИЮ для тест-кейсов
@protestinginfo
А еще мне понравилось описание коллеги с замечательными примерами из повседневной жизни.
Читаем:
👇👇👇
🔥21👍4✍1❤1🏆1
Forwarded from Тестирование из первых рук
Несмотря на то, что в программу обучения информатике входит и математика, математическая терминология в повседневной работе используется не так уж и часто.
Один из терминов, с которым можно встретиться, это идемпотетность. Этот термин предложил американский математик Бенджамин Пирс.
Идемпотентность - это свойство операции, при котором повторное применение операции к тому же объекту не приводит к изменению его состояния или результату. Другими словами, выполнение одной и той же операции несколько раз даёт тот же результат, что и выполнение её один раз. Это особенно важно в информационных системах, например, веб-сервисах, где идемпотентные операции позволяют избежать нежелательных побочных эффектов при повторных запросах.
Сначала пара бытовых примеров:
1. Многократное нажатие кнопки закрытия багажника на ключе автомобиля не меняет состояния так сказать закрытости багажника. То есть эта операция идемпотентна.
2. Схожий пример, это нажатие кнопки светофора - при первом нажатии отправляется сигнал переключения на зеленый свет, повторные нажатия не приводят к иному результату, эта операция тоже идемпотентна.
3. Противоположный пример, добавление соли приготовлении блюда. Каждое добавление соли будет изменять состояние блюда, то есть эту операцию нельзя назвать идемпотентной.
Часто об идемпотетности говорят в контексте REST, идемпотентность означает, что выполнение одного и того же HTTP-запроса несколько раз приведет к тому же результату, что и выполнение этого запроса один раз. Несколько примеров идемпотентных операций в REST:
1. GET запросы: Получение информации через GET запрос всегда идемпотентно, так как он не изменяет состояние сервера.
2. PUT запросы: Этот запрос используется для обновления ресурса на сервере. Если вы отправите PUT запрос с теми же данными несколько раз, это не повлияет на состояние ресурса на сервере. Например:
Если этот запрос будет выполнен несколько раз, информация о пользователе с идентификатором 123 будет обновлена до "John", 30, но состояние сервера не изменится.
3. DELETE запросы: Удаление ресурса с помощью DELETE запроса также является идемпотентной операцией. Если вы отправите DELETE запрос для удаления ресурса, его повторное выполнение не изменит состояние сервера. Например:
Если этот запрос будет выполнен несколько раз, ресурс с идентификатором 123 будет удален, и состояние сервера не изменится.
POST не считается идемпотентным, так как может использоваться для создания новых ресурсов.
Однако часто возникает потребность делать POST запрос идемпотентным принудительно, так как повторное выполнение POST запроса с теми же данными может привести к созданию дубликата ресурса или ошибке, если ресурс уже существует, например, запрос create user имеет смысл сделать идемпотентым для того, чтобы избежать дубликатов.
Один из терминов, с которым можно встретиться, это идемпотетность. Этот термин предложил американский математик Бенджамин Пирс.
Идемпотентность - это свойство операции, при котором повторное применение операции к тому же объекту не приводит к изменению его состояния или результату. Другими словами, выполнение одной и той же операции несколько раз даёт тот же результат, что и выполнение её один раз. Это особенно важно в информационных системах, например, веб-сервисах, где идемпотентные операции позволяют избежать нежелательных побочных эффектов при повторных запросах.
Сначала пара бытовых примеров:
1. Многократное нажатие кнопки закрытия багажника на ключе автомобиля не меняет состояния так сказать закрытости багажника. То есть эта операция идемпотентна.
2. Схожий пример, это нажатие кнопки светофора - при первом нажатии отправляется сигнал переключения на зеленый свет, повторные нажатия не приводят к иному результату, эта операция тоже идемпотентна.
3. Противоположный пример, добавление соли приготовлении блюда. Каждое добавление соли будет изменять состояние блюда, то есть эту операцию нельзя назвать идемпотентной.
Часто об идемпотетности говорят в контексте REST, идемпотентность означает, что выполнение одного и того же HTTP-запроса несколько раз приведет к тому же результату, что и выполнение этого запроса один раз. Несколько примеров идемпотентных операций в REST:
1. GET запросы: Получение информации через GET запрос всегда идемпотентно, так как он не изменяет состояние сервера.
2. PUT запросы: Этот запрос используется для обновления ресурса на сервере. Если вы отправите PUT запрос с теми же данными несколько раз, это не повлияет на состояние ресурса на сервере. Например:
PUT /users/123
{
"name": "John",
"age": 30
}
Если этот запрос будет выполнен несколько раз, информация о пользователе с идентификатором 123 будет обновлена до "John", 30, но состояние сервера не изменится.
3. DELETE запросы: Удаление ресурса с помощью DELETE запроса также является идемпотентной операцией. Если вы отправите DELETE запрос для удаления ресурса, его повторное выполнение не изменит состояние сервера. Например:
DELETE /users/123
Если этот запрос будет выполнен несколько раз, ресурс с идентификатором 123 будет удален, и состояние сервера не изменится.
POST не считается идемпотентным, так как может использоваться для создания новых ресурсов.
Однако часто возникает потребность делать POST запрос идемпотентным принудительно, так как повторное выполнение POST запроса с теми же данными может привести к созданию дубликата ресурса или ошибке, если ресурс уже существует, например, запрос create user имеет смысл сделать идемпотентым для того, чтобы избежать дубликатов.
🔥26👍10❤4✍2
This media is not supported in your browser
VIEW IN TELEGRAM
На улице было даже спокойнее как-то 😁
😁33❤9🤣8🗿1
Forwarded from QA Sklad - Склад тестировщика
Отличный ресурс с бесплатными курсами по тестированию и другими полезными материалами.
И еще один от этого же автора
И еще один от этого же автора
qahacking.ru
Бложенька
Сайт психологической поддержки тестировщиков, находящихся в профессиональном пубертате
❤6✍2🔥1
Я счастлива за свою менти! Коллега, желаю тебе карьерного роста и развития!
Коллеги, давайте поздравим реакциями, и чтоб онбординг и испытательный срок прошли на ура!
А еще обычно получается, если поставишь🔥, то и ваша цель станет достигнутой😁(это не байт)
Коллеги, давайте поздравим реакциями, и чтоб онбординг и испытательный срок прошли на ура!
А еще обычно получается, если поставишь🔥, то и ваша цель станет достигнутой😁(это не байт)
🔥69👍5
Forwarded from Darya
Всем привет)
Хочу оставить отзыв о замечательном менторе @Nadin_QA.
Я изучала теорию тестирования самостоятельно, но нуждалась в помощи для практического применения знаний. Считаю, что мне очень повезло найти Надю. Посмотрев на ее блог и почитав отзывы, я поняла, что Надя настоящий профессионал в тестировании и преподавании. В чем позже и я сама убедилась.
Уже перед первым занятием Надя еще больше замотивировала меня, сказав, что без курсов реально найти работу и у нее были такие кейсы 🥰Также она дала мне тестовое задание на интересующую меня тему, мне очень понравился ее подход.
На консультациях мы разбирали все инструменты, о которых я имела только теоретическое представление. Надя давала для выполнения реальные тестовые задания, которые когда-либо ее менти получали от компаний и тщательно проверяла их решение. Всегда была своевременная и качественная обратная связь. Ментор предоставляла очень много полезной информации для изучения.
Надя не только помогла составить актуальное для рынка труда резюме, но и мотивировала постоянно откликаться на вакансии и не сдаваться 🥹 Очень полезным было мок-собеседование, Надя в курсе основных вопросов, которые могут встретиться на настоящих интервью и дает рекомендации какие знания подтянуть, как лучше ответить.
От начала обучения с ментором до получения оффера прошло 3.5 месяца. Была проделана большая совместная работа. Буду обязательно еще обращаться, ведь все еще только начинается.
У Нади настоящий талант передавать свои знания и мотивировать учеников! От всего сердца советую обращаться к Наде за консультациями. Огромное спасибо тебе за все!😘❤️🤗
Хочу оставить отзыв о замечательном менторе @Nadin_QA.
Я изучала теорию тестирования самостоятельно, но нуждалась в помощи для практического применения знаний. Считаю, что мне очень повезло найти Надю. Посмотрев на ее блог и почитав отзывы, я поняла, что Надя настоящий профессионал в тестировании и преподавании. В чем позже и я сама убедилась.
Уже перед первым занятием Надя еще больше замотивировала меня, сказав, что без курсов реально найти работу и у нее были такие кейсы 🥰Также она дала мне тестовое задание на интересующую меня тему, мне очень понравился ее подход.
На консультациях мы разбирали все инструменты, о которых я имела только теоретическое представление. Надя давала для выполнения реальные тестовые задания, которые когда-либо ее менти получали от компаний и тщательно проверяла их решение. Всегда была своевременная и качественная обратная связь. Ментор предоставляла очень много полезной информации для изучения.
Надя не только помогла составить актуальное для рынка труда резюме, но и мотивировала постоянно откликаться на вакансии и не сдаваться 🥹 Очень полезным было мок-собеседование, Надя в курсе основных вопросов, которые могут встретиться на настоящих интервью и дает рекомендации какие знания подтянуть, как лучше ответить.
От начала обучения с ментором до получения оффера прошло 3.5 месяца. Была проделана большая совместная работа. Буду обязательно еще обращаться, ведь все еще только начинается.
У Нади настоящий талант передавать свои знания и мотивировать учеников! От всего сердца советую обращаться к Наде за консультациями. Огромное спасибо тебе за все!😘❤️🤗
🔥45❤12👍4👏1
This media is not supported in your browser
VIEW IN TELEGRAM
Кстати в 3-5 я также плакала😁
А у вас совпало?
P.S. А у кого-то все впереди 😏
А у вас совпало?
P.S. А у кого-то все впереди 😏
😁45👍8🤣4💯3
Всем привет! Готовлю несколько презентаций для будущих эфиров, которые планирую в марте.
А сегодня проведу #тестыдлязакреплениязнаний в преддверии старта курса по тестам
Если вы сегодня отдыхаете, на тесты можно ответить в понедельник😃
А сегодня проведу #тестыдлязакреплениязнаний в преддверии старта курса по тестам
Если вы сегодня отдыхаете, на тесты можно ответить в понедельник😃
👍12❤🔥5🔥2
Цель данного вида тестирования - убедиться в том, что продукт удобен в использовании людям с различными видами ограничений, инвалидности или особенностями восприятия. Что это за вид тестирования?
Anonymous Quiz
1%
Тестирование защищенности
92%
Тестирование доступности
2%
Тестирование проходимости
5%
Тестирование приемлемости
👍12🔥2❤1
🎉6👍4
Что является лишним в структуре HTTP запроса?
Anonymous Quiz
30%
Стартовая строка
4%
Заголовки
59%
Соединение
8%
Тело
🤗6🌚5👍1
Forwarded from 📚 Обсуждение🔷 QA 📚 Chat
Стандартное определение из интернета:
Что называют процедурой проверки подлинности (например, доказательство что пользователь именно тот, за кого себя выдает)?
Что называют процедурой проверки подлинности (например, доказательство что пользователь именно тот, за кого себя выдает)?
Anonymous Quiz
60%
Аутентификация
29%
Индентификация
9%
Авторизация
1%
Хэширование
👍7🔥2👌2❤1
Что за медология разработки ПО, которая основана на повторении коротких циклов разработки: сначала пишется тест, затем пишется код, который позволит пройти тест, и потом проводится рефакторинг написанного кода с постоянной проверкой прохождения тестов?
Anonymous Quiz
18%
BDD
67%
TDD
6%
DDD
5%
FDD
4%
MDD
👍6🤓3❤1
Сколько верно ответили?
Anonymous Poll
2%
0🫣
5%
1😳
12%
2🫢
22%
3🤭
34%
4😎
14%
5🤩
8%
Посмотреть статистику
4%
Мне сложно, я только обучаюсь
🔥6
Самый убойный тест, который встречался мне на пути😂😂😂
😁10
Forwarded from QARocks. Тестировщик Рулит 🐞
Какого уровня тестирования не существует?
Anonymous Quiz
1%
Модульного
14%
Интегрального
41%
Канального
44%
Примерочного
1%
Системного
🤣27😨4❤2
Всем приветик!
Первый эфир в марте состоится в группе @qa_country_road
Буду гостем и расскажу очень полезную тему про декомпозицию функциональных проверок, составление тест-кейсов.
На канале @qa_road_channel проходит бесплатное обучение по тестированию.
Вот буду делиться знаниями на очередном уроке.
Трансляция состоится в группе @qa_country_road
Первый эфир в марте состоится в группе @qa_country_road
Буду гостем и расскажу очень полезную тему про декомпозицию функциональных проверок, составление тест-кейсов.
На канале @qa_road_channel проходит бесплатное обучение по тестированию.
Вот буду делиться знаниями на очередном уроке.
Трансляция состоится в группе @qa_country_road
👌10
Forwarded from QA_Road_channel
Всем привет,
во вторник 5 марта в 20.15 по мск,
к нам на посиделки придет Надежда Дудник - Senior QA/QC в финтехе, ментор по тестированию, автор ТГ-канала @protestinginfo
Она занимается контролем качества и является экспертом по тестированию платформы внутри компании, проводит ревью тестовых моделей и отчетов по результатам тестирования и их согласованием.
Надежда расскажет про то "Как декомпозировать проверки для функциональности и составить тест-кейсы для них"
во вторник 5 марта в 20.15 по мск,
к нам на посиделки придет Надежда Дудник - Senior QA/QC в финтехе, ментор по тестированию, автор ТГ-канала @protestinginfo
Она занимается контролем качества и является экспертом по тестированию платформы внутри компании, проводит ревью тестовых моделей и отчетов по результатам тестирования и их согласованием.
Надежда расскажет про то "Как декомпозировать проверки для функциональности и составить тест-кейсы для них"
👍17❤3🐳2
Купить Тесты для проверки знаний по тестированию ПО до 11 марта.
Данная проверка необходима для повторения изученного материала и для подготовки на собеседования на позицию "Инженера по тестированию ПО".
Для вашего удобства я сделала несколько тарифов с разным количеством дней по промокоду 10% TEST10 до 8 марта 2024г.
Продажи будут неделю - c 4 марта до 11 марта 2024г.
По всем вопросам вы можете написать в телеграм @nadin_qa
Есть рассрочка и оплата из разных стран.
ВАЖНО для прошлых потоков: если необходимо продлить доступ, то для вас будет скидка-промокод в зависимости от выполненных заданий. Напишите @nadin_qa, указав адрес электронной почты.
После покупки обновите страницу с курсом в течении 3-5 минут.
При выполнении всех заданий будет выдан сертификат (есть на английском и русском языках).
Основные темы для разбора в интерактивном формате:
• Основные понятия тестирования
• Классификация видов тестирования
• Тестовая документация
• Техники тест-дизайна
• Основы SQL-запросов
• Протоколы HTTP/HTTPS, + другие протоколы, cURL
• Тестирование API
• REST, SOAP, JSON, XML
• Протоколы
• DevTools
• Postman (создание коллекций, параметризация, сниппеты)
• Git в рамках тестирования
+ Вебинары в записи про собеседование, тестирование API, логирование, тестовая модель, техники тест-дизайна.
+ Живые вебинары раз в месяц.
+ Доступ к чату с автором курса.
+ Обратная связь по проверке заданий по практике в зависимости от тарифа.
Оповещения по курсу:
Подписаться!
@info_course_protestinginfo
Данная проверка необходима для повторения изученного материала и для подготовки на собеседования на позицию "Инженера по тестированию ПО".
Для вашего удобства я сделала несколько тарифов с разным количеством дней по промокоду 10% TEST10 до 8 марта 2024г.
Продажи будут неделю - c 4 марта до 11 марта 2024г.
По всем вопросам вы можете написать в телеграм @nadin_qa
Есть рассрочка и оплата из разных стран.
ВАЖНО для прошлых потоков: если необходимо продлить доступ, то для вас будет скидка-промокод в зависимости от выполненных заданий. Напишите @nadin_qa, указав адрес электронной почты.
После покупки обновите страницу с курсом в течении 3-5 минут.
При выполнении всех заданий будет выдан сертификат (есть на английском и русском языках).
Основные темы для разбора в интерактивном формате:
• Основные понятия тестирования
• Классификация видов тестирования
• Тестовая документация
• Техники тест-дизайна
• Основы SQL-запросов
• Протоколы HTTP/HTTPS, + другие протоколы, cURL
• Тестирование API
• REST, SOAP, JSON, XML
• Протоколы
• DevTools
• Postman (создание коллекций, параметризация, сниппеты)
• Git в рамках тестирования
+ Вебинары в записи про собеседование, тестирование API, логирование, тестовая модель, техники тест-дизайна.
+ Живые вебинары раз в месяц.
+ Доступ к чату с автором курса.
+ Обратная связь по проверке заданий по практике в зависимости от тарифа.
Оповещения по курсу:
Подписаться!
@info_course_protestinginfo
❤9🔥4👍1
Привет всем!
За последние 2 месяца присоединилось к каналу много людей, спасибо вам за подписку.
Приветствую всех новых коллег. Рада вам и Рада с вами делиться своими знаниями и полезной информацией.
Меня зовут Надежда Дудник - главный инженер по тестированию в финтехе и ментор по тестированию ПО.
На канале, в основном, про #тестыдлязакреплениязнаний (бесплатные и платные), также делюсь полезной информацией, пишу посты и статьи на хабре, провожу вебинары на ютубе.
Давайте знакомиться❤️
Рассказывайте про себя.
Выше фото хочу установить как новую аву канала, Как хорошая идея?
За последние 2 месяца присоединилось к каналу много людей, спасибо вам за подписку.
Приветствую всех новых коллег. Рада вам и Рада с вами делиться своими знаниями и полезной информацией.
Меня зовут Надежда Дудник - главный инженер по тестированию в финтехе и ментор по тестированию ПО.
На канале, в основном, про #тестыдлязакреплениязнаний (бесплатные и платные), также делюсь полезной информацией, пишу посты и статьи на хабре, провожу вебинары на ютубе.
Давайте знакомиться❤️
Рассказывайте про себя.
Выше фото хочу установить как новую аву канала, Как хорошая идея?
👍22❤11🔥2
Будет полезно просмотреть видео начинающим специалистам, есть также презентация (люблю их составлять),
Это видео рекомендую просмотреть, так как сегодня в 20:15 в группе @qa_country_road буду рассказывать тему «Как декомпозировать проверки для функциональности и составить тест-кейсы для них», к этой теме также подготовила презентацию😘 🔥 . Тема будет на примерах с прошлого опыта, а с текущего опыта, если что отвечу на вопросы.
Запись будет.
Это видео рекомендую просмотреть, так как сегодня в 20:15 в группе @qa_country_road буду рассказывать тему «Как декомпозировать проверки для функциональности и составить тест-кейсы для них», к этой теме также подготовила презентацию
Запись будет.
Please open Telegram to view this post
VIEW IN TELEGRAM
YouTube
Процесс тестирования задачи тестировщиком, основные используемые инструменты.
Презентация: https://docs.google.com/presentation/d/1M1FrdnYK3UvaQa7-z6BLIyLJ7kU_05FHr73sNKY1L_g/edit?usp=sharing
Подписывайтесь на каналы для того, чтобы узнать про новые вебинары:
https://news.1rj.ru/str/protestinginfo
https://news.1rj.ru/str/info_course_protestinginfo
Подписаться…
Подписывайтесь на каналы для того, чтобы узнать про новые вебинары:
https://news.1rj.ru/str/protestinginfo
https://news.1rj.ru/str/info_course_protestinginfo
Подписаться…
🔥15👍6👀1