📚 ProTestingInfo 🔷 Канал по тестированию 📚 – Telegram
📚 ProTestingInfo 🔷 Канал по тестированию 📚
14.1K subscribers
1.31K photos
200 videos
232 files
1.18K links
📌Информация для начинающих и для коллег в области QA, для личного закрепления знаний.
📌Теория, тесты, практика
Ментор-Консультация - 5тр/час
Курс
@info_course_protestinginfo
https://protestinginfo.ru
Вопросы @nadin_qa
ИП
РКН: https://clck.ru/3FWD9v
Download Telegram
API (Application programming interface - программный интерфейс приложения)
#Полезнаяинформация
Хабр -Что такое API
Что такое API? Простое объяснение для начинающих
Wiki - API
Youtube - Что такое API
Youtube - Тестирование API простыми словами за 8 минут / Тестировщик API
Youtube - Теория: Что такое API?

Инструменты для тестирования API:
Postman - инструмент тестирования и разработки API, который при этом имеет простой и интуитивно понятный интерфейс
https://learning.postman.com/

SoapUI — приложение с открытым исходным кодом для тестирования веб-сервисов сервис-ориентированных архитектур (SOA) и передачи состояний представлений (REST)
https://www.soapui.org/learn/

GraphQL Playground инструмент для работы с GraphQL API
https://graphql.org/learn/

Fiddler для анализа сетевых пакетов. Это прокси, который работает с трафиком между вашим компьютером и удаленным сервером, и позволяет просматривать и менять его.
Wireshark для анализа сетевых пакетов. Это анализатор сетевых пакетов. Анализатор сетевых пакетов, который захватывает сетевые пакеты и пытается как можно подробнее отобразить данные пакета.
Charles - представляет собой кроссплатформенное приложение прокси-сервера для отладки HTTP, написанное на Java
Сниффинг — процесс мониторинга и перехвата всех пакетов, проходящих через сеть, с помощью инструментов сниффинга (Charles Proxy).
Swagger - профессиональный инструментарий с открытым исходным кодом, который "упрощает разработку API для пользователей, команд и предприятий".
(https://swagger.io/tools/swagger-ui/)
Apache Kafka – диспетчер сообщений на Java платформе. В Kafka есть тема сообщения в которую издатели пишут сообщения и есть подписчики в темах, которые читают эти сообщения, все сообщения в процессе диспетчеризации пишутся на диск и не зависит от потребителей.

Валидаторы данных:
https://jsonformatter.org/
https://codebeautify.org/xmlvalidator

Форматы данных:
JSON (англ. JavaScript Object Notation) — текстовый формат обмена данными, основанный на JavaScript. JSON — используется в REST-запросах.
XML, в переводе с англ eXtensible Markup Language — расширяемый язык разметки. Используется для хранения и передачи данных. XML — используется в SOAP (всегда) и REST-запросах (реже)
https://jsonplaceholder.typicode.com/
https://reqres.in/
🔥2
Дополнительно ознакомиться с теорией:
HTTP/HTTPS/SSL/TLS
HTTP это прикладной протокол передачи данных в сети
HTTP request methods
HTTP response status codes

HTTPS (от англ. HyperText Transfer Protocol Secure — безопасный протокол передачи гипертекста) это расширение протокола HTTP, поддерживающее шифрование посредством криптографических протоколов SSL и TLS.
Протокол SSL был реализован на application-уровне, непосредственно над TCP (Transmission Control Protocol), что позволяет более высокоуровневым протоколам (таким как HTTP или протоколу электронной почты) работать без изменений.
Протокол TLS (transport layer security) основан на протоколе SSL (Secure Sockets Layer), изначально разработанном в Netscape для повышения безопасности электронной коммерции в Интернете.
Например, для веб-вызовов используется два основных метода – GET (для получения информации с сервера) и POST (для отправки информации на сервер)

URI – имя и адрес ресурса в сети, включает в себя URL и URN
URL – адрес ресурса в сети, определяет местонахождение и способ обращения к нему
URN – имя ресурса в сети, определяет только название ресурса, но не говорит как к нему подключиться

REST (Representational state transfer) – это стиль архитектуры программного обеспечения для распределенных систем, таких как World Wide Web, который, как правило, используется для построения веб-служб.
/
SOAP — это формат обмена сообщениями. Является стандартизированным протоколом передачи сообщений между клиентом и сервером.
GraphQL - то синтаксис, который описывает как запрашивать данные, и, в основном, используется клиентом для загрузки данных с сервера
GraphQL — это стандарт декларирования структуры данных и способов получения данных, который выступает дополнительным слоем между клиентом и сервером.

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

Тест-дизайн - это этап процесса тестирования ПО, на котором проектируются и создаются тестовые случаи (тест кейсы), в соответствии с определёнными ранее критериями качества и целями тестирования.
Протокол передачи данных — набор определённых правил или соглашений интерфейса логического уровня, который определяет обмен данными между различными устройствами.

Клиент-сервер:
Клиент — та программа, с которой работает пользователь.
Сервер — компьютер, на котором хранится само приложение.

Создать API:
https://mockend.com/
https://www.mockapi.io/docs

Мониторинг:
Grafana предназначена для отображения всевозможных циклических метрик (удобный дашборд для метрик)
https://grafana.com/docs/

Kibana это инструмент для визуализации на основе браузера с открытым исходным кодом, который в основном используется для анализа большого объема журналов в виде линейного графика, гистограммы, круговых диаграмм и т.д.
Для меня кибана была как просмотр логов и поиск интеграционных ошибок или других ошибок используемых систем
https://www.elastic.co/guide/en/kibana/current/introduction.html
👍1
Forwarded from automated-testing.info
https://asmitharaj.medium.com/api-testing-approaches-e1e2f81fc73a
Подходы к тестированию API
API позволяет обмениваться данными от одного ПО (сервиса) к другому. В настоящее время каждое приложение в основном полагается на API. Следовательно, тестирование API имеет решающее значение, и продукт необходимо тщательно протестировать перед развертыванием для конечного пользователя.
Будет ли Вам интересна информация по ISTQB, вопросы, какие приложения необходимы для изучения?

Я планирую более детально изучить эту тему и подготовиться к экзамену, начну с базового уровня
Anonymous Poll
79%
Да, будет интересно
3%
Нет, сложно
18%
Не помешает информация
Отлично, спасибо за поддержку и интерес!
Я буду также по-тихоньку добавлять информацию, что я собираюсь читать и повторять для сдачи экзамена по ISTQB
Минус, что пока очень много информации, а цели и плана нет. Поэтому постараюсь до конца недели составить свой план изучения и достижения определенной цели.

В копилку:💯

QA Glossary

http://qaglossary.com/glossary:ru:start
Не получается пройти мимо! Сегодня год этому информативному каналу, желаю ещё большего успеха! Очень полезная информация, сама смотрю про postman, вспоминаю азы. Это не реклама, это рекомендация!!!☺️
📚 ProTestingInfo 🔷 Канал по тестированию 📚 pinned «#напоминалка Напоминаю об основных плейлистах и курсах, которые уже есть на канале. На самом деле их еще больше 😊»
Правильно ли мы создаём продукт? Это вопрос...
Anonymous Quiz
70%
Верификации
30%
Валидации
Что означает SRS в цикле создания программного обеспечения?
Anonymous Quiz
18%
Software Requirements Standardization
78%
Software Requirements Specification
4%
Software Requirements Specialization
Повторим английские фразы 💯
Forwarded from FriEnglish ☀️
Фразы для общения на каждый день

▪️One minute, please - Одну минуту, пожалуйста
▪️Exactly so - Именно так
▪️Very well - Очень хорошо
▪️It can hardly be so - Едва ли это так
▪️What a good chance! - Какая удача!
▪️You are right - Вы правы
▪️Yes, sure - Да, конечно
▪️Maybe - Возможно
▪️Attention! - Внимание!
▪️Caution - Осторожно!
▪️Don't be late, please - Не опаздывайте, пожалуйста
▪️Are you still here? - Ты все еще здесь?
▪️Until we meet again - До новой встречи
▪️No way! - Ни в коем случае!
▪️I'm (so) sorry! - Извините
▪️Not a bit! - Ничего подобного!
▪️I'm sorry, I can't - Извините, я не могу
▪️I can't believe it! - Невероятно!
▪️See you later - Увидимся позже
▪️Have a nice day! - Приятного дня!
▪️See you tomorrow - Увидимся завтра

FriEnglish 🇬🇧
#Классыэквивалентности
входные параметры, которые приводят к одинаковому поведению программы, мы будем считать эквивалентными.

При использовании этой техники тестировщик должен помнить о том, что:

🔷Слишком большое количество эквивалентных классов увеличивает вероятность, что множество тестов будет лишним (избыточным).
🔷Слишком малое число эквивалентных классов увеличивает вероятность, что ошибки продукта будут пропущенными

🔷Алгоритм использования техники такой:
1⃣💯Определить классы эквивалентности
2⃣💯Выбрать одного представителя от каждого класса.
3⃣💯Выполяем тест со значением параметра от каждого класса эквивалентности.

#техникатестДизайна
Пример: Подсчет комиссии при отмене бронирования авиабилетов.

Предположим, что размер комиссии зависит от времени до вылета, когда совершена отмена:

🔹За 5 суток до вылета комиссия составляет 0%
🔹Меньше 5 суток, но больше 24 часов – 50% 
🔹Меньше 24 часов, но до вылета – 75%
🔹После вылета – 100%

Пример взят из блога http://33testers.blogspot.com/2013/07/blog-post_27.html

Кратко хочу внести данные как закрепление знаний.
Теперь по шагам:
Первый шаг:
1⃣🔷Определим классы эквивалентности (для каждого теста из этих классов мы ожидаем получить одинаковый результат):

🔹1 класс: время до вылета > 5 суток

🔹2 класс: 24 часа < время до вылета < 5 суток

🔹3 класс: 0 часов < время до вылета < 24 часа

🔹4 класс: время до вылета < 0 часов (вылет уже состоялся) 

Посмотрите внимательно на изображение выше, данные интервалы указаны.
Предполагаем, что мы верно выполнили первый шаг.

Второй шаг
2⃣🔷Выберем любого представителя от каждого класса.

🔹время до вылета = 10 суток (тест из 1-го класса)

🔹время до вылета = 3 суток (тест из 2-го класса)

🔹время до вылета = 12 часов (тест из 3-го класса)

🔹время до вылета = -30 мин (тест из 4-го класса) (знак минус означает, что вылет уже состоялся)
Третий шаг
3⃣🔷Проведём тесты

🔹Отменим бронь за 10 суток до вылета и проверим, что комиссия составила 0%.

🔹Отменим бронь за 3 суток до вылета и проверим, что комиссия составила 50%.

🔹Отменим бронь за 12 часов до вылета и проверим, что комиссия составила 75%. 

🔹Отменим бронь через 30 мин после вылета и проверим, что комиссия составила 100%.



Мы видим, что у нас осталось всего 4 теста. А сколько возможных тестов существует?


Даже если мы введем ограничение, что отмена бронирования может произойти в рамках 10 суток до вылета и 1 суток после вылета, то у нас будет около 950400 возможных тестов (автор блога посчитал количество секунд в 11 сутках).
Внимательно прочитайте!

💯 Понятен ли алгоритм классов эквивалентности?
Anonymous Poll
96%
Да
4%
Нет (если возник вопрос, напишите в директ ProTestingInfo)
В блоге есть ещё техника тест-дизайна : Анализ граничных значений!

💯 Добавить ли ее подробно сюда?
Anonymous Poll
89%
Да, здесь будет все основное
11%
Нет, сам (а) прочитаю, и в целом понятна данная техника