Напоминаю, что сегодня состоится первая встреча из цикла "Вокруг РБПО за 25 вебинаров: ГОСТ Р 56939-2024". Регистрируйтесь. Приглашённый гость: Виталий Вареница. Он откроет вебинар докладом "История создания стандарта БРПО в России. Актуальное состояние БРПО сегодня".
Начало в 16:00 по МСК
Начало в 16:00 по МСК
👍5
Напоминаю про вебинар! Время заварить чай и подключаться! :)
🔥6
РБПО-035. Процесс 2 — Обучение сотрудников (часть 4/4)
Закончим рассматривать артефакты процесса обучения, перечисленные в ГОСТ Р 56939-2024.
Перечисленное говорит само за себя, но не забывайте, что речь идёт про процесс, а не про разовую акцию повышения квалификации сотрудников, которые трудятся в компании на данный момент. Есть смысл "вшить" это в матрицы компетенций. Это будет помогать адаптировать (обучать) как новых сотрудников, так и постепенно повышать уровень компетенций опытных членов команды. Заодно естественным образом разделится, что должен изучать программист, а что — специалист ИБ. У них будут разные матрицы компетенций.
Тема матриц компетенций интересная, но большая и выходит за рамки этого цикла публикаций. Думаю, на эту тему можно многое почерпнуть из записей докладов конференций TeamLead Conf и подобных (например 1, 2, 3). Ещё добавлю, что мы её внедрили и довольны результатами.
Когда вас условно (или буквально) посетит команда аудиторов, вам должно быть, что ей показать :) Начинайте централизовано собирать отчётную информацию и, видимо, есть смысл назначить кого-то ответственным за эти процесс. Иначе в нужный момент вспомнить всё, что было, и предоставить подтверждающие документы будет сложно.
Это вновь пересекается с темой разработки матрицы компетенций, про которую я говорил выше.
И последний пункт артефактов:
Закончим рассматривать артефакты процесса обучения, перечисленные в ГОСТ Р 56939-2024.
5.2.3.2 План обучения, включающий:
- список сотрудников, направляемых на обучение;
- сроки прохождения обучения;
- наименование программы (курса, тренинга) обучения;
- ожидаемый результат обучения.
Перечисленное говорит само за себя, но не забывайте, что речь идёт про процесс, а не про разовую акцию повышения квалификации сотрудников, которые трудятся в компании на данный момент. Есть смысл "вшить" это в матрицы компетенций. Это будет помогать адаптировать (обучать) как новых сотрудников, так и постепенно повышать уровень компетенций опытных членов команды. Заодно естественным образом разделится, что должен изучать программист, а что — специалист ИБ. У них будут разные матрицы компетенций.
Тема матриц компетенций интересная, но большая и выходит за рамки этого цикла публикаций. Думаю, на эту тему можно многое почерпнуть из записей докладов конференций TeamLead Conf и подобных (например 1, 2, 3). Ещё добавлю, что мы её внедрили и довольны результатами.
5.2.3.3 Артефакты реализации требований, подтверждающие прохождение обучения, включают (в зависимости от учебной программы, курса) свидетельства, дипломы, отчеты обучающих платформ и иные документы и материалы, подтверждающие прохождение сотрудником обучения.
5.2.3.4 Артефакты реализации требований, подтверждающие осуществление учета обучения сотрудников, должны содержать информацию о сотрудниках, прошедших обучение, пройденных программах (курсах) и результатах прохождения обучения.
Когда вас условно (или буквально) посетит команда аудиторов, вам должно быть, что ей показать :) Начинайте централизовано собирать отчётную информацию и, видимо, есть смысл назначить кого-то ответственным за эти процесс. Иначе в нужный момент вспомнить всё, что было, и предоставить подтверждающие документы будет сложно.
5.2.3.5 Критерии необходимости пересмотра программ обучения (курсов, тренингов и т. п.) должны содержать информацию о периодичности пересмотра (уточнения) программ обучения (курсов, тренингов и т. п.) или о событиях, при наступлении которых необходимо изменение программ обучения (курсов, тренингов и т. п.).
Это вновь пересекается с темой разработки матрицы компетенций, про которую я говорил выше.
И последний пункт артефактов:
5.2.3.6 Артефакты реализации требований, подтверждающие осуществление повышения осведомленности сотрудников, должны содержать информацию о проведенных мероприятиях по повышению осведомленности сотрудников о возможных типовых угрозах, ошибках и уязвимостях в разрабатываемом ПО, механизмах их недопущения или минимизации вероятности их возникновения, порядке сопровождения ПО и управления жизненным циклом, а также о сотрудниках (подразделениях), для которых проводились мероприятия по повышению осведомленности.
👍6
Пока здесь я постепенно прохожу по каждому процессу ГОСТ Р 56939-2024, параллельно выкладываем обзорные доклады про этот стандарт. Четвёртый из пяти:
Процессы РБПО 5.11-5.25 в ГОСТ Р 56939-2024
(рекомендую смотреть на скорости 1,25 - 1,5)
Процессы РБПО 5.11-5.25 в ГОСТ Р 56939-2024
(рекомендую смотреть на скорости 1,25 - 1,5)
PVS-Studio
Процессы РБПО 5.11-5.25 в ГОСТ Р 56939-2024
В четвертой части серии докладов про ГОСТ Р 56939-2024 продолжаем разбирать процессы РБПО. Полезные ссылки: Динамические анализаторы: Valgrind; AddressSanitizer; ThreadSanitizer; MemorySanitizer; ИСП Fuzzer; ИСП РАН. Безопасный компилятор; Инструменты композиционного…
🔥4
В программе:
Андрей Карпов: Типовые паттерны опечаток и как их избежать.
Марк Шевченко: Верификация программ и доказательство корректности .NET-кода.
Роман Гапонов: Все о Code Review: лучшие практики и анти-паттерны.
Андрей Карпов: Типовые паттерны опечаток и как их избежать.
Марк Шевченко: Верификация программ и доказательство корректности .NET-кода.
Роман Гапонов: Все о Code Review: лучшие практики и анти-паттерны.
Forwarded from PVS-Studio: поиск ошибок в С/С++, С# и Java
Как бороться с типовыми паттернами опечаток? Расскажет Андрей Карпов на митапе "Работа над ошибками"!
В программировании есть полезные паттерны, а есть и антипаттерны. Опечаткам, как ни странно, тоже свойственны некоторые повторяемые шаблоны. Как их замечать и, что еще важнее, как от них защититься?
На нашей встрече Андрей Карпов подробно разберет эту тему.
🗓 16 июля (среда), 19:30
📍 Москва, Freedombar на Дизайн-Заводе "Флакон" (Большая Новодмитровская ул., 36 стр. 6)
Ссылка на регистрацию🔗
Это один из трех докладов на митапе "Работа над ошибками". Следите за анонсами других спикеров!
В программировании есть полезные паттерны, а есть и антипаттерны. Опечаткам, как ни странно, тоже свойственны некоторые повторяемые шаблоны. Как их замечать и, что еще важнее, как от них защититься?
На нашей встрече Андрей Карпов подробно разберет эту тему.
🗓 16 июля (среда), 19:30
📍 Москва, Freedombar на Дизайн-Заводе "Флакон" (Большая Новодмитровская ул., 36 стр. 6)
Ссылка на регистрацию
Это один из трех докладов на митапе "Работа над ошибками". Следите за анонсами других спикеров!
Please open Telegram to view this post
VIEW IN TELEGRAM
👍10
РБПО-036. Процесс 3 — Формирование и предъявление требований безопасности к программному обеспечению
Этот процесс я понимаю так: необходимо спланировать и разработать регламент, как будет ставиться ТЗ для внутренних/внешних команд и контролироваться ход выполнения работ. Управление процессом рекомендуется осуществлять с использованием средств автоматизации: системы управления изменениями, системы управления задачами и т. д.
Оговаривается состав команды, чтобы не было такого, что в начале обсуждают команду высокооплачиваемых квалифицированных специалистов, а затем передают стажёрам на полставки :))
Полный список артефактов приводить здесь не буду и отсылаю за ним к стандарту. В целом про этот процесс я мало что могу написать. Я не эксперт в данной теме и, наверное, не осознаю всю глубину этого процесса и его наполнение. Постараемся с чей-то помощью подробнее его раскрыть на третьем вебинаре серии "Вокруг РБПО за 25 вебинаров: ГОСТ Р 56939-2024".
Обеспечение безопасности ПО посредством предъявления к нему требований и управления требованиями в процессе изменения (разработки) ПО. (ГОСТ Р 56939—2024, п. 5.3.1.1)
Этот процесс я понимаю так: необходимо спланировать и разработать регламент, как будет ставиться ТЗ для внутренних/внешних команд и контролироваться ход выполнения работ. Управление процессом рекомендуется осуществлять с использованием средств автоматизации: системы управления изменениями, системы управления задачами и т. д.
5.3.3.1 Регламент управления требованиями безопасности ПО должен включать следующие положения:
• порядок предъявления требований безопасности ПО;
• порядок предоставления требований безопасности ПО исполнителям;
• порядок отслеживания процесса предоставления, получения и выполнения требований безопасности ПО;
• критерии пересмотра требований безопасности ПО (периодически, при наступлении определенных событий).
Оговаривается состав команды, чтобы не было такого, что в начале обсуждают команду высокооплачиваемых квалифицированных специалистов, а затем передают стажёрам на полставки :))
5.3.3.2 Набор требований безопасности ПО должен содержать следующую информацию:
...
• сведения о сотрудниках (подразделениях), предъявивших требования;
• сведения о сотрудниках (подразделениях), принявших требования к реализации.
Полный список артефактов приводить здесь не буду и отсылаю за ним к стандарту. В целом про этот процесс я мало что могу написать. Я не эксперт в данной теме и, наверное, не осознаю всю глубину этого процесса и его наполнение. Постараемся с чей-то помощью подробнее его раскрыть на третьем вебинаре серии "Вокруг РБПО за 25 вебинаров: ГОСТ Р 56939-2024".
🔥4👍1
Приглашаю познакомиться с публикацией Дмитрия Пономарева:
Итоги этапа «Домашнее задание» испытаний статических анализаторов под патронажем ФСТЭК России
В публикацию не включены более детальные таблицы с числовыми характеристиками. Таблицы получились большими и сложными для восприятия. Однако, думаю, я смогу компактно продемонстрировать показатели PVS-Studio.
В процессе выполнения домашнего задания наша команда для собственного удобства написала небольшую утилиту генерации html-таблицы с раскраской. И соответственно стояла задача избавиться от красных ячеек :) Ставилась задача достичь показателей, описанных в ГОСТ Р 71207-2024 в п. 8.4:
Достигнуты все необходимые показатели, кроме процента False Positives для тестов на выявление разыменования нулевых указателей. Представленные здесь таблицы сгенерированы 29.05.2025.
В среднем PVS-Studio показывает хорошие показатели (FP < 50%, FN < 50%) для всех поддерживаемых языков C, C++, C#, Java для основного и дополнительного наборов тестов домашнего задания. В дополнительный набор вошли тесты на ошибки, которые ГОСТ Р 71207-2024 не описывает как критические, но выявление которых по мнению жюри также очень важно. Про расширение списка критических ошибок, их фильтрацию и что означают идентификаторы типов ошибок (SEC-STR-FORMAT, SEC-BUF-OVERFLOW и т.д.) можно прочитать в статье "Фильтрация предупреждений PVS-Studio, выявляющих критические ошибки (согласно классификации ГОСТ Р 71207-2024)".
Позже сделаю более подробный пост на habr.
Итоги этапа «Домашнее задание» испытаний статических анализаторов под патронажем ФСТЭК России
В апреле-мае 2025 года состоялся первый этап испытаний открытых и коммерческих статических анализаторов исходных кодов компилируемых и динамических языков программирования под патронажем ФСТЭК России. Полный отчёт об итогах этапа был согласован участниками и жюри и передан организаторам испытаний.
В публикацию не включены более детальные таблицы с числовыми характеристиками. Таблицы получились большими и сложными для восприятия. Однако, думаю, я смогу компактно продемонстрировать показатели PVS-Studio.
В процессе выполнения домашнего задания наша команда для собственного удобства написала небольшую утилиту генерации html-таблицы с раскраской. И соответственно стояла задача избавиться от красных ячеек :) Ставилась задача достичь показателей, описанных в ГОСТ Р 71207-2024 в п. 8.4:
Требования по качеству выполняемого статического анализа предъявляются для критических типов ошибок, приведенных в 6.3-6.5, и проверяются на квалификационном наборе тестов, построенных в соответствии с требованиями раздела 10.
Для данных типов ошибок на наборе тестов, отвечающих требованиям 10.4, статический анализатор должен обеспечивать достижение следующих показателей:
а) долю ошибок первого рода (ложноположительных срабатываний) (FP) — не более 50%;
б) долю ошибок второго рода (ложноотрицательных срабатываний, т. е. пропусков заведомо известных ошибок) (FN) — не более 50%.
Домашнее задание подразумевает проверку соответствия на квалификационных тестах небольшого размера (см. п. 10.2.а).
Достигнуты все необходимые показатели, кроме процента False Positives для тестов на выявление разыменования нулевых указателей. Представленные здесь таблицы сгенерированы 29.05.2025.
В среднем PVS-Studio показывает хорошие показатели (FP < 50%, FN < 50%) для всех поддерживаемых языков C, C++, C#, Java для основного и дополнительного наборов тестов домашнего задания. В дополнительный набор вошли тесты на ошибки, которые ГОСТ Р 71207-2024 не описывает как критические, но выявление которых по мнению жюри также очень важно. Про расширение списка критических ошибок, их фильтрацию и что означают идентификаторы типов ошибок (SEC-STR-FORMAT, SEC-BUF-OVERFLOW и т.д.) можно прочитать в статье "Фильтрация предупреждений PVS-Studio, выявляющих критические ошибки (согласно классификации ГОСТ Р 71207-2024)".
Позже сделаю более подробный пост на habr.
👍3
Forwarded from Протестировал (Sergey Bronnikov)
ФСТЭК России объявила о начале масштабных испытаний статических анализаторов
Делайте ставки, господа!
Мой прогноз такой:
- Svace и PVS-Studio поделят первое и второе место
- Третье место будет у Clang Static Analyzer
- Synopsys Coverity - техническое поражение из-за неявки
- `cppcheck` - почётное последнее место
via
На встрече обсудили цели и задачи испытаний, критерии оценок, инфраструктуру, сроки, состав жюри и тесты для испытаний. Было принято решение провести мероприятие на базе кафедры ИУ10 «Защита информации» МГТУ им. Н. Э. Баумана в два этапа: «домашнее задание» (завершается 15 мая) и основной этап испытаний (июль-октябрь). Итогом станет аналитический доклад от ФСТЭК России на Открытой конференции по результатам испытаний (декабрь 2025 г.).
Делайте ставки, господа!
Мой прогноз такой:
- Третье место будет у Clang Static Analyzer
- Synopsys Coverity - техническое поражение из-за неявки
- `cppcheck` - почётное последнее место
via
ib-bank.ru
ФСТЭК России объявила о начале масштабных испытаний статических анализаторов
3 февраля ФСТЭК России провела встречу представителей заинтересованных организаций, где обсуждались детали предстоящего масштабного мероприятия «Испытания статических анализаторов».
🔥10
Да, данные получились сложные для восприятия. Точно придётся пояснительную бригаду вызывать статью написать. Делаю этот вывод, например, из такого комментария в одном из чатов:
TN - это насколько верно, что нет предупреждений, где нет ошибок. Неудачная метрика :) Но раз надо было предоставить, то вот. По простому: это обратная метрика к FP (ложноположительным срабатываниям).
Обнаружен 81,5% (TP) нулевых указателей в тестах, где надо было их обнаружить. Т.е. в тестах выявляется 81,5% имеющихся там ошибок.
И это разные наборы тестов. Первый набор тестов используется для подсчёта TP (и FN). А второй набор тестов для FP (и TN).
Ещё были тесты дополнительного набора, но это уже другая история.
Комментарий не соответствует картинке. Авторы картинки считают что TN 41.5% это плохо. Ну и абстрактно звучит плохо. 41.5% разыменований нулевых указателей не обнаружено, если я правильно понял метрику
TN - это насколько верно, что нет предупреждений, где нет ошибок. Неудачная метрика :) Но раз надо было предоставить, то вот. По простому: это обратная метрика к FP (ложноположительным срабатываниям).
Обнаружен 81,5% (TP) нулевых указателей в тестах, где надо было их обнаружить. Т.е. в тестах выявляется 81,5% имеющихся там ошибок.
И это разные наборы тестов. Первый набор тестов используется для подсчёта TP (и FN). А второй набор тестов для FP (и TN).
Ещё были тесты дополнительного набора, но это уже другая история.
🔥2
Forwarded from PVS-Studio: поиск ошибок в С/С++, С# и Java
Цикл "Вокруг РБПО за 25 вебинаров: ГОСТ Р 56939-2024"!
Друзья, напоминаем, что совместно с Учебным Центром "МАСКОМ" мы организовываем цикл вебинаров, посвященных разбору 25 процессов РБПО.
Сегодня в 16:00 состоится второй вебинар⚡️
Тема: "Обучение сотрудников"
Регистрация на этот и последующие вебинары доступна по ссылке🔗
Присоединяйтесь к путешествию вокруг РБПО вместе с нами!
Друзья, напоминаем, что совместно с Учебным Центром "МАСКОМ" мы организовываем цикл вебинаров, посвященных разбору 25 процессов РБПО.
Сегодня в 16:00 состоится второй вебинар
Тема: "Обучение сотрудников"
Регистрация на этот и последующие вебинары доступна по ссылке
Присоединяйтесь к путешествию вокруг РБПО вместе с нами!
Please open Telegram to view this post
VIEW IN TELEGRAM
❤3
РБПО-037. Процесс 4 — Управление конфигурацией программного обеспечения
Цели четвёртого процесса по ГОСТ Р 56939-2024:
Для небольших компаний с одним-двумя проектами под одну платформу первый пункт может смотреться избыточным. Нумеруем релизы и всё. Что ещё нужно?
Процесс обретает значимость и пользу, когда компания разрабатывает линейку различных (иногда схожих) продуктов под разные платформы. Могут существовать различные конфигурации для различных пользователей. Возможно одновременное использование разных версий продукта в разных (а иногда и в одной) компании.
Чтобы не запутаться во всём этом, есть смысл выработать чёткие правила именования продуктов, идентификации различных версий релизов, документации и т.д.
При разработке регламента идентификации ПО (версий ПО, модулей ПО) можно оттолкнуться от ГОСТ 19.103-77. Единая система программной документации. Обозначение программ и программных документов.
ГОСТ Р 56939-2024 даёт следующее определение управлению конфигурацией программного обеспечения:
Если честно, это определение мало что даёт :) Поэтому вот дополнительные ссылки:
• Управление конфигурацией.
• Конфигурационное управление.
Цели четвёртого процесса по ГОСТ Р 56939-2024:
5.4.1.1 Осуществление уникальной идентификации ПО, документации на ПО, других элементов, подлежащих отслеживанию в рамках управления конфигурацией ПО (элементов конфигурации).
5.4.1.2 Контроль реализации изменений ПО, документации на ПО, других элементов, подлежащих отслеживанию в рамках управления конфигурацией ПО (элементов конфигурации).
Для небольших компаний с одним-двумя проектами под одну платформу первый пункт может смотреться избыточным. Нумеруем релизы и всё. Что ещё нужно?
Процесс обретает значимость и пользу, когда компания разрабатывает линейку различных (иногда схожих) продуктов под разные платформы. Могут существовать различные конфигурации для различных пользователей. Возможно одновременное использование разных версий продукта в разных (а иногда и в одной) компании.
Чтобы не запутаться во всём этом, есть смысл выработать чёткие правила именования продуктов, идентификации различных версий релизов, документации и т.д.
При разработке регламента идентификации ПО (версий ПО, модулей ПО) можно оттолкнуться от ГОСТ 19.103-77. Единая система программной документации. Обозначение программ и программных документов.
ГОСТ Р 56939-2024 даёт следующее определение управлению конфигурацией программного обеспечения:
3.19 управление конфигурацией программного обеспечения: Скоординированные действия, направленные на формирование и контроль конфигурации программного обеспечения.
Если честно, это определение мало что даёт :) Поэтому вот дополнительные ссылки:
• Управление конфигурацией.
• Конфигурационное управление.
🔥3
Побывал на десятой юбилейной конференции Certification Day 2025, организованной компанией Лаборатория Касперского. Запись докладов уже выложили.
Принципиально нового не узнал, так как и так отслеживаю новости на тему РБПО. Но некоторые интересные моменты были, плюс познавательное общение в кулуарах. Спасибо за вечернюю программу.
Было приятно увидеть PVS-Studio на слайде Дмитрия Шмойлова, как один из первых этапов становления РБПО в компании в 2016 году.
Из неформальных общений с участниками конференции вынес для себя три момента.
1. Есть общее недопонимание и терминологическая путаница при обсуждении сертификации ПО. Думаю, мы сделаем вместе с УЦ МАСКОМ и НПО «Эшелон» отдельный вебинар на эту тему.
2. Есть вопросы по статье «Итоги этапа «Домашнее задание» испытаний статических анализаторов под патронажем ФСТЭК России» и некорректная её интерпретация. Дополнительно убедился, что надо сделать статью на эту тему, а возможно и какой-то вебинар.
3. Есть запрос на материалы, связанные с темой подготовкой к сертификации и возможность посмотреть какие-то примеры. Интересует узнать опыт других компаний. Тут пока не понятно, что и как можно сделать и как дополнительно помогать в информировании, но подумаем.
Принципиально нового не узнал, так как и так отслеживаю новости на тему РБПО. Но некоторые интересные моменты были, плюс познавательное общение в кулуарах. Спасибо за вечернюю программу.
Было приятно увидеть PVS-Studio на слайде Дмитрия Шмойлова, как один из первых этапов становления РБПО в компании в 2016 году.
Из неформальных общений с участниками конференции вынес для себя три момента.
1. Есть общее недопонимание и терминологическая путаница при обсуждении сертификации ПО. Думаю, мы сделаем вместе с УЦ МАСКОМ и НПО «Эшелон» отдельный вебинар на эту тему.
2. Есть вопросы по статье «Итоги этапа «Домашнее задание» испытаний статических анализаторов под патронажем ФСТЭК России» и некорректная её интерпретация. Дополнительно убедился, что надо сделать статью на эту тему, а возможно и какой-то вебинар.
3. Есть запрос на материалы, связанные с темой подготовкой к сертификации и возможность посмотреть какие-то примеры. Интересует узнать опыт других компаний. Тут пока не понятно, что и как можно сделать и как дополнительно помогать в информировании, но подумаем.
👍5🔥4❤1👏1
Запись второй встречи цикла «Вокруг РБПО за 25 вебинаров. ГОСТ Р 56939-2024». Процесс N2: Обучение сотрудников.
PVS-Studio
Вебинар 2. Обучение сотрудников
В рамках второго вебинара цикла «Вокруг РБПО за 25 вебинаров. ГОСТ Р 56939-2024» вместе с приглашенными экспертами разобрали тему Обучение сотрудников.
🔥4👍2👏1
РБПО-038. Процесс 5 — Управление недостатками и запросами на изменение программного обеспечения (часть 1/3)
Цели пятого процесса по ГОСТ Р 56939-2024:
Сейчас разработку программных проектов сложно представить без системы контроля версий и системы управления задачами (багтрекера). Команды разработчиков отлично понимают ценность этих инструментов и как они помогают в процессе разработки и сопровождения.
Так или иначе, эти инструменты уже используются в компаниях, а если нет, то про РБПО говорить рано, надо в целом подтягивать уровень процессов :) В общем, про такой крайний случай мы не говорим. Считаем, что системы контроля изменений/недостатков и системы контроля версий уже применяются. Следующий шаг — сделать использование этих систем более управляемым и контролируемым процессом благодаря внедрению регламентов.
Требования к реализации:
Дополнительные ссылки:
1. Александр Мешков. Как выстроить эффективный процесс управления дефектами?
2. Wikipedia. Система управления версиями.
3. Андрей Рассамакин. Управление инцидентами и проблемами — понятия и принципы.
4. AppSec Table Top: методология безопасной разработки от Positive Technologies. См. инициативы: Система контроля версий — стр. 49, Порядок работы с дефектами — стр. 78.
Цели пятого процесса по ГОСТ Р 56939-2024:
5.5.1.1 Обеспечение управления недостатками ПО.
5.5.1.2 Обеспечение управления запросами на изменение ПО.
Примечание — Управление недостатками и запросами на изменение ПО способствует систематическому устранению ошибок программирования, отклонений от заданных требований и корректировке требований в необходимых случаях путем осуществления запросов на изменение ПО — предложений о добавлении, модификации или удалении каких-либо элементов (модулей, компонентов, функциональных возможностей) ПО.
Сейчас разработку программных проектов сложно представить без системы контроля версий и системы управления задачами (багтрекера). Команды разработчиков отлично понимают ценность этих инструментов и как они помогают в процессе разработки и сопровождения.
Так или иначе, эти инструменты уже используются в компаниях, а если нет, то про РБПО говорить рано, надо в целом подтягивать уровень процессов :) В общем, про такой крайний случай мы не говорим. Считаем, что системы контроля изменений/недостатков и системы контроля версий уже применяются. Следующий шаг — сделать использование этих систем более управляемым и контролируемым процессом благодаря внедрению регламентов.
Требования к реализации:
5.5.2.1 Разработать регламент управления недостатками ПО.
5.5.2.2 Разработать регламент управления запросами на изменение ПО.
5.5.2.3 Контролировать реализацию изменений, связанных с недостатками ПО.
5.5.2.4 Контролировать реализацию запросов на изменение в рамках жизненного цикла ПО.
5.5.2.5 Использовать средства автоматизации для управления недостатками и запросами на изменение разрабатываемого ПО.
Примечание — В качестве средств автоматизации рекомендуется использовать системы управления изменениями, системы управления задачами, системы контроля версий и т. п. При этом рекомендуется обеспечивать взаимосвязь (перекрестные ссылки) между такими системами при исправлении недостатков.
Дополнительные ссылки:
1. Александр Мешков. Как выстроить эффективный процесс управления дефектами?
2. Wikipedia. Система управления версиями.
3. Андрей Рассамакин. Управление инцидентами и проблемами — понятия и принципы.
4. AppSec Table Top: методология безопасной разработки от Positive Technologies. См. инициативы: Система контроля версий — стр. 49, Порядок работы с дефектами — стр. 78.
🔥1
РБПО-039. Процесс 5 — Управление недостатками и запросами на изменение программного обеспечения (часть 2/3)
Рассмотрим артефакты 5-го процесса ГОСТ Р 56939-2024.
Даже если явно это не прописано, на практике в командах действуют устоявшиеся правила об исправлениях, обзорах кода, тестировании правок и закрытии тикетов. Если это так, то внедрение РБПО — хороший повод их формализовать и записать в регламент. Скорее всего, существующие процессы при этом мало модифицируются, и регламент не внесёт дополнительные сложности в работу команды. Случай, когда каждый делал, что хотел, я не рассматриваю :)
У нас нет именно документа-регламента, т.к. мы пока не планируем проходить сертификацию, но есть заготовленные чек-листы для различных типов задач. Если до этого дойдёт, то думаю, эти чек-листы как раз и станут основой регламента. Как я понимаю, основная идея регламента — не пропустить этап (например, тестирование) и быть уверенным, что если задача закрыта, то значит она сделана. Для этого и нужны чек-листы.
Пример одной нашей заготовки, из которой формируется задача, когда выходит новая версия IDE Qt Creator. Т.е. на основании этой заготовленного чек-листа ставится задача провести работы по проверке совместимости PVS-Studio с новой версией Qt Creator и в случае необходимости что-то доработать. Ссылки заменил на жирный шрифт.
Примечание. Ниже не описание задачи. Как и что делать описано отдельно во внутренней статье. Это именно чек-лист, чтобы что-то не забыть. То, что вне контекста отдельные пункты смотрятся непонятно, это нормально.
Шаблон этой задачи (чек-лист)
Рассмотрим артефакты 5-го процесса ГОСТ Р 56939-2024.
5.5.3.1 Регламент управления недостатками ПО должен содержать:
- порядок идентификации недостатков ПО;
- порядок управления недостатками ПО, включающий сведения о действиях, выполняемых при выявлении, устранении, тестировании, принятии решения об окончании работы с недостатком (закрытии недостатка).
5.5.3.2 Регламент управления запросами на изменение ПО должен содержать:
- порядок идентификации запросов на изменение ПО;
- порядок управления запросами на изменение ПО, включающий сведения о действиях, выполняемых при осуществлении запроса на изменение, тестировании, принятии решения о закрытии запроса на изменение.
Даже если явно это не прописано, на практике в командах действуют устоявшиеся правила об исправлениях, обзорах кода, тестировании правок и закрытии тикетов. Если это так, то внедрение РБПО — хороший повод их формализовать и записать в регламент. Скорее всего, существующие процессы при этом мало модифицируются, и регламент не внесёт дополнительные сложности в работу команды. Случай, когда каждый делал, что хотел, я не рассматриваю :)
У нас нет именно документа-регламента, т.к. мы пока не планируем проходить сертификацию, но есть заготовленные чек-листы для различных типов задач. Если до этого дойдёт, то думаю, эти чек-листы как раз и станут основой регламента. Как я понимаю, основная идея регламента — не пропустить этап (например, тестирование) и быть уверенным, что если задача закрыта, то значит она сделана. Для этого и нужны чек-листы.
Пример одной нашей заготовки, из которой формируется задача, когда выходит новая версия IDE Qt Creator. Т.е. на основании этой заготовленного чек-листа ставится задача провести работы по проверке совместимости PVS-Studio с новой версией Qt Creator и в случае необходимости что-то доработать. Ссылки заменил на жирный шрифт.
Описание всех указанных ниже действий можно найти в документации. В случае возникновения вопросов можно обращаться к ___. На выполнение задачи стоит закладывать не менее двух дней, т.к. часто бывают неожиданные сюрпризы. Начинать стоит только после появления дистрибутива по этой ссылке.
Примечание. Ниже не описание задачи. Как и что делать описано отдельно во внутренней статье. Это именно чек-лист, чтобы что-то не забыть. То, что вне контекста отдельные пункты смотрятся непонятно, это нормально.
Шаблон этой задачи (чек-лист)
✅Узнать требуемую версию Qt
✅Заложить новые компоненты на наше зеркало
✅Qt (Windows, Linux, macOS)
✅Qt Creator (Windows, Linux, macOS)
✅Добавить новую версию Qt в сборочное окружение
✅Windows-контейнер
✅Linux-контейнер
✅Сборочный сервер на macOS
✅Добавить CMake пресет для новой версии
✅Фиксы по коду (Windows, Linux, macOS)
✅Оттестировать новую версию на всех платформах:
✅Windows
✅Linux
✅macOS
✅Добавить новую версию в manifest плагина (extension_manifest.json)
✅Добавить / модифицировать тесты
✅Код-ревью с ___. При его отсутствии (на усмотрение тимлида)
✅Модифицировать pipeline сборки на сервере:
✅Добавить новую версию
✅Убрать прошлую
✅Проверить и актуализировать документацию по разработке плагина
✅Добавить упоминание новой версий в документации плагина
✅Удостовериться, что новая версия плагина добавляется в дистрибутив
✅Добавить новую версию плагина на страницу beta-загрузок - задача
🔥4