Введение в QAOps в системах непрерывной доставки
9 мая 2022 г.В общепринятой парадигме выделенные группы обеспечения качества сосредоточены исключительно на качестве продукта. По мере того, как конкуренция между продуктами и командами, которые их поставляют, выросла, команды QA начали совершенствовать существующий процесс. QAOps — это новый подход к тестированию, обеспечивающий эффективный процесс обеспечения качества.
Подобно DevOps, в котором задействованы тесно связанные между собой группы разработки и эксплуатации ИТ-инфраструктуры, QAOps становится необходимым, поскольку объединяет обеспечение качества, ИТ-операции и процессы разработки программного обеспечения в один высокоэффективный и связный процесс. Речь идет о том, чтобы QA стала частью вашего конвейера CI/CD, и их постоянное сотрудничество на протяжении всего жизненного цикла разработки программного обеспечения.
QAOps: Что это такое?
Чтобы более подробно объяснить эту тенденцию в обеспечении качества, давайте рассмотрим несколько верных и ложных определений QAOps.
Ключевую разницу между DevOps и QAOps можно определить следующим образом: последний фокусируется исключительно на инфраструктуре для удаленного выполнения тестовых сценариев. Эта инфраструктура позволяет командам запускать автотесты на платформах CI/CD и получать отчеты. Нельзя построить инфраструктуру QAOps и обрабатывать отдельно от конвейера CI/CD.
QAOps — это не специализация и не командная роль*.* QAOps — это практика, методология, которая культивирует культуру создания здорового качественного продукта. «Здоровый» в данном контексте означает, что сложность продукта не оказывает негативного влияния на эффективность процесса. С ростом сложности QAOps становится все более и более необходимым, что может потребовать привлечения специалистов по автоматическому тестированию или специального специалиста QAOps для решения проблемы.
В обязанности инженера, выполняющего работу QAOps, входит не только разработка фреймворка автоматизации QA, но и настройка удаленного автоматизированного запуска тестирования, сбор данных о его протекании, отчетность и распространение результатов по каналам связи.
Специфика процесса QAOps
Описанный выше эффект возникает из-за неспособности традиционной системы контроля качества оставаться эффективной в командах, работающих по Agile. Процесс, управляемый QAOps, направлен на интеграцию методов тестирования на каждом этапе конвейера доставки продукта.
Фреймворк QAOps основан на парадигме сдвига влево. В отличие от водопадоподобного процесса, тестирование начинается на один этап раньше, чем в обычных парадигмах. Элементы, которые способствуют успеху парадигмы сдвига влево, включают стандартизацию среды, автоматизацию сборки и развертывания, а также автоматизацию тестирования.
Когда вводить QAOps?
Есть две распространенные ситуации, когда команды решают внедрить QAOps.
- Инфраструктура продукта CI/CD не оптимизирована для автоматизации контроля качества. Когда нужно внедрить и настроить процесс QAOps, либо инженер по автоматизации QA, обладающий навыками QAOps, либо тандемная структура, включающая команду DevOps и Команда контроля качества автоматизации может подойти. Сочетание навыков CI/CD с автоматизацией контроля качества закладывает основу для отличных процессов QAOps.
- Инфраструктура тестирования очень сложна , что требует от инженеров по автоматизации контроля качества глубоких знаний о ее настройке, обслуживании или улучшении. Эта сложность становится узким местом для роста продукта. В этом случае инженер QAOps или любой инженер по автоматизации со знанием DevOps возглавляет преобразование процесса.
Кейс Techstack
У нас нет выделенных QAOps-инженеров в наших продуктовых командах, что является обычной практикой. Тем не менее, мы всегда готовы вмешаться, когда это необходимо, поскольку у нас есть автоматизация контроля качества, опыт DevOps, бесперебойная коммуникация внутри команд и жажда новых вызовов.
В большинстве случаев отдельная роль QAOps имеет ограниченное время участия в проекте, тогда как мы стремимся к долгосрочным отношениям как с партнерами, так и с членами команды. Вот почему мы стремимся к тому, чтобы QAOps были результатом напряженной работы различных совместных функций, а не найма профессионала на короткое время. Кроме того, постоянная потребность в настройке процессов более благоприятна для продуктов с очень большими группами разработчиков и большим количеством запущенных процессов.
Инженеры QA Automation в Techstack могут самостоятельно настраивать инфраструктуру CI/CD, только консультируясь с командой DevOps: развертывание, обновление, настройка и т. д.
Архитектура и стек QAOps
Стек технологий для каждого уровня инфраструктуры QAOps, обычно использующий следующие инструменты:
- Конвейер CI/CD: Дженкинс, Team City.
- Облачная инфраструктура: контейнеры Docker, AWS, Digital Ocean, Azure.
- Удаленный доступ через браузер: LambdaTest, Selenium, Katalon, BrowserStack.
- Производительность: JMeter, K6, Octoperf.
- Отчетность: Allure, Report Portal, Data Dog.
Четыре столпа, на которых стоит QAOps
Помимо архитектуры и технического стека, фреймворк основан на нескольких основных принципах.
- Масштабируемость. Необходимо выявить скрытые узкие места в производительности приложения, чтобы обеспечить его масштабируемость. Чтобы адаптировать тестирование к индивидуальным потребностям приложения, QA-инженеры и разработчики вместе определяют типы тестирования, а также их частоту и количество.
- Автоматизация. Если вы не можете автоматизировать, вы не можете масштабироваться. Экономьте время на разных этапах разработки продукта, используя автоматизированный подход к тестированию, что позволяет снизить потребность в ручном запуске часто используемых тестов, таких как регрессионные и нефункциональные тесты.
- Распараллеливание. Вы можете выполнять несколько тестовых процессов одновременно и обеспечивать более высокую скорость обеспечения качества. Вместе с ручным и автоматизированным тестированием вы распараллеливаете тестирование функций и модулей системы.
- Интеграция. Теперь, когда вы применили три предыдущих компонента, последним шагом на пути к реализации QAOps является включение действий по обеспечению качества в конвейер непрерывной доставки. Одним из наиболее распространенных способов объединения операций разработки и инфраструктуры с контролем качества является создание тестовых сценариев, написанных разработчиками.
Резюме
QAOps теперь необходим для команд, которые автоматизируют свои конвейеры доставки. По мере роста продукта и количества людей и процессов выбор правильной инфраструктуры и правильной системной архитектуры для масштабирования становится все более важным. После внедрения процесса QAOps в конвейере CI/CD экономятся усилия и сокращается стоимость продуктов, используемых при тестировании.
Оригинал