Когда лучше ручное тестирование, а когда процесс требует автоматизации?

Спрогнозировать на основании ряда параметров, в какой момент проекта автоматизированное тестирование становится выгоднее ручного, помогают калькуляторы ROI (Return on Investment). При этом полученная оценка приблизительна, так как нельзя заранее предугадать все возникающие риски. Вместе с этим предварительно мы проверяем проект на соответствие критериям, которые показывают, что пора автоматизировать тестирование.

Обычно эти тесты проводят после внесения изменений, они проверяют, что все работает должным образом. Их автоматизация сама по себе экономит большое количество времени, особенно если они занимают 3–4 дня и более. Автоматическое обеспечение качества делает возможным параллельный и ночной запуск тестов, а сгенерированная отчетность упрощает исправление багов.

Запуск автотестов доступен еще на этапе разработки, что невозможно при ручном тестировании. В результате баги можно обнаружить на более раннем сроке и, как следствие, сократить количество ошибок на релизе. В итоге снижаются риски негативного пользовательского опыта. Необходимость создания большого количества тестовых данных или заполнения больших форм для тест-кейсов

За счет автоматизации можно охватить огромное количество проверок. Автотест не пропустит ни один участок, он выполнит весь необходимый объем. Одно из преимуществ автоматизации: можно написать один тест и настроить стенд так, что он сразу параллельно проверит, например, все версии браузера и разрешения экранов. Вся документация генерируется и заполняется автоматически. Это повышает ее точность, полноту и скорость создания.

Ручное тестирование подойдет больше, если у вас:

  • молодой проект с нестабильным функционалом;
  • ручных тестов мало и они проходят быстро;
  • нужно проверять верстку, переводы, юзабилити;
  • нужно локализовать и описывать ошибки;
  • нет времени на разработку автотестов.

О необходимости автоматизации тестирования говорят такие факторы:

  • большое количество ручных тестов и не хватает времени на регулярное проведение полного регресса;
  • большой процент пропуска ошибок по вине человеческого фактора;
  • большой промежуток времени между внесением ошибки, ее обнаружением и исправлением;
  • подготовка к тестированию (настройка конфигурации, генерация тестовых данных) занимает много времени;
  • большие команды, в которых нужна уверенность, что новый код не сломает код других разработчиков;
  • поддержка старых версий ПО, в которых нужно тестировать новые патчи и сервис-паки.