Найти в Дзене
💬 Проверка времени ответа. Сегодня мы напишем простой тест в Postman для проверки времени ответа. Время ответа можно увидеть в окне, содержащем информацию об ответе. Оно расположено между кодом ответа и размером. Эта информация может быть полезна, при анализе причин слишком долгих ответов. При наведении курсора на число, отображается разбиение этого времени по различным фазам ответа. 🔸 Добавим новый запрос и откроем вкладку Scripts / Post Response. 🔸 Добавим новый тест. В нем будем проверять, что время ответа не превышает указанное значение. 🔸 Первым параметром укажем строку с описанием теста. Она будет показана в результатах запуска. 🔸 Далее добавим функцию для проверки времени запроса. Получаем значение из свойства pm.response.responseTime. Затем проверяем, что оно не превышает заданное значение. Запустим наш тест и посмотрим, как будут выглядеть результаты. ✨ Еще у меня есть курсы для QA: qaway.ru/...ses
2 недели назад
💬 Коды ответа HTTP. Код ответа возвращаемый сервером в ответ на HTTP-запрос от клиента. Код ответа состоит из трех цифр, где первая цифра указывает на класс ответа, а две последующие цифры - на конкретный код ответа внутри этого класса. Коды ответа делятся на 5 групп: 🔸 Информационные (1xx) - cообщают клиенту, что запрос получен, и сервер продолжает обработку. 🔸 Успешные (2xx) - сообщают клиенту, что запрос выполнен успешно. 🔸 Перенаправления (3xx) - сообщают клиенту, что дополнительные действия должны быть выполнены для завершения запроса. 🔸 Ошибки клиента (4xx) - сообщают клиенту, что запрос был сформулирован неправильно или не может быть выполнен. 🔸 Ошибки сервера (5xx) - сообщают клиенту, что запрос не может быть выполнен из-за ошибки на стороне сервера. Коды ответа HTTP помогут понять, что произошло в процессе запроса и ответа на сервере. Чаще всего вы будете работать с успешными кодами ответа, а также с кодами ошибок клиента и сервера. ✨ Еще у меня есть курсы для QA: https://qaway.ru/qa-courses
2 недели назад
💬 Поиск элемента по тексту ссылки. Если элемент, который мы хотим найти, является ссылкой, мы можем использовать поиск по её тексту, чтобы найти этот элемент на веб-странице. Текст ссылки — это текст, отображаемый в ссылке. Чтобы найти ссылку на странице, мы также можем использовать поиск по части её текста. В HTML-фрагменте страницы у нас есть ссылка, давайте посмотрим, как её можно найти. В данном примере у нас есть три ссылки: Dynamic Content, Dynamic Controls и Dynamic Loading, находящиеся внутри списка. Для поиска ссылки по тексту воспользуемся методом $. В параметре нужно передать статический метод By.linkText с указанием текста ссылки. Для поиска ссылки по части текста также необходим метод $. В параметре нужно указать статический метод By.partialLinkText и передать строку, содержащую часть ссылки. В нашем тесте, после открытия страницы, мы сначала ищем две ссылки, а затем с помощью метода should, проверяем совпадают ли значения атрибутов @href с заданными. ✨ Еще у меня есть курсы для QA: qaway.ru/...ses
2 недели назад
Добавляем POJO в API-тестах
В этом уроке мы рассмотрим, как с помощью POJO упростить себе тестирование API. Сначала мы напишем простой автотест для проверки двух API-методов. Затем рассмотрим, что такое сериализация и десериализация. После этого модифицируем имеющийся автотест с использованием POJO, сначала при отправке данных, а затем и для проверки результата. POJO расшифровывает как Plain Old Java Object. Это простой объект Java, который не зависит от каких-либо специальных фреймворков или библиотек. Это класс, который...
7 месяцев назад
💬 Внимание, конкурс! Разыгрываю один из своих курсов по тестированию REST API. Конкурс стартует сегодня и продлится до 15 мая. Условия участия в Telegram-канале.
9 месяцев назад
💬 Область видимости переменных В Java допускается объявление переменных в любом блоке кода, заключенным в фигурные скобки. Так задаётся область видимости переменной. При создании нового блока кода, создается новая область видимости. Она определяет, какие объекты доступны для других частей программы и продолжительность существования этих объектов. Переменные не доступны из кода за пределами области видимости. Область видимости обеспечивает защиту переменной от несанкционированного доступа и внешних изменений. Область видимости могут быть вложенной. С каждым новом блоком кода, создается новая область видимости. Внешняя область видимости будет включать в себя внутренние. 🔸 В примере переменная a объявлена в начале метода main() и доступна всему коду этого метода. 🔸 Переменная b объявляется в блоке кода условного оператора if и доступна только коду из этого блока. 🔸 Вывод значения переменной b в последней строке вызовет ошибку компиляции, т.к. переменная недоступна за пределами своего блока кода. ✨ Еще у меня есть курсы для QA
9 месяцев назад
💬 Что такое assertNull() в JUnit. С помощью метода assertNull() в JUnit мы можем проверить, что переданный объект имеет значение null. Когда объект равен null, проверка проходит успешно. В противном случае тест упадёт с ошибкой. В данном примере у нас есть метод divide, который выполняет деление одного числа на другое. Перед делением он делает проверку, если делитель равен нулю, метод возвращает null, поскольку на ноль делить нельзя. Нас интересует именно этот случай. В автотесте мы выполняем метод divide с параметрами 10 и 0. Сохраняем результат в переменную result. Ожидаемое значение в данном случае будет null. Затем мы выполняем проверку. Здесь её удобно делать с помощью метода assertNull(). Первым параметром мы передаём фактический результат проверяемого метода. Второй параметр — это описание, выводимое в консоль в случае ошибки. После запуска теста мы увидим, что тест checkNull() прошёл успешно. Это означает, что ожидаемое нами значение null совпало с фактическим значением. ✨ Еще у меня есть курсы для QA
9 месяцев назад
Использование параметризации в автотестах.
Привет. Пост навеян одним из ревью кода автотестов коллег, которые мне по работе периодически приходится делать. Недавно в очередной раз столкнулся с одной из ошибок в написании автотестов. Хотя она кажется довольно очевидной, неопытные тестировщики её периодически допускают. Давайте рассмотрим эту ошибку на примере. Оригинальный код показать не могу, но постарался максимально полно перенести этот кейс на демонстрационный API. В этом примере мы проверяем создание питомца с разными статусами в демонстрационном API https://petstore...
1 год назад
Преимущества использования JUnit
Использование JUnit, даёт ряд преимуществ. Главным из них является способность облегчить разработку, а также сделать код надёжным и легкотестируемым. Далее мы кратко обсудим дополнительные причины, по которым стоит рассмотреть возможность интеграции JUnit в ваш рабочий процесс разработки программного обеспечения. 🔸 Организация кода. JUnit облегчает организацию и удобочитаемость кода. Структурированный подход к тестированию позволяет разработчикам создавать понятные и упорядоченные наборы тестов...
1 год назад
Базы данных для QA. Столбцы и строки в таблице.
В базе данных, таблицы состоят из столбцов, которые представляют собой отдельные поля для хранения информации. Все таблицы содержат один или несколько столбцов. Для лучшего понимания этой концепции, представьте таблицу базы данных в виде сетки ячеек, похожую на ту, что вы видите в Excel. В каждом столбце этой сетки находится определённая часть информации. Например, в таблице клиентов в одном столбце может быть указан номер клиента, а в другом — его имя. Адрес, город, область и почтовый индекс также хранятся в отдельных столбцах...
1 год назад
Что такое база данных, таблицы и схемы?
Прежде чем мы начнём изучать язык SQL и запросы к базам данных, давайте сначала разберёмся с основными понятиями, связанными с базами данных. В контексте SQL мы будем понимать под термином «база данных» набор записей, которые хранятся в определённом порядке. Можно представить базу данных как шкаф с документами. Шкаф — это просто физический объект для хранения данных, вне зависимости от того, что именно это за данные и как они организованы. Вкратце, база данных — это контейнер, предназначенный для хранения упорядоченных данных...
1 год назад
💬 Основы CI/CD
Существует несколько основных элементов CI/CD, которые помогают обеспечить максимальную эффективность жизненного цикла разработки. Они охватывают разработку и развертывание. Включите эти основы в свой конвейер, чтобы улучшить рабочий процесс DevOps и поставку программного обеспечения. Система управления исходным кодом (SCM), в которой хранятся все необходимые файлы и скрипты для создания сборок, имеет решающее значение. Репозиторий должен содержать все необходимое для сборки. Это включает исходный код, структуру базы данных, библиотеки, файлы свойств и управление версиями...
1 год назад