Ответ
Расхождение между фактическим (Actual Result) и ожидаемым (Expected Result) результатом — ключевое событие в тестировании. Алгоритм действий:
1. Первичная проверка (самотестирование):
- Данные: Использованы ли корректные тестовые данные? Не истёк ли пароль у тестового пользователя?
- Окружение: Соответствует ли среда (DEV, TEST, STAGE) и её конфигурация требованиям теста?
- Шаги: Все ли шаги выполнены точно и в правильном порядке? Не было ли опечаток?
2. Углублённый анализ:
- Изучить логи. Проанализировать сообщения об ошибках в консоли браузера, серверных логах, логах мобильного приложения.
- Сделать снимок состояния. Для UI — скриншот или запись экрана. Для API — зафиксировать полный ответ (заголовки, тело, статус).
# Пример логирования для API-теста import requests response = requests.post(api_url, json=payload) print(f"[DEBUG] Status Code: {response.status_code}") print(f"[DEBUG] Response Headers: {dict(response.headers)}") print(f"[DEBUG] Response Body: {response.text}") # или response.json() - Свериться с документацией. Актуальны ли требования/спецификация, на основе которой составлен ожидаемый результат? Не было ли неанонсированных изменений?
3. Классификация расхождения:
- Дефект (Bug): Если поведение системы противоречит актуальным требованиям — заводится баг-репорт.
- Устаревший тест (Obsolete Test): Если требования изменились, а тест — нет. В этом случае обновляется ожидаемый результат тест-кейса/автотеста.
- Некорректный тестовый сценарий (Test Issue): Если ошибка в самом сценарии тестирования (неверная предпосылка, ошибочный ожидаемый результат). Тест требует доработки.
4. Действие по результатам классификации:
- Для бага — перейти к workflow создания отчёта о дефекте.
- Для устаревшего/некорректного теста — внести правки в тестовую артефакт, перезапустить тест и убедиться, что теперь он проходит.