Глава 1 41
Процесс SQA обеспечивает гарантии (от assurance – давать заверения, га-
рантировать), что программные продукты и процессы в жизненном цикле проекта
соответствуют предъявляемым к ним требованиям. Эти гарантии основаны на том,
что SQA планирует и осуществляет контроль и оказание помощи в той деятельно-
сти по проекту, которая непосредственно связана со «встраиванием» в программ-
ные продукты свойств, обеспечивающих качество. SQA устанавливает стандар-
ты, отвечающие передовой практике программной инженерии (нормы, правила,
требования - как к процессам, так и к их продуктам) и контролирует их соблюдение
в ходе ЖЦ. SQA гарантирует, что проблемы, неизбежно возникающие в любой
комплексной деятельности (каковой является совместное выполнение процессов
ЖЦ), своевременно идентифицируются и устраняются, что запланированные про-
цессы пригодны для применения и надлежащим образом выполняются в соответст-
вии с планом и что результаты выполняемых в проекте измерений могут быть ис-
пользованы для регулирования деятельности в процессах ЖЦ. Цель SQA – устано-
вить, почему допускаются ошибки и как они могут быть устранены. Таким образом,
объектом исследований SQA являются в основном процессы ЖЦ ПС, а не про-
граммные продукты (в том числе рабочие продукты), качество которых должно
быть обеспечено.
Для контроля качества программных продуктов (включая все рабочие про-
дукты) предназначены процессы верификации и валидации [10].
Процессы верификации и валидации определяют, действительно ли продук-
ты определенного этапа процесса разработки и сопровождения ПС соответствуют
виду и потребностям данного шага и отвечают требованиям, предъявляемым к ним
в начале этапа, а также в начале процесса. Задача верификации и валидации – про-
верить и подтвердить, что конечный программный продукт будет отвечать сво-
ему назначению и удовлетворять пользователей. Эти процессы контролируют каче-
ство путем выявления ошибок в продуктах процессов ЖЦ, не исследуя коренных
причин появления этих ошибок.
Цель верификации – исследуя трансформации одних (входных) рабочих
продуктов в другие (выходные) рабочие продукты проверить, правильно ли разра-
батывается программный продукт (например, правильный ли код программного
модуля по отношению к спецификации проекта этого модуля).
Цель валидации – исследуя совокупность рабочих продуктов, полученных на
определенном этапе процесса разработки, убедиться в том, что они разработаны
правильно, то есть отвечают назначению и специфицированным исходным требо-
ваниям к программному продукту (например, совокупность программных модулей
действительно представляет требуемый программный продукт, совокупность вы-
полненных тестов действительно достаточна для проверки всех функций ПС и т.п.).
И процесс верификации, и процесс валидации должны выполняться, начиная
с самых ранних стадий ЖЦ ПС и применительно ко всем рабочим продуктам раз-
работки (включая, например, планы). Эти процессы тесно взаимосвязаны и обычно
определяются одним термином «верификация и валидация», которому соответству-
ет термин «Verification and Validation» (V&V), используемый в зарубежной литера-
туре.
Нужно отметить, что контроль процессов SQA и V&V осуществляет руково-
дство проекта или организации (для независимого SQA или независимой верифи-
кации и валидации), а сами процессы координируют свои действия по проверке