Автор: Амир Гахрай (Amir Ghahrai)
Оригинал статьи: http://www.testingexcellence.com/choose-tests-automate/
Перевод: Ольга Алифанова
Как вы решаете, какие тесты автоматизировать, а какие оставить для ручного тестирования?
Перед тем, как вы начинаете автоматизировать тест, вам нужно выяснить, какую выгоду вы получите от автоматизации этого теста, учитывая время, силы и ресурсы, вложенные в автоматизацию.
Ниже перечислены факторы, которые стоит принять во внимание, решая, какие ручные тесты должны или не должны быть автоматизированы. Как говорится, только то, что вы можете что-то автоматизировать, не означает, что вы должны автоматизировать все и вся.
Вот некоторые идеи, помогающие выбрать хороших кандидатов на автоматизацию:
Тесты, которые должны быть автоматизированы:
- Бизнес-критические пути: фичи или пользовательские сценарии, при падении которых будет нанесен существенный урон бизнесу.
- Тесты, которые должны прогоняться на каждом билде/релизе приложения – например, smoke, sanity, регресс.
- Тесты, которые нужно прогонять на разных конфигурациях – разных операционных системах и браузерах.
- Тесты, которые используют один и тот же сценарий, но разные данные для каждого прогона (тесты, управляемые данными).
- Тесты, которые завязаны на большие объемы данных (например, заполнение очень больших форм).
- Тесты, которые могут быть использованы для тестирования производительности (стресс, нагрузочное тестирование).
- Тесты, которые занимают много времени на выполнение и могут быть запущены во время перерывов или ночью.
- Тесты, во время которых необходим захват изображения, чтобы доказать, что приложение ведет себя верно, или проверка того, что ряд веб-страниц одинаково выглядит в разных браузерах.
В общем и целом, чем чаще прогоняется тест, тем лучше его автоматизировать.
Помните также, что тесты – не единственные кандидаты на автоматизацию. Задачи, например, настройка, создание тестовых данных для ручного тестирования – тоже прекрасные идеи для автоматизации.
Тесты, которые не нужно автоматизировать:
- Тесты, которые прогоняются только один раз. Единственное исключение – если этот тест запускается с большим объемом данных. Даже если вы запустите его всего один раз, может, имеет смысл автоматизировать его.
- Тесты пользовательского опыта и удобства использования, требующие реакции пользователя на простоту использования приложения.
- Тесты, которые нужно запустить очень срочно. Обычно новая, только что разработанная фича требует быстрой обратной связи, и ее тестируют вручную.
- Тесты, которые требуют доменного знания и опыта – исследовательское тестирование.
- Прерывающиеся тесты. Тесты с предсказуемыми результатами не особенно ценны. Чтобы получить наилучший выхлоп от автоматизации, тесты должны давать предсказуемые и надежные результаты, чтобы проходить pass/fail условия.
- Тесты, требующие визуального подтверждения. Однако мы можем делать скриншоты страниц во время автотестов, а затем вручную проверять их.
- Тесты, которые не могут быть на 100% автоматизированы, не должны быть автоматизированы вообще, если только их автоматизация не сэкономит значительное время.
Обсудить в форуме
|