Как выбрать, какой тест автоматизировать?

Как вы выбираете, какие тесты автоматизировать, а какие оставить для ручного тестирования?

Прежде чем приступить к автоматизации тестирования, вам необходимо увидеть, какие преимущества вы получите от автоматизации тестирования, если учесть время, усилия и ресурсы, вложенные в автоматизацию тестирования.

Ниже приведены некоторые факторы, которые следует учитывать, чтобы определить, какие ручные тесты следует или не следует автоматизировать. Как гласит старая пословица, то, что вы можете что-то автоматизировать, не обязательно означает, что вы должны это делать.


Вот несколько рекомендаций, которые помогут определить хороших кандидатов для автоматизации тестирования:



Тесты, которые следует автоматизировать:

  • Критические для бизнеса пути - функции или пользовательские потоки, которые в случае отказа наносят значительный ущерб бизнесу.
  • Тесты, которые необходимо запускать для каждой сборки / выпуска приложения, такие как дымовой тест, тест работоспособности и регрессионный тест.
  • Тесты, которые необходимо запускать в нескольких конфигурациях - с разными комбинациями ОС и браузера.
  • Тесты, которые выполняют один и тот же рабочий процесс, но используют разные данные для входных данных для каждого прогона теста, например управляемый данными.
  • Тесты, предполагающие ввод больших объемов данных, например заполнение очень длинных форм.
  • Тесты, которые можно использовать для тестирования производительности, например стресс-тесты и нагрузочные тесты.
  • Тесты, выполнение которых занимает много времени и может потребоваться проводить во время перерывов или в ночное время.
  • Тесты, во время которых необходимо захватить изображения, чтобы доказать, что приложение работает так, как ожидалось, или чтобы убедиться, что множество веб-страниц выглядят одинаково в разных браузерах.

Вообще говоря, чем больше повторений при тестировании, тем лучше для автоматизации.


Также помните, что тесты - не единственные кандидаты на автоматизацию. Задачи такие как настройка или создание тестовых данных для ручного исследовательского тестирования, также являются отличными кандидатами для автоматизации.



Тесты, которые нельзя автоматизировать:

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