Ответ
Стремлюсь к балансу ~30% ручного тестирования и ~70% автоматизированного. Это соотношение гибко и зависит от контекста проекта.
Ручное тестирование (30%) необходимо для:
- Исследовательского (ad-hoc) тестирования.
- Проверки UX/UI, удобства использования.
- Тестирования сценариев, нецелесообразных для автоматизации (разовые проверки, сложные визуальные тесты).
Автоматизированное тестирование (70%) покрывает:
- Регрессионные проверки (основная экономия времени).
- Критичные бизнес-сценарии (логин, платежи, основные потоки).
- API и интеграционное тестирование.
Пример (API-тест на Python с pytest и requests):
import requests
def test_api_login():
url = "https://api.example.com/login"
payload = {"username": "test_user", "password": "secure_pass"}
response = requests.post(url, json=payload)
# Проверка статуса и структуры ответа
assert response.status_code == 200
response_json = response.json()
assert "auth_token" in response_json
assert len(response_json["auth_token"]) > 10
На старте проекта соотношение может быть 50/50, в зрелом проекте с высокой автоматизацией — 10/90.