Введение в QAOps в системах непрерывной доставки

Введение в 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.


  1. Инфраструктура продукта CI/CD не оптимизирована для автоматизации контроля качества. Когда нужно внедрить и настроить процесс QAOps, либо инженер по автоматизации QA, обладающий навыками QAOps, либо тандемная структура, включающая команду DevOps и Команда контроля качества автоматизации может подойти. Сочетание навыков CI/CD с автоматизацией контроля качества закладывает основу для отличных процессов QAOps.

  1. Инфраструктура тестирования очень сложна , что требует от инженеров по автоматизации контроля качества глубоких знаний о ее настройке, обслуживании или улучшении. Эта сложность становится узким местом для роста продукта. В этом случае инженер 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 экономятся усилия и сокращается стоимость продуктов, используемых при тестировании.



Оригинал
PREVIOUS ARTICLE
NEXT ARTICLE