Дополнительные требования к составу мер по обеспечению качества функционирования ИС на стадии разработки

3. Организация процесса управления требованиями к разрабатываемым информационным системам. Рекомендуется выстраивание формализованного процесса управления функциональными и нефункциональными требованиями, включающего стадии постановки высокоуровневых требований, их уточнения, классификации и приоритезации, трассировки (отслеживания) на всех стадиях проектирования и реализации функциональных и нефункциональных возможностей ИС. Данный процесс должен позволить обеспечить:

a. Контроль верификации и валидации требований на всех уровнях детализации;

b. Отсутствие противоречий между требованиями;

c. Контроль полного покрытия "бизнес-требований" функциональными и нефункциональными требованиями в проектной документации;

d. Контроль наличия всех необходимых видов тестов и тестовых сценариев в составе Программы и методики испытаний (ПМИ);

e. Формирование полноценной спецификации ИС.

Рекомендуется применение специализированных инструментов, автоматизирующих процесс управления требованиями.

4. Обеспечение и контроль качества кода. Рекомендуется вводить в процесс разработки процедуры обеспечения и контроля качества кода такие, как:

- Создание централизованного репозитория исходного кода и используемых артефактов;

- Определение правил проверки кода при помещении в репозиторий;

- Статический анализ кода;

- Процедура Code Review;

- Процесс непрерывной интеграции исходных кодов.

5. Контроль исходных кодов на предмет дефектов (уязвимостей) информационной безопасности. Рекомендуется ввести в процесс разработки обязательную процедуру автоматизированного контроля исходного кода на уязвимости.

6. Модульное тестирование. Практика встраивания модульных (компонентных) тестов в исходные коды. Рекомендуется обязательным требованием к организации процесса разработки определить покрытие исходных кодов модульными тестами и процедуру их проведения до и во время сборки.

7. Системное тестирование. Рекомендуется в процесс приемки в эксплуатацию разработанного программного обеспечения, соответственно и в ПМИ, включать различные виды системного тестирования:

- Функциональное тестирование. Проверка соответствия разработанного программного обеспечения функциональным требованиям технического задания (спецификации). Рекомендуется автоматизировать основные функциональные тесты для применения в целях регрессионного тестирования;

- Интеграционное тестирование. Проверка корректности взаимодействия системы с другими внешними и внутренними системами и сервисами;

- Нагрузочное тестирование. Проверка работоспособности ИС под прогнозируемой нагрузкой, выявление дефектов и проблем производительности ИС;

- Тестирование уровня защищенности с точки зрения информационной безопасности.

8. Тестовые пользователи. Рекомендуется предусмотреть возможность применения тестовых учетных записей пользователей, запросы от которых будут корректно распознаваться ИС и не приниматься в продуктивный сценарий работы.