Ошибки при наследовании тестовых наборов
Наследование существующих автоматизированных тестов часто сопровождается рядом типичных проблем, которые повторяются независимо от проекта или технологии. Рассмотрим наиболее распространенные ошибки и методы их устранения.
Жестко закодированные ожидания
Это самая распространенная проблема унаследованных тестовых наборов. Тестовый сценарий может быть ненадежным из-за того, что страница загружается медленно. Разработчик добавляет ожидание (sleep, wait) определенного времени, после чего тест проходит успешно. Однако это решение лишь откладывает проблему:
- Тест становится медленным: если элемент появляется через 200 миллисекунд, а ожидание установлено на 5 секунд, то каждый такой случай замедляет выполнение теста на лишние секунды. При большом количестве тестов это приводит к значительным задержкам в работе системы непрерывной интеграции (CI).
- Проблемы маскируются: если приложение действительно требует 5 секунд для отображения элемента, это указывает на проблемы производительности. Использование жестко заданного ожидания скрывает эту проблему вместо ее решения.
- Неустойчивость сохраняется: время загрузки приложения зависит от ресурсов сервера CI, поэтому даже увеличенное ожидание не гарантирует стабильное прохождение теста.
Решение: замените все жестко закодированные ожидания явными условиями, такими как проверка видимости элемента, завершение сетевого запроса или исчезновение индикатора загрузки.
Заключение
Автоматизация тестирования приносит пользу только тогда, когда тесты надежны и эффективны. Избегайте распространенных ошибок, таких как использование жестких тайм-аутов, чтобы ваши тесты были быстрыми, устойчивыми и полезными.