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