Этот проект содержит автотесты для проверки работоспособности API-эндпоинтов.
- API url https://jsonplaceholder.typicode.com/
- Методы, требующие проверки: GET /posts, POST /posts, DELETE /posts
- Методы могут принимать параметры userId, id, title, body
- В качестве языка программирования используйте python
- Добавьте в README инструкцию по поднятию проекта
- Используйте библиотеку requests, а также pytest
- Склонируйте репозиторий
git clone https://github.com/nlr/qa-test-assignment.git- Перейдите в каталог проекта
cd qa-test-assignment- Создайте и активируйте виртуальное окружение (необязательно, но рекомендуется)
python -m venv venv
source venv/bin/activate # Для Linux/Mac
venv\Scripts\activate # Для Windows- Установите зависимости
pip install -r requirements.txt- Запустите тесты:
pytestЗапуск через докер:
docker build -t api-test .
docker run --rm api-testЗадача:
В Облачном сервисе хранения и обработки информации в базах данных появилась новая функциональность: можно развернуть базу данных PostgreSQL, заполнив форму в веб-интерфейсе и кликнув на кнопку создать. Обязательные поля: имя базы данных, регион размещения, размер. Необходимо разработать стратегию тестирования нового функционала.
Стратегия тестирования нового функционала развертывания базы данных PostgreSQL может включать следующие этапы и виды тестирования:
- Функциональное тестирование:
- Проверка обязательных полей:
- Кейс 1: Попытка создания базы данных без заполнения обязательных полей (имя, регион, размер). Ожидается отображение сообщений об ошибках и блокировка возможности создания базы данных.
- Кейс 2: Создание базы данных с заполнением всех обязательных полей. Ожидается успешное создание базы данных и ее отображение в списке существующих баз данных.
- Проверка уникальности имени базы данных:
- Кейс 3: Создание базы данных с уже существующим именем. Ожидается отображение сообщения об ошибке и предотвращение создания базы данных с уже существующим именем.
- Проверка доступности регионов размещения:
- Кейс 4: Создание базы данных с недопустимым регионом размещения. Ожидается отображение сообщения об ошибке и предотвращение создания базы данных с недопустимым регионом.
- Проверка доступных размеров базы данных:
- Кейс 5: Создание базы данных с недопустимым размером. Ожидается отображение сообщения об ошибке и предотвращение создания базы данных с недопустимым размером.
- Интерфейсное тестирование:
- Проверка корректности отображения формы развертывания базы данных:
- Кейс 6: Проверка наличия всех обязательных полей (имя, регион, размер) в форме развертывания базы данных. Ожидается, что все необходимые поля присутствуют и доступны для заполнения.
- Проверка корректности отображения созданных баз данных:
- Кейс 7: Проверка отображения созданной базы данных в списке существующих баз данных после ее успешного развертывания. Ожидается, что созданная база данных будет отображаться с корректным именем, регионом и размером.
- Производительностное тестирование:
- Кейс 8: Создание базы данных с максимально допустимым размером. Ожидается, что база данных будет успешно создана в разумное время и ее производительность не будет сильно ухудшена при работе с большим объемом данных.
- Кейс 9: Создание базы данных с минимально допустимым размером. Ожидается, что база данных будет успешно создана в разумное время и ее производительность будет хорошей при работе с небольшим объемом данных.
- Безопасность:
-
Кейс 10: Проверка наличия механизмов защиты от некорректных данных в полях формы развертывания базы данных. Например, попытка ввода скриптов или специальных символов. Ожидается, что такие попытки будут обнаружены и обработаны безопасным образом. Нагрузочное тестирование:
-
Кейс 11: Создание множества баз данных одновременно с использованием различных комбинаций параметров (имени, региона, размера). Ожидается, что система справится с созданием и обработкой всех запросов без существенного снижения производительности.