![](https://habrastorage.org/getpro/habr/post_images/c01/dd3/bcc/c01dd3bccc492f988917c6497b856ec2.jpg)
Когда мы слышим термин "Quality Gates" (QGS), мы склонны думать о них довольно недальновидно на уровне проекта как об этапах и предпосылках для перехода к следующему этапу реализации проекта. На проектах, особенно на тех, которые работают с использованием любой гибкой методологии, часто можно обнаружить что показатели качества более низкого уровня (например, критерии входа и выхода из теста, а также определение Definition of Done) часто обсуждаются/документируются, но затем упускаются из виду или вообще не используются.
QGS – это, по сути, очень хорошие чек-листы, подкрепленные простыми рабочими процессами. Они обеспечивают нам наглядность, уверенность и структурность того, что мы поставляем как результат процесса разработки, а также соответствие нашим установленным стандартам качества и ожиданиям. Для любой роли необходимо убедиться, что вы можете организовать список необходимых задач (чек-листов) и выполнить эти важные задачи. Этот процесс является ключом к предоставлению качественного программного обеспечения, когда команда поставляет продукт без спешки и потери качества.
Ниже приведены примеры использования QGS для различных ролей и областей в рамках цикла обеспечения качества и контроля качества. Они продемонстрируют, насколько они могут быть полезны для обеспечения структуры и качества команды и управления разработкой продукта. Несмотря на то, что мы используем QGS, которые визуально являются последовательными, задачи и действия, проходящие через них, могут выполняться параллельно или последовательно в зависимости от вашей методологии доставки (например, гибкая, водопадная и т.д.).
QA Инженеры и Лиды
Для инженеров по контролю качества/тестированию QGs можно сравнить с критериями входа и выхода из теста, поскольку это довольно низкий уровень. Однако критерии входа и выхода из теста на самом деле не соответствуют полному процессу и этапам жизненного цикла тестирования.
Если у вас есть подробная диаграмма Ганта для контроля качества, то ваши QGS могут быть извлечены из нее. Если нет, и при отсутствии плана тестирования, вы можете собрать эти простые QGS из описания цикла тестирования (например анализ тестов, разработка тестов, сборка тестов и выполнение тестов).
![](https://habrastorage.org/getpro/habr/upload_files/755/e22/48d/755e2248d93ffb30094319e6e3a678f2.png)
Менеджеры по контролю качества
Менеджеры по контролю качества могут повысить уровень абстракции по сравнению с инженерами по контролю качества и руководителями отдела контроля качества в процессе разработки. Менеджеры должны иметь возможность отслеживать мероприятия по тестированию и обеспечивать их выполнение и соответствие критериям прохождения, а также предоставлять руководству четкую и недвусмысленную информацию о статусе тестирования. Менеджеры по контролю качества, имеющие собственный процесс контроля качества, обеспечат непрерывное повышение качества на протяжении всего жизненного цикла разработки и тестирования и придадут бизнесу уверенность в том, что изменения/решения продвигаются в рамках процесса контроля качества проектов.
![](https://habrastorage.org/getpro/habr/upload_files/225/85f/bfe/22585fbfe53f64cd95e4c6cf7c8169df.png)
Автоматизированные тесты и pipelines
Pipelines, вероятно, являются одним из самых любимых примеров внедрения и использования QGS. Интегрируя автоматизированные тесты (например, веб-тесты selenium) в pipeline с использованием таких инструментов, как Jenkins, Azure DevOps, TeamCity и т.д., вы можете автоматизировать QG и обеспечить непрерывное тестирование и быструю обратную связь. В зависимости от того, насколько строгими вы хотите быть в отношении своих pipelines, вы сможете указать возможные риски от того, что приложение не пройдет через все определенные параметры качества, или что произойдет, как только один параметр качества не будет выполнен.
![](https://habrastorage.org/getpro/habr/upload_files/5b8/250/c64/5b8250c64cf0a1f293690548f544a177.png)
Инструменты для внедрения и использования качественных QGs
Ниже приведены некоторые общие инструменты, которые можно использовать для внедрения и использования качественных QGs. QGs может и не быть основным назначением этих инструментов, Поскольку QGS – это чек-листы и рабочие процессы, поэтому будет достаточно любого инструмента, который предлагает этот тип функциональности.
Microsoft Excel или Google Таблицы – для базовых контрольных списков контроля качества и отслеживания прогресса используйте совместно с SharePoint или Office365 для совместного использования и управления версиями, если используете Microsoft.
Atlassian JIRA – создавайте собственные рабочие процессы и типы проблем, чтобы создать свой собственный процесс контроля качества с автоматическим переходом. Затем информация может быть помещена в динамическую панель мониторинга для более широкой видимости. Этот инструмент также может интегрироваться с инструментами обмена сообщениями в группах, такими как Slack и Teams для автоматического обновления.
Atlassian Confluence – создайте общее пространство с документированными показателями качества и контрольными списками, которые могут быть использованы командой. Этот инструмент также может интегрироваться с инструментами обмена сообщениями в группах, такими как Slack и Teams для автоматического обновления.
Trello похож на JIRA, но использует доски, маркировку и другие функции премиум-класса для определения ваших показателей качества, контрольных списков и рабочего процесса. Этот инструмент также может интегрироваться с инструментами обмена сообщениями в группах, такими как Slack и Teams для автоматического обновления.
Jenkins, Azure DevOps, TeamCity, Circle CI – для автоматизированных систем контроля качества с использованием pipeline CI/CD в сочетании с автоматизированным тестированием. Этот инструмент также может интегрироваться с инструментами обмена сообщениями в группах, такими как Slack и Teams для автоматического обновления.
Качественные QGS – отличный инструмент для тестирования, они могут быть как базовыми, так и настолько подробными, насколько это необходимо. Они обеспечивают отличное визуальное руководство для любого члена команды, позволяющее получить представление о тестировании на высоком уровне и условиях, когда тестирование может быть завершено. Независимо от того, создаете ли вы новую команду при отсутствии руководства тестированием/зрелых возможностей тестирования, пытаетесь сократить объем несущественной тестовой документации или даже внедряете более автоматизированные и динамичные процессы, QGS можно довольно быстро собрать и использовать вручную или автоматизированным способом, чтобы обеспечить этот "единый источник истины" для более широких этапов управления процессом создания приложения.