Тестирование Бэкенда Flashcards
Что такое клиент-серверная архитектура?
Клиент-серверная архитектура представляет собой модель взаимодействия между программными компонентами, где один компонент (клиент) обращается к другому компоненту (серверу) для получения данных
Что такое API?
Это набор определенных правил, протоколов и инструментов, которые позволяют различным программным приложениям взаимодействовать между собой.
Из чего состоит запрос на сервере?
Метод запроса, URL, заголовки, тело запроса, параметры запроса, куки
Какие http методы могут быть?
Основные методы: GET, POST, PUT, DELETE, PUTCH
Что такое идемпотентные методы?
Этометоды, которые либо не изменяют состояние в базе данных, либо изменяют состояние только при первом запросе. В случае повторной отправки идентичного запроса, состояние в базе данных не изменяется. Идемпотентными методами являются: GET, PUT, DELETE
Из чего состоит ответ на сервере?
Статусная строка, заголовки ответа, тело ответа
Что такое HTTP?
Это протокол передачи данных, который используется для обмена информацией между клиентами и серверами в сети Интернет.
Разница между HTTP и HTTPs?
HTTP - Непосредственно протокол передачи данных
HTTPs - Расширение этого протокола НТТР
HTTP - Данные не шифруются
HTTPs - Данные шифруются
HTTP - Не использует сертификаты
HTTPs - Использует сертификаты
HTTP - Использует порт 80
HTTPs - Использует порт 443
HTTP - URL начинается с http://
HTTPs - URL начинается с https://
Какие безопасные HTTP методы знаешь?
GET. HEAD, OPTIONS
Из чего состоит HTTP запрос?
Стартовая строка содержит метод, путь до ресурса, версию протокола.
Заголовки.
Тело сообщения.
Какие заголовки HTTP знаешь?
- Accept: указывает тип данных, которые клиент может обработать.
- Authorization: содержит информацию о доступе к ресурсу.
- Cache-Control: управляет кэшированием ресурсов.
- Connection: управляет соединением между клиентом и сервером.
- Content-Length: указывает размер тела сообщения.
- Content-Type: указывает тип содержимого сообщения.
- Date: указывает дату и время отправки сообщения.
-User-Agent: указывает информацию о браузере или клиенте
-Set-Cookie: устанавливает cookie на клиенте.
В чём разница между PUT, POST и PUTCH?
PUT может обновить существующий ресурс или создать новый.
PUT-запросы являются идемпотентными
PUT-запросы заменят существующий ресурс на новый.
POST-запросы создают новый ресурс на сервере.
POST-запросы не являются идемпотентными
POST-запросы не могут обновить существующие ресурсы
PATCH-запросы обновляют частично существующий ресурс.
PATCH - не идемпотентный
Что такое запрос на сервер?
Запрос на сервер - это способ, которым клиент взаимодействует с сервером, чтобы выполнить определенные действия. Отправление запроса с клиента на сервер выполняется посредством API
Дай 3 объяснения что такое клиент-сервер
Архитектура: Клиент-сервер — это модель, где клиенты запрашивают услуги у сервера.
Взаимодействие: Клиенты и серверы обмениваются запросами и ответами через сеть.
Функциональность: Клиенты обрабатывают пользовательский интерфейс, а серверы — бизнес-логику и данные.
В чем разница между GET и POST
GET Предназначен для получения данных с сервера
POST Предназначен для отправки данных на сервер
Способ передачи данных
GET: Через URL
POST: В теле НТТР запроса
Объём передаваемых данных
GET: Способен передать небольшое количество данных на сервер
Есть ограничения на длину URL (2048 символов)
POST: Ограничений нет
Способен передать большие объемы данных
Примечание: ограничения могут быть установлены сервером
Возможность отправки файлов
GET: Не поддерживается
POST: Поддерживается
Защита данных
GET: Данные видны всем в адресной строке браузера, истории браузера и т.п. в итоге данные не защищены
POST: Данные можно увидеть только с помощью инструментов разработчика, расширений браузера, специализированных программ
Как использовать кафку?
Тестировщик должен убедиться, что сообщения валидно записываются в Топики.
Как тестировать API
Тестирование API для ручного тестировщика включает:
Подготовка: Использование Postman или аналогичных инструментов для отправки запросов.
Функциональное тестирование: Проверка корректности ответов на различные типы запросов (GET, POST, PUT, DELETE).
Валидация данных: Убеждение в корректной обработке и возврате данных.
Тестирование граничных условий: Проверка работы API с крайними значениями и некорректными данными.
Тестирование интеграции: Проверка взаимодействия API с другими системами и сервисами.
Тестирование безопасности: Проверка защиты от уязвимостей и авторизации.
Составление отчетов: Регистрация результатов тестирования и ошибок в системе управления ошибками.
Как тестировать бэк?
Тестирование бэкэнда (серверной части) для ручного тестировщика включает в себя следующие шаги:
Тестирование API: Используя инструменты вроде Postman, тестировщик отправляет запросы к API и проверяет ответы на соответствие ожиданиям.
Тестирование функциональности: Проверяется, что серверные функции работают корректно, включая обработку данных, выполнение бизнес-логики и взаимодействие с базами данных.
Тестирование интеграции: Убеждается в корректном взаимодействии бэкэнда с другими системами и сервисами, такими как внешние API, серверы и хранилища данных.
Тестирование граничных условий: Проверяется поведение бэкэнда при обработке крайних случаев, таких как максимально допустимые значения, пустые данные и ошибки ввода.
Тестирование безопасности: Проверяется защита от уязвимостей, таких как SQL-инъекции, XSS, несанкционированный доступ и утечки данных.
Тестирование на производительность: Оценивается время отклика и нагрузочная способность бэкэнда, хотя для ручного тестирования это может быть ограничено.
Тестирование на соответствие требованиям: Убеждается в том, что бэкэнд соответствует всем функциональным и нефункциональным требованиям, описанным в техническом задании.
Где можно посмотреть логи сервера?
1)В подах Kubernetes
2) Kibana – визуальный инструмент для Elasticsearch, чтобы взаимодействовать с данными, которые хранятся в индексах ES. Веб-интерфейс Kibana позволяет быстро создавать и обмениваться динамическими панелями мониторинга, включая таблицы, графики и диаграммы, которые отображают изменения в ES-запросах в реальном времени. Примечательно, что изначально Kibana была ориентирована на работу с Logstash, а не на Elasticsearch. Однако, с интеграцией 3-х систем в единую ELK-платформу, Kibana стала работать непосредственно с ES.
Kibana позволяет визуализировать данные ES, а также администрировать базу данных.
Как протестировать форму поиска?
Для тестирования формы поиска тестировщик может выполнить следующие шаги:
Функциональное тестирование: Проверить, что форма корректно обрабатывает ввод пользователя и выполняет поиск в соответствии с заданными критериями.
Валидация ввода: Убедиться, что форма обрабатывает различные типы ввода (пустые строки, специальные символы, слишком длинные строки) и корректно возвращает ошибки валидации.
Тестирование граничных условий: Проверить работу формы с минимальными и максимальными значениями, а также с пустыми или некорректными данными.
Тестирование производительности: Оценить время отклика формы при запросе большого количества данных или при высокой нагрузке.
Тестирование на соответствие макету: Убедиться, что форма отображается и функционирует в соответствии с дизайном.
Тестирование на различных устройствах и браузерах: Проверить, как форма работает на разных экранах и в различных браузерах, включая мобильные устройства.
Тестирование безопасности: Убедиться, что форма защищена от уязвимостей, таких как XSS или SQL-инъекции.
Тестирование интеграции: Проверить, как форма взаимодействует с другими компонентами сайта или приложения.
Тестировщик должен составить набор тестовых сценариев, которые покрывают все возможные пути использования формы поиска, и выполнить их, чтобы убедиться в ее корректной работе.
Что можно делать в Postman
В Postman тестировщик может выполнять следующие задачи:
Отправлять HTTP запросы: Postman позволяет отправлять запросы различных типов (GET, POST, PUT, DELETE и др.) к API и веб-сервисам.
Настраивать заголовки и тело запроса: Тестировщик может настроить заголовки, параметры URL, тело запроса (в формате JSON, XML, формы и др.) и другие атрибуты запроса.
Проверять ответы: Postman предоставляет возможность проверять ответы сервера, включая статусный код, заголовки и тело ответа.
Создавать коллекции: Тестировщик может организовать запросы в коллекции, что упрощает управление и повторное использование наборов тестов.
Автоматизировать тесты: Postman поддерживает скрипты JavaScript для автоматизации тестов и проверки ответов с помощью встроенных инструментов тестирования.
Создавать и запускать сквозные тесты: Тестировщик может создать сквозные тесты, которые автоматически запускаются в определенном порядке, чтобы проверить интеграцию между разными частями API.
Аналитика и мониторинг: Postman позволяет отслеживать и анализировать производительность API, а также настраивать уведомления о сбоях и изменениях.
Сотрудничество: Postman поддерживает совместную работу над проектами, включая обмен коллекциями и настройку доступа к ним.
Расскажи разницу между коллекцией и окружением
Разница между коллекцией и окружением
Коллекция - это собрание объектов, а окружение - это переменные, которые позволяют параметризовать запросы и управлять различными наборами значений.
Что такое булевое значение?
Булевое значение - это логическое значение, которое может принимать только два значения: истину (True) или ложь (False).
Что такое JSON
JSON (JavaScript Object Notation) - это текстовый формат для представления данных в виде объектов, который широко используется для обмена данными между приложениями и сервисами.