Индустрия

JetBrains сообщает о качестве программного обеспечения

JetBrains сообщает о качестве программного обеспечения

Компания JetBrains опубликовала результаты своего первого ежегодного отчета State of Software Quality Report by Qodana. Это исследование было проведено с целью более глубокого понимания лучших практик создания качественного программного обеспечения и того, как компании разных размеров и уровней зрелости определяют, когда их продукт готов к производству.

Qodana - это механизм статического анализа, который переносит проверки из IDE JetBrains в любой CI-конвейер и выполняет ресурсоемкие проверки на CI-сервере. Он был выпущен в предварительной версии в 2021 году, а коммерческий релиз состоялся в 2023 году.

Для этого отчета JetBrains опросила 808 разработчиков и QA-инженеров, чтобы проанализировать, как команды обеспечивают качество программного обеспечения, какие инструменты и процессы они используют и как меняются приоритеты от этапа разработки к этапу производства.

Главное открытие, сделанное в ходе исследования, - это явный сдвиг в сторону более строгих методов обеспечения качества программного обеспечения по мере того, как продукты переходят от стадии запуска к стадии зрелости. По мнению JetBrains, это отражает возрастающую сложность поддержания качества кода по мере роста и развития компаний:

Большие команды и зрелые продукты требуют более строгого контроля, который окупается повышением надежности, производительности, масштабируемости и экономией средств.

Исследование показало широкое использование модульных тестов для обеспечения качества кода среди всех респондентов на всех этапах разработки. Также был отмечен явный сдвиг в переходе от ручных методов к автоматизированным. Юнит-тесты используются 65-69 % команд в качестве обязательных проверок кода, отправляемого в производство, а 58 % также полагаются на интеграционные тесты как на критически важный этап процесса. Обязательные проверки при выпуске кода в производство в основном автоматизированы.

Если рассматривать методы оценки готовности к производству, то в тройку лидеров вошли автоматизированные, а не ручные методы. Автоматизированная сборка и развертывание, а также автоматизированные тесты были оценены как "эффективные" или "очень эффективные" 90 % респондентов, и из практики, используемой примерно 55 % команд на этапе разработки продукта, они превратились в более чем 75 % на этапе зрелости.

Кроме того, что эта практика занимает третье место в рейтинге качества программного обеспечения, использование автоматизированных критериев качества для каждого запроса на слияние было названо самой распространенной практикой, которой не хватает, хотя только 27 % респондентов заявили, что при наличии дополнительных ресурсов и времени они бы внедрили ее, чтобы гарантировать, что будет приниматься только высококачественный код.

Если вы не знакомы с этой практикой, то она подразумевает использование набора предопределенных критериев, которым должны соответствовать изменения кода, прежде чем они будут объединены с основной кодовой базой. Эти «ворота» запускаются автоматически в рамках конвейера непрерывной интеграции/непрерывной доставки (CI/CD), не требуя ручного вмешательства. Quodana поддерживает эту технологию, и в отчете рекомендуется использовать ее в качестве «совета профессионала».

Основываясь на результатах этого исследования, компания JetBrains прогнозирует дальнейший отход от ручных методов обеспечения качества, отмечая:

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

Эта тенденция проявляется в растущем использовании автоматизированных систем контроля качества, которое увеличилось с 27 % на этапе разработки (до публичного запуска продукта) до 40 % на этапе роста.
до 40% на этапе роста (когда продукт расширяется после запуска), а также в использовании флагов возможностей для
контролируемого развертывания, что увеличивается с 29 до 50 %.

Читайте также