Как мы это делаем?
Автоматизация тестирования позволяет выполнять заранее подготовленные тестовые сценарии для проверки работы приложения при помощи специализированного программного обеспечения. Во время таких проверок фактически получаемый результат сравнивается с заранее подготовленными эталонными значения на основе аналогичных входных данных.
При использовании автоматизации тестирования значительно увеличивается скорость выполнения тестов, снижается влияние человеческого фактора на результаты проверок, а также освобождается часть человеческих ресурсов, используемая непосредственно на выполнение тестов вручную, а также на обработку их результатов.
При этом высвобождающиеся человеческие ресурсы можно использовать на проведение других видов тестирования, которые не поддаются автоматизации.
По мере необходимости используется либо готовые решения, либо отдельные скрипты, либо же создается собственный тестовый фреймворк, на базе которого и происходит автоматизация тестирования продукта.
Чем может быть полезна автоматизация тестирования?
Использование автоматизации оправдано когда в системе уже стабилизировался набор постоянной функциональности и его необходимо проверять при выходе каждой новой версии. Например, при использовании только ручного тестирования, для того чтобы проверить набор из 1000 тестовых сценариев, потребуется 2 дня, а после того как будет внедрена автоматизация, то этот же набор из 1000 сценариев сможет быть пройден за 1 час.
Также автоматизация позволяет повторять одни и те же тест кейсы с вариацией входных данных, запускать тесты в нерабочее время, генерировать нужное состояние системы и очищать его после проведения тестов, подготавливать отчеты о проведенных запусках и даже рассылать их в удобной форме на почту или в мессенджеры.
Внедрение в систему непрерывной интеграции
Если при разработке сложной системы хорошо налажены процессы, то они как правило включают в себя элементы CI\CD, то есть концепции непрерывной интеграции и непрерывной доставки. То есть при появлении новых сборок, либо на ежедневной основе, формируется актуальная версия продукта и устанавливается на тестовое окружение для проверок.
При помощи автоматизации тестирования, этапы проверки как отдельных модулей и интеграций между ними, так и системы целиком можно встроить в эти процессы ежедневных сборок. Таким образом, в начале каждого нового рабочего дня, команда будет получать не только уже собранное и готовое к работе окружение, но и уже протестированное по нужным сценарием, а также уже будут доступны отчеты обо всех найденных ошибках.
Какая польза от автоматизации тестирования?
Благодаря применению подходов и практик автоматизации тестирования в составе процесса обеспечения качества для любого программного продукта, получают следующие результаты: