Ответ
Test Suite (тест-сьют) — это набор тестовых случаев, сценариев или классов, объединённых для выполнения общей цели и запускаемых как единое целое.
Основные цели создания сьютов:
- Логическая группировка: Объединение тестов по функциональности (например,
LoginSuite), типу (SmokeSuite,RegressionSuite) или приоритету. - Управление выполнением: Возможность запускать только определённые группы тестов (например, только критичные смоук-тесты перед деплоем).
- Оптимизация CI/CD: Интеграция в пайплайны для этапов сборки, приёмочного тестирования и регрессии.
- Параллельный запуск: Распределение сьютов по разным исполнителям для ускорения прогона.
Пример создания и запуска сьюта в Python (pytest):
# test_login.py
import pytest
def test_valid_login():
assert login("user", "pass123") is True
def test_invalid_password():
assert login("user", "wrong") is False
# test_search.py
import pytest
def test_search_by_name():
results = search("John")
assert "John Doe" in results
# Создание сьюта через маркировку (pytest)
# Запуск: pytest -m "smoke"
@pytest.mark.smoke
def test_critical_login():
assert login("admin", "admin123") is True
Пример создания сьюта в Java (JUnit):
import org.junit.runner.RunWith;
import org.junit.runners.Suite;
@RunWith(Suite.class)
@Suite.SuiteClasses({
TestLogin.class,
TestSearch.class,
TestCheckout.class
})
public class RegressionTestSuite {
// Класс-контейнер для сьюта
}
Сьют может включать модульные, интеграционные и end-to-end тесты.