Зарегистрируйтесь для доступа к 15+ бесплатным курсам по программированию с тренажером

Автоматизация Этап тестирования

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

Именно об этом мы поговорим в уроке. Вы узнаете, по каким критериям нужно оценить тест-кейс прежде чем автоматизировать его.

Когда автоматизировать?

Как применять автоматизацию

Автоматизация сокращает время на тестирование по нескольким причинам:

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

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

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

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

    Это особенно полезно при регрессионном тестировании, при котором постоянно проверяется одна и та же функциональность

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

Важно понимать, что не все тесты нужно автоматизировать. Есть критерии, которые подсказывают принять верное решение.

Стоит автоматизировать тест-кейсы, которые:

  1. Проверяют самые важные функции. В таких случаях важно исключить человеческий фактор, с чем авто-тесты отлично справляются
  2. Регулярно повторяются. Чем больше времени мы тратим на один и тот же ручной тест, тем выгоднее написать авто-тест и сэкономить ресурсы
  3. Слишком трудоемкие. Для некоторых тест-кейсов нужно создавать специальное окружение, подбирать определенные данные. Это все долго и сложно, поэтому такой кейс лучше автоматизировать
  4. Слишком утомительные. Кейсы с долгим и скучным ручным тестированием лучше заменять на авто-тесты, чтобы не утомлять сотрудников и освободить их время для более продуктивных задач

Есть случаи, когда автоматизировать не стоит:

  1. Если требования меняются. Изменчивые требования часто встречаются на старте проекта. На этом этапе лучше не пытаться автоматизировать все и сразу — это слишком дорого. Если требования к фиче изменятся, то код авто-теста тоже придется менять. Придется переписывать тест, из-за чего может не хватить времени на само тестирование.

  2. Если тест нужен всего один раз. Для примера представим скрипт, который будет выполнен один раз. Автоматизировать его необязательно — достаточно прогнать его, найти ошибки, исправить их, а затем выполнить еще раз на всякий случай. Этого уже будет достаточно.

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

Автоматизация и программирование

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

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

Автоматизация тестирования — это отдельная профессия, в которую пока мы не погружаемся подробно. Пока важно усвоить две мысли:

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

Аватары экспертов Хекслета

Остались вопросы? Задайте их в разделе «Обсуждение»

Вам ответят команда поддержки Хекслета или другие студенты

Для полного доступа к курсу нужен базовый план

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

Получить доступ
1000
упражнений
2000+
часов теории
3200
тестов

Открыть доступ

Курсы программирования для новичков и опытных разработчиков. Начните обучение бесплатно

  • 130 курсов, 2000+ часов теории
  • 1000 практических заданий в браузере
  • 360 000 студентов
Отправляя форму, вы принимаете «Соглашение об обработке персональных данных» и условия «Оферты», а также соглашаетесь с «Условиями использования»

Наши выпускники работают в компаниях:

Логотип компании Альфа Банк
Логотип компании Aviasales
Логотип компании Yandex
Логотип компании Tinkoff
Рекомендуемые программы
профессия
Выполняйте ручное тестирование веб-приложений, находите ошибки в продукте. Узнайте все о тест-дизайне.
4 месяца
с нуля
Старт 28 ноября

Используйте Хекслет по-максимуму!

  • Задавайте вопросы по уроку
  • Проверяйте знания в квизах
  • Проходите практику прямо в браузере
  • Отслеживайте свой прогресс

Зарегистрируйтесь или войдите в свой аккаунт

Отправляя форму, вы принимаете «Соглашение об обработке персональных данных» и условия «Оферты», а также соглашаетесь с «Условиями использования»