Стратегия выбора между ручным и автоматизированным тестированием определяется множеством факторов, включая стоимость, цели, стабильность функционала и доступные трудовые ресурсы.
История вопроса: На заре автоматизации считалось, что целью должно стать покрытие 100% тестов автоматикой. Впоследствии стало понятно: не всю проверку следует автоматизировать — часть задач проще, быстрее и дешевле выполнить вручную.
Проблема: Автоматизация приносит пользу только при частом и повторяющемся запуске одних и тех же сценариев. Одноразовые, быстро меняющиеся или субъективные (визуальные, UX) проверки гораздо проще выполнить в ручном режиме. При попытке "автоматизировать всё" быстро раздувается бюджет, а выгода теряется.
Решение: В первую очередь автоматизировать желательно то, что:
Ручное тестирование актуально для:
Ключевые особенности:
Можно ли получить выгоду, автоматизировав все тесты в проекте?
Нет, потому что многие тесты изменятся раньше, чем успеют окупить вложенные усилия, а поддержка автоматизации обойдется дороже, чем выполнение этих же тестов вручную.
Может ли ручное тестирование быть обязательным при релизе на продакшен?
Да, так как некоторые задачи (особенно связанные с UI/UX и визуальным регрессом) сложно или невозможно адекватно автоматизировать.
Выгодно ли автоматизировать тесты "разовых"/исследовательских задач?
Нет, автоматизация стоит времени и ресурсов, которые не окупятся при одноразовом или редко используемом тесте.
Команда решила автоматизировать все ручные тест-кейсы, включая проверку кроссбраузерности на нестандартных устройствах и визуальный контроль лейаутов. В итоге за несколько месяцев были потрачены сотни часов на поддержание неактуальных тестов.
Плюсы:
Минусы:
Команда вместе с менеджером сформировала список критичных для бизнеса сценариев (регистрация, проверка платежей), которые стабильно автоматизировали; всё остальное тестируется вручную или частично (с использованием exploratory testing).
Плюсы:
Минусы: