Что такое автоматизированное тестирование? Гайд по основам.

Что такое автоматизированное тестирование?

Автоматизированное тестирование (Automation Testing, Test Automation) — техника тестирования, в которой для выполнения тест кейсов используются специальные программы. Это отличает ее от ручного тестирования, в котором тест кейсы выполняются вручную тестировщиком.

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

Разработка продукта циклична и итерационна — и на каждой итерации, как правило, требуется выполнение одного и того же набора тестов. С помощью инструментов автоматизированного тестирования можно записывать наборы тестов (test suites) и выполнять, когда это необходимо. Как только набор тестов автоматизирован, участие человека в выполнении тестов практически не требуется. Это делает автоматизированное тестирование эффективной техникой. Цель автоматизации — уменьшить количество тестов, которые нужно выполнять вручную.

Зачем нужно автоматизированное тестирование?

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

  • Ручное тестирование всех возможных сценариев использования требует много времени (и, следовательно, денег)
  • Автоматизированное тестирование увеличивает скорость тестирования
  • Автоматизированное тестирование не требует участия человека для выполнения тестов. Автоматизированные тесты могут быть запущены в любое время (днем, ночью, в выходные и праздники)
  • Многократное ручное тестирование одной и той же функциональности скучно

Что автоматизировать в первую очередь?

Для максимальной эффективности, для определения сценариев, подходящих под автоматизацию, пользуйтесь следующими критериями:

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

Следующие критерии не подходят для автоматизации:

  • Новые тест кейсы, которые еще не были выполнены вручную
  • Тест кейсы для функциональности, требования к которой часто меняются
  • Тест кейсы, которые выполняются редко

Мы написали небольшой гайд по выбору приоритетных тест-кейсов для автоматизации.

Процесс автоматизированного тестирования

Процесс автоматизированного тестирования

Шаг 1: Выбор инструмента для автоматизации

Шаг 2: Определение функциональности, которую нужно автоматизировать

Шаг 3: Планирование, тест дизайн и разработка тестов

Шаг 4: Выполнение тестов

Шаг 5: Поддержка написанных тестов

Выбор инструмента

Этому вопросу посвящен отдельный материал.

Определение функциональности, которую нужно автоматизировать

Область для автоматизации может быть определена по следующим критериям:

  • Функциональность, которая важна для бизнеса
  • Сценарии, для тестирования которых нужны большие объемы входных данных
  • Функциональность, использующаяся в нескольких частях приложения
  • Целесообразность с технической точки зрения
  • Сложность написания тест кейсов
  • Возможность использования одних и тех же тест кейсов для кроссбраузерного тестирования

Планирование, тест дизайн и разработка

На этом этапе создается тест стратегия и тест-план, которые содержат следующие детали:

  • Выбранный инструмент автоматизации
  • Фреймворк с описанием его особенностей
  • Описание функциональности, тестирование которой будет автоматизировано
  • Подготовка стендов для выполнения тестов
  • Расписание выполнение автотестов
  • Результаты автоматизированного тестирования

Выполнение тестов

Во время этой стадии происходит выполнение автотестов. После выполнения генерируется подробный тест репорт.

Выполнение тестов может быть запущено как из инструмента автоматизации напрямую, так и с помощью системы управления тестированием (Test Management Tool), который запустит инструмент автоматизации.

Пример: HP Quality Center — cистема управления тестированием, которая управляет QTP для выполнения автотестов.

Поддержка написанных тестов

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

Советы по использованию инструментов автоматизации

  • Функциональность, подходящая для автоматизации, должна быть определена до начала разработки проекта.
  • Инструмент для автоматизации должен быть выбран исходя из требований конкретного продукта, а не из популярности.
  • Придерживайтесь стандартов написания кода, когда разрабатываете автотесты. Вот некоторые из них:
    • Придерживайтесь гайдлайнов при написании кода
    • Оставлйте комментарии
    • Обрабатывайте ошибки — при разработке думайте о том, как отработает ваша система в случае некорректного поведения приложения.
  • Собирайте метрики, чтобы определить эффективность автоматизированного тестирования. Вот некоторые из них:
    • Процент найденных багов
    • Время, затраченное на выполнение автотестов для каждого релиза

Преимущества автоматизированного тестирования

  • На 70% быстрее, чем ручное тестирование
  • Надежность
  • Сохраняет время и деньги
  • Не требует участия человека для выполнения тестов
  • Возможность повторного использования написанных скриптов

Типы автоматизированного тестирования

  • Smoke Testing
  • Unit Testing
  • Integration Testing
  • Functional Testing
  • Keyword Testing
  • Regression Testing
  • Data Driven Testing
  • Black Box Testing

Какой была ваша первая зарплата в QA и как вы искали первую работу?

Мега обсуждение в нашем телеграм-канале о поиске первой работы. Обмен опытом и мнения.

2 КОММЕНТАРИИ

Подписаться
Уведомить о
guest

2 комментариев
Старые
Новые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии
Ира
Ира
2 лет назад

Спасибо за подробную статью — все четко и по делу. Только начинаю изучать тестирование, подскажите, куда лучше идти, в ручное или в автоматизацию? Образование экономическое, работаю бухгалтером.

Eugene T.
Eugene T.
2 лет назад
Ответить на  Ира

С точки зрения быстрого старта (если опыта программирования вообще нет) рекомендовал бы идти в ручное тестирование, а уже во время работы попытаться переквалифицироваться в автоматизированное (если будет интересно). Проблема только в том, что порог вхождения в ручное тестирование один из самых низких, поэтому и конкуренция на рынке труда высокая на junior-позиции…

Мы в Telegram

Наш официальный канал
Полезные материалы и тесты
Готовимся к собеседованию
Project- и Product-менеджмент

? Популярное

? Telegram-обсуждения

Наши подписчики обсуждают, как искали первую работу в QA. Некоторые ищут ее прямо сейчас.
Наши подписчики рассказывают о том, как не бояться задавать тупые вопросы и чувствовать себя уверенно в новой команде.
Обсуждаем, куда лучше податься - в менеджмент или по технической ветке?
Говорим о конфликтных ситуациях в команде и о том, как их избежать
$1100*
медианная зарплата в QA в июне 2023

*по результатам опроса QA-инженеров в нашем телеграм-канале

Собеседование

19%*
IT-специалистов переехало или приняло решение о переезде из России по состоянию на конец марта 2022

*по результатам опроса в нашем телеграм-канале

live

Обсуждают сейчас