Ответ
На проекте я обычно работаю со следующим спектром тест-кейсов, от базовых до более сложных:
| Тип тестирования | Цель | Пример (код/сценарий) |
|---|---|---|
| Smoke / Sanity | Проверка базовой работоспособности после сборки. | POST /api/login → Ожидаем 200 OK. |
| Функциональное | Проверка соответствия функционала требованиям. | ```python |
def test_login_with_valid_credentials(): response = login("user@example.com", "securePass123") assert response.status_code == 200 assert response.json()["authenticated"] is True
| **Интеграционное** | Проверка взаимодействия между модулями или системами (API ↔ БД, сервисы). | Создание заказа через API → проверка записи в БД и отправки уведомления. |
| **UI / E2E** | Проверка пользовательского интерфейса и сквозных сценариев. | Автоматизация с **Selenium**: вход, добавление товара в корзину, оформление. |
| **Регрессионное** | Гарантия, что новые изменения не сломали существующий функционал. | Запуск набора автотестов для критичных модулей. |
| **Нагрузочное (Performance)** | Оценка поведения системы под нагрузкой. | Настройка сценариев в **JMeter** для имитации 1000 одновременных пользователей. |
| **Безопасность (Security)** | Выявление уязвимостей. | Проверка на SQL-инъекции, XSS, небезопасные заголовки. |
| **Кросс-браузерное / Кросс-платформенное** | Проверка совместимости. | Запуск одних и тех же UI-тестов в Chrome, Firefox, Safari (или на iOS/Android). |