Простое Руководство по Составлению Тестового Плана для API
Тестирование API — это важный шаг для обеспечения качества программного обеспечения. Чтобы это сделать эффективно, QA инженерам нужен хорошо продуманный план. Давайте рассмотрим, как его создать, на простых примерах.
Что Хотим Добиться от Тестирования?
Допустим, у нас есть веб-сервис XXX.
Наша цель — проверить, работает ли он правильно, быстро, безопасно и хорошо ли он общается с другими приложениями.
Где и Как Будем Тестировать?
Мы будем использовать компьютер с Windows 10 и программу Postman для отправки запросов к нашему API.
У нас будет две «площадки» для тестов: одна для разработки, другая — более продвинутая, но до реального использования.
Какие Части API Тестируем?
Например, мы сосредоточимся на трех функциях API:
- Получение списка продуктов (GET /products)
- Добавление нового продукта (POST /products)
- Удаление продукта (DELETE /products/{id})
Для каждой функции у нас будут свои ожидания: какие данные отправляем и что должны получить в ответ.
Какие Тесты Будем Делать?
- Функциональное тестирование: Проверим, действительно ли мы получаем список продуктов при запросе GET /products.
- Нагрузочное тестирование: Посмотрим, как API справится с 1000 запросами одновременно на GET /products.
- Тестирование безопасности: Убедимся, что через параметры запроса нельзя совершить SQL-инъекцию.
Создаем Тестовые Сценарии
Возьмем POST /products: отправляем запрос с правильными данными о продукте и проверяем, что в ответе получаем код 201 и ID нового продукта.
Как Управляем Данными?
Для тестов у нас будут заранее подготовленные данные о продуктах. Мы добавим их в базу данных перед тестами и удалим после.
Наш Подход и Стратегия
Автоматизируем тесты с помощью Jenkins. Это позволит нам быстро получать информацию о состоянии API после каждого изменения в коде
Что Делаем с Рисками и Проблемами?
Есть риск, что сервер не выдержит нагрузочное тестирование. Мы будем следить за его состоянием и ограничим максимальную нагрузку, чтобы избежать проблем.
План Действий
Начнем с функциональных тестов, потом перейдем к нагрузочным и тестам безопасности. Три инженера будут заниматься этим в течение двух недель.