Переход от ручного к автоматизированному тестированию

В динамичной среде разработки программного обеспечения переход от ручного к автоматизированному тестированию стал важнейшим аспектом обеспечения качества и эффективности. Для опытных инженеров по качеству (QE), владеющих навыками ручного тестирования, переход к автоматизированному тестированию открывает новые возможности для улучшения процессов тестирования, сокращения времени выхода на рынок и повышения общего качества продукта. Это также открывает новые возможности для карьерного роста. Однако этот переход сопряжен с трудностями и подводными камнями, которые необходимо эффективно преодолевать, особенно тем, у кого мало или совсем нет опыта программирования.

Для тех, кто не знает, автоматизация тестирования – это перевод шагов ручного тестирования (которые выполнил бы человек) в сценарии, которые могут быть запущены автоматически. Таким образом, QE, которые начинали с ручного тестирования, должны потратить время на изучение языков программирования, обычно используемых в автоматизированном тестировании. Изучение языка программирования в первую очередь (с его особенностями и недостатками) имеет решающее значение перед выбором фреймворка автоматизации.

Друзья, поддержите нас вступлением в наш телеграм канал QaRocks. Там много туториалов, задач по автоматизации и книг по QA.

Мы рекомендуем выбирать фреймворк с англоязычными формулировками, например Playwright (JavaScript), чтобы новичкам было проще разобраться.

Пример сценария тестирования Playwright.
Легко понять, правда? …верно?

Кроме того, ознакомьтесь с другими популярными фреймворками в нашей предыдущей статье.

Теперь, когда фреймворк автоматизации выбран, настало время для планирования!

Составление и проверка плана

Поскольку идея состоит в том, чтобы сценарий автоматизации выполнял действия, которые сделал бы человек, нам (как QE) сначала нужно выяснить, что представляют собой шаги тестирования. Здесь мы используем методCucumber для планирования шагов по выполнению каждого теста.

Синтаксис для Cucumber

После этого сценарии автоматизации могут быть написаны относительно легко.

Итак, как мы переводим скрипты Cucumber в Playwright (Javascript)?

Все предварительные условия (оператор Given ) находятся перед тест-блоком. Все шаги теста, которые должны быть выполнены, переходят (оператор When ) в тест-блок, где выполняются необходимые действия. Наконец, после тест-блока должны быть получены ожидаемые результаты (оператор Then ), которые представлены в виде утверждений или операторов expect().

Синтаксис Cucumber в синтаксис Playwright

Храните эти тестовые документы в централизованном хранилище (например, в Confluence), чтобы к ним могли легко получить доступ все члены команды. В идеале документы должны содержать ссылки на шаги по выполнению каждого ручного теста.

Круто. Я собираюсь автоматизировать ВСЁ!

Не спеши, приятель. Не все можно или даже нужно автоматизировать!

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

Лучше всего автоматизировать тесты, для которых требования к продукту не изменятся (по крайней мере, в ближайший месяц). Сценарии автоматизации особенно полезны для регрессионного тестирования, особенно если ваша продуктовая команда часто выпускает релизы (скажем, каждые 2 недели. Ура Agile-разработка!).

Автоматизация должна использоваться для следующего:

  • Тестирование безопасности
  • Функциональное тестирование
  • Регрессионное тестирование

Поскольку тесты могут быть как на Frontend (UI), так и на Backend (API), мы рекомендуем выбрать один фреймворк (например, Playwright (JavaScript)), который охватывает тестирование как UI, так и API. Это создает единую тестовую среду, где все тесты используют один и тот же “стиль кодирования”. Это также способствует созданию интегрированной тестовой отчетности, когда в одном отчете можно отобразить результаты всех тестов сразу. В Playwright (JavaScript), например, есть встроенные отчеты.

Переход от ручного к автоматизированному тестированию – важный шаг для опытных QE, стремящихся расширить свои возможности в области тестирования. Если разобраться с общими подводными камнями, принять эффективные стратегии, определить подходящие тесты для автоматизации и использовать рекомендуемые фреймворки автоматизации, такие как Playwright для тестирования пользовательского интерфейса, QE смогут успешно справиться с переходом и внести вклад в повышение эффективности и результативности процессов тестирования при разработке программного обеспечения.

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

Постоянное обучение и практические занятия – это ключ к освоению автоматизированного тестирования и достижению более высоких стандартов качества в ваших продуктах.

Перевод статьи «Transitioning from manual to automated testing».

Оставьте комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *