Заметки консультанта

Шамрай Александр Владимирович

CMMI DEV v1.3 – Верификация

Posted by Shamrai Alexander на 25 июля, 2011

Перевод Шамрай А.В.

Инженерная процессная область уровня зрелости 3

Назначение

Назначением Верификации (ВЕР) является проверка того, что выбранные рабочие продукты удовлетворяют их указанным требованиям.

Вступительный комментарий

Процессная область Верификация включает в себя следующее: подготовка верификации, выполнение верификации, а также определение корректирующих действий.

Верификация включает в себя верификацию продукта и промежуточных рабочих продуктов на соответствие всем выбранным требованиям, включая требования заказчиков, требования к продукту и компонентам продукта. Для линейки продуктов, основные активы и связанные с ними механизмы вариации линейки продукта также должны быть верифицированы. В этой процессной области, где используются термины «продукт» и «компонент продукта», их предполагаемое значение также включает сервисы, сервисные системы и их компоненты.

Верификация по своей сути инкрементальный процесс, потому что это выполняется на всех этапах разработки продукта и рабочих продуктов, начиная с верификации требований, с продолжающейся верификацией развивающихся рабочих продуктов и оканчивается верификацией готового продукта.

Специфические практики этой процессной области выстраиваются друг за другом в следующей последовательности:

  • Специфическая практика Выбирайте Рабочие Продукты для Верификации позволяет выявлять рабочие продукты, которые будут верифицироваться, методы, которые будут использоваться для выполнения верификации, и требования, которым должны удовлетворять каждый выбранный рабочий продукт.
  • Специфическая практика Устанавливайте Среду Верификации позволяет определить среду, которая будет использоваться для проведения верификации.
  • Специфическая практика Устанавливайте Процедуры и Критерии Верификации позволяет разработать процедуры и критерии верификации, которые согласуются с выбранными рабочими продуктами, требованиями, методами и характеристиками среды верификации.
  • Специфическая практика Выполняйте Верификацию выполняет верификацию в соответствии с имеющимися методами, процедурами и критериями.

Верификация рабочих продуктов существенно повышает вероятность того, что продукт будет отвечать требованиям заказчиков, требованиям к продукту и компонентам продукта.

Процессные области Верификация и Валидация похожи, но они касаются разных вопросов. Валидация демонстрирует, что продукт, как это обеспечено (или как это будет обеспечено), будет соответствовать своему предполагаемому использованию, в то время как верификация определяет, отражает ли рабочий продукт должным образом указанные требования. Другими словами, верификация гарантирует, что «вы сделали это правильно», тогда как валидация гарантирует, что «вы сделали правильную вещь».

Коллегиальные оценки являются важной частью верификации и обеспечивают механизмы для эффективного удаления дефектов. Важным следствием является развитие лучшего понимания рабочих продуктов и процессов, из которых они были произведены, в результате чего дефекты могут быть предотвращены и могут быть идентифицированы возможности для улучшения процессов.

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

Примеры методов коллегиальных оценок включают следующее:

  • Инспекции
  • Структурированный критический анализ
  • Преднамеренный рефакторинг
  • Парное программирование

В Agile среде, верификация и валидация взаимно поддерживают друг друга вследствие вовлечения заказчиков и частых релизов. Например, дефект может быть причиной преждевременного провала валидации прототипа или раннего релиза. И наоборот, ранняя и непрерывная валидация помогает обеспечить применение верификации для разработки правильного продукта. Процессные области Верификация и Валидация позволяют обеспечить системный подход к выбору рабочих продуктов, которые будут рассмотрены и протестированы, методов и среды, которые будут использоваться, а также управление, которое поможет обеспечить раннее выявление и устранение дефектов. Чем сложнее продукт, тем более системный подход необходим для проверки совместимости между требования и решениями, а также соответствия с тем как продукт будет использоваться. (См. «CMMI при использовании Agile подходов» в части I.)

Связанные процессные области

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

См. процессную область Валидация для получения дополнительной информации о демонстрации того, что продукт или компонент продукта соответствует своему предполагаемому использованию в своей предполагаемой среде.

См. процессную область Управление Требованиями для получения дополнительной информации об обеспечении согласованности между проектными работами и требованиями.

Перечень специфических целей и практик

  • СЦ 1 Подготовиться к Верификации
    • СП 1.1 Выбирайте Рабочие Продукты для Верификации
    • СП 1.2 Устанавливайте Среду Верификации
    • СП 1.3 Устанавливайте Процедуры Верификации
  • СЦ 2. Выполнить Коллегиальные Оценки
    • СП 2.1 Подготавливайтесь к Коллегиальным Оценкам
    • СП 2.2 Проводите Коллегиальные Оценки
    • СП 2.3 Анализируйте Данные Коллегиальных Оценок
  • СЦ 3 Выполнить Верификацию для Выбранных Рабочих Продуктов
    • СП 3.1 Выполняйте Верификацию
    • СП 3.2 Анализируйте Результаты Верификации

Специфические практики по целям

СЦ 1 Подготовиться к Верификации

Проведена подготовка к верификации.

Предварительная подготовка необходима для обеспечения включения положений верификаций в требования к продукту и компонентам продукта, проектирование, планов разработки и расписания работ. Верификация включает в себя отбор, инспекцию, тестирование, анализ и демонстрацию рабочих продуктов.

Методы верификации включают инспекции, коллегиальные оценки, аудиты, критические анализы, анализы, архитектуры оценки, симуляции, тестирование и демонстрации, но не ограничиваются этим. Практики, которые относятся к коллегиальным оценкам, как специфический метод верификации включены в специфическую цель 2.

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

СП 1.1 Выбирайте Рабочие Продукты для Верификации

Выбирайте рабочие продукты для верификации и методы верификации, которые будут использоваться.

Рабочие продукты отбираются на основе их уровня содействия в достижении целей проекта и требований, а также на основе их влияния на проектные риски.

Рабочие продукты, которые должны быть верифицированы, могут включать в себя элементы, связанные с обслуживанием, обучением и технической поддержкой. Требования к рабочим продуктам для верификации включаются с методами верификации. Методы верификации отражают подходы к верификации рабочих продуктов и специфические подходы, которые будут использоваться для верификации того что специфические рабочие продукты удовлетворяют их требованиям.

Примеры методов верификации включают в себя следующее:

  • Оценка архитектуры программного обеспечения и оценка соответствия реализации
  • Тестовое покрытие
  • Нагрузочное, стрессовое и тестирование производительности
  • Тестирование на основе таблицы решений
  • Тестирование на основе функциональной декомпозиции
  • Повторное использование тестовых сценариев
  • Приемочное тестирование
  • Непрерывная интеграция (как Agile подход, который заранее определяет проблемы интеграции)

Верификация для системной инженерии обычно включает в себя прототипирование, моделирование и симуляции для верификации адекватности систем (и распределения).

Верификация для аппаратного обеспечения как правило требует параметрический подход, который рассматривает различные условия среды (например, давление, температура, вибрация, влажность), различные диапазоны ввода (например, входная мощность может быть рассчитана от 20 В до 32 В для запланированного номинала 28В), вариации вызванные проблемами устойчивости зависимых частей и многие другие переменные. Аппаратная верификация обычно тестирует большинство переменных по отдельности в исключении случаев, когда возможны проблемы взаимодействия.

Выбор методов верификации обычно начинается с определения продукта и требований к продукту и компонентам продукта для оценки того, что требования проверяемы. При повторной верификации методы верификации направлены на проверку того, что изменения рабочих продуктов не приводят к непреднамеренным дефектам. Поставщики должны быть вовлечены в этот выбор, чтобы проектные методы соответствовали среде поставщика.

Пример рабочих продуктов

1. Списки рабочих продуктов, выбранных для верификации

2. Методы верификации для каждого выбранного рабочего продукта

Подпрактики

1. Определяйте рабочие продукты для верификации.

2. Определяйте требования, которым должны удовлетворять каждый выбранный рабочий продукт.

См. специфическую практику Поддерживайте Двунаправленную Трассировку Требований процессной области Управление Требованиями для получения дополнительной информации о трассировке требований с рабочими продуктами.

3. Определяйте методы верификации, доступные для использования.

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

5. Запланируйте интеграцию плана проекта и идентификацию рабочих продуктов, которые должны быть верифицированы, требования, которые должны быть удовлетворены, и методы, которые будут использоваться.

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

СП 1.2 Устанавливайте Среду Верификации

Устанавливайте и поддерживайте среду, необходимую для поддержки верификации.

Среда должна быть установлена для возможности проведения верификации. Среда верификации может быть приобретена, разработана, повторно использована, модифицирована или получена с помощью комбинации этих мероприятий в зависимости от потребностей проекта.

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

Пример рабочих продуктов

1. Среда верификации

Подпрактики

1. Определяйте требования к среде верификации.

2. Определяйте ресурсы верификации, которые доступны для повторного использования или модификации.

3. Определяйте оборудование и инструменты верификации.

4. Приобретайте оборудование и среду для поддержки верификации (например, оборудование для тестирования, программное обеспечение).

СП 1.3 Устанавливайте Процедуры и Критерии Верификации

Устанавливайте и поддерживайте процедуры и критерии верификации для выбранных рабочих элементов.

Критерии верификации определяются для обеспечения того что рабочие продукты соответствуют их требованиям.

Примеры источников для критериев верификации включают в себя следующее:

  • Требования к продукту и компонентам продукта
  • Стандарты
  • Организационные политики
  • Тип тестирования
  • Параметры тестирования
  • Параметры для взвешенного выбора между качеством и стоимостью тестирования
  • Тип рабочих продуктов
  • Поставщики
  • Предложения и соглашения
  • Оценка рабочих продуктов заказчика совместно с разработчиками

Пример рабочих продуктов

1. Процедуры верификации

2. Критерии верификации

Подпрактики

1. Создавайте по мере необходимости набор комплексных, интегрированных процедур верификации для рабочих продуктов и для коммерческих готовых продуктов.

2. Разрабатывайте и уточняйте по мере необходимости критерии верификации.

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

4. Определяйте оборудование и компоненты среды, необходимые для поддержки верификации.

СЦ 2 Выполнить Коллегиальные Оценки

Коллегиальные оценки выполнены для выбранных рабочих продуктов

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

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

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

СП 2.1 Подготавливайтесь к Коллегиальным Оценкам

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

Мероприятия по подготовке коллегиальных оценок обычно включают в себя выявление сотрудников, которым будет предложено принять участие в коллегиальной оценке для каждого рабочего продукта, определение ключевых рецензентов, которые должны участвовать в коллегиальной оценке, подготовка и обновление материалов, которые будут использоваться во время проведения коллегиальных оценок, такие как контрольные списки и критерии оценки, и календарное планирование коллегиальных оценок.

Пример рабочих продуктов

1. График коллегиальных оценок

2. Контрольный список коллегиальной оценки

3. Критерии начала и окончания для рабочих продуктов

4. Критерии, которые описывают требования для необходимости проведения другой коллегиальной оценки

5. Коллегиальная оценка учебных материалов

6. Выбранные для рецензирования рабочие продукты

Подпрактики

1. Определяйте тип коллегиальной оценки, которая будет проводиться.

Примеры типов коллегиальных оценок включают следующее:

  • Инспекции
  • Структурированный критический анализ
  • Активное рецензирование
  • Оценка соответствия архитектуры реализации

2. Определяйте требования для сбора данных в ходе коллегиальной оценки.

См. процессную область Измерения и Анализ для получения дополнительной информации о получении данных измерений.

3. Устанавливайте и поддерживайте критерии начала и окончания для коллегиальной оценки.

4. Устанавливайте и поддерживайте критерии, которые описывают требования для необходимости проведения другой коллегиальной оценки.

5. Устанавливайте и поддерживать контрольные списки для подтверждения того, что рабочие продукты проверяются последовательно.

Примеры элементов, затрагиваемых контрольными списками, включают следующее:

  • Правила построения
  • Руководства для проектирования
  • Полнота
  • Правильность
  • Возможность поддержки
  • Общие типы дефектов

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

6. Разрабатывайте детальный календарный график коллегиальной оценки, в том числе даты для обучения коллегиальным оценкам и того, когда материалы для проведения коллегиальных оценок будут доступны.

7. Убедитесь, что рабочий продукт удовлетворяет критериям начала коллегиальной оценки перед его передачей.

8. Заранее распределяйте рабочие продукты для оценки и соответствующую информацию для участников, чтобы дать им возможность адекватно подготовиться к коллегиальной оценке.

9. Назначайте в случае необходимости роли для коллегиальной оценки.

Примеры роли включают следующее:

  • Руководитель
  • Читатель
  • Записывающий
  • Автор

10. Подготавливайтесь к коллегиальной оценке, просматривая рабочие продукты до проведения коллегиальной оценки.

СП 2.2 Проводите Коллегиальные Оценки

Проводите коллегиальные оценки для рабочих продуктов и идентифицируйте проблемы, полученные в результате этих оценок.

Одной из целей проведения коллегиальной оценки является поиск и устранение дефектов на ранней стадии. Коллегиальные оценки выполняются постепенно по мере того как рабочие продукты разрабатываются. Эти оценки структурированы и не являются управленческими оценками.

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

В центре внимания коллегиальной оценки должно быть анализ рабочего продукта, а не человека, который разработал его.

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

См. процессную область Мониторинг и Контроль Проекта для получения дополнительной информации о мониторинге проекта на соответствие плану.

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

Пример рабочих продуктов

1. Результаты коллегиальных оценок

2. Проблемы коллегиальных оценок

3. Данные коллегиальных оценок

Подпрактики

1. Следуйте назначенным ролям в коллегиальной оценке.

2. Выявляйте и документируйте дефекты и другие проблемы в рабочих продуктах.

3. Записывайте результаты коллегиальной оценки, в том числе конкретные действия.

4. Собирайте данные коллегиальных оценок.

См. процессную область Измерения и Анализ для получения дополнительной информации о получении данных измерений.

5. Определяйте конкретные действия и сообщайте проблемы соответствующим заинтересованным сторонам.

6. Проводите дополнительную коллегиальную оценку в случае необходимости.

7. Убедитесь, что выходные критерии для коллегиальной оценки выполняются.

СП 2.3 Анализируйте Данные Коллегиальных Оценок

Анализируйте данные подготовки, выполнения и результатов коллегиальных оценок.

См. процессную область Измерения и Анализ для получения дополнительной информации о получении данных измерений и анализе данных измерений.

Пример рабочих продуктов

1. Данные коллегиальных оценок

2. Конкретные действия для коллегиальных оценок

Подпрактики

1. Записывайте данные по подготовке, проведению и результатах коллегиальных оценок.

Типичные данные – это название продукта, размер продукта, состав команды коллегиальной оценки, тип коллегиальной оценки, время подготовки рецензента, длина совещания коллегиальной оценки, количество найденных дефектов, тип и происхождение дефекта и так далее. Может быть собрана дополнительная информация о рецензируемом рабочем продукте, например, размер, стадия разработки, рассмотренные режимы работы, а также оцениваемые требования.

2. Храните данные для дальнейшего использования и анализа.

3. Защищайте данные, чтобы гарантировать, что данные коллегиальных оценок используются по назначению.

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

4. Анализируйте данные коллегиальных оценок.

Примеры данных коллегиальных оценок, которые могут быть проанализированы, включают следующее:

  • Фаза, в которой введен дефект
  • Время или скорость подготовки в сравнении с ожидаемым временем или скоростью
  • Количество дефектов в сравнении с числом ожидаемых
  • Типы обнаруженных дефектов
  • Причины дефектов
  • Влияние решения дефектов
  • Пользовательские истории или анализ практических сценариев связанных с дефектом
  • Конечные пользователи и заказчики, которые связаны с дефектами

СЦ 3 Выполнить Верификацию Выбранных Рабочих Продуктов

Выбранные рабочие продукты верифицированы на соответствие их указанным требованиям.

Методы, процедуры и критерии верификации используются для верификации выбранных рабочих продуктов и связанных с ними технической поддержки, обучения и сервисной поддержки, используя соответствующую среду верификации. Мероприятия по верификации должны выполняться на протяжении всего жизненного цикла продукта. Практики, относящиеся к коллегиальным оценкам, как специфический метод верификации включены в специфическую цель 2.

СП 3.1 Выполняйте Верификацию

Выполняйте верификацию для выбранных рабочих продуктов.

Верификация продуктов и рабочих продуктов инкрементально способствует раннему выявлению проблем и может привести к раннему удалению дефектов. Результаты проверки помогают сохранить значительные средства, которые необходимы для локализации ошибок и переделок, связанных с устранением проблем.

Пример рабочих продуктов

1. Результаты верификации

2. Отчеты верификации

3. Демонстрации

4. Журнал процедур запуска

Подпрактики

1. Выполняйте проверку выбранных рабочих продуктов на основе их требований.

2. Записывайте результаты мероприятий по верификации.

3. Определяйте конкретные действия на основе результатов верификации рабочих продуктов.

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

СП 3.2 Анализируйте Результаты Верификации

Анализируйте результаты мероприятий верификации.

Фактические результаты должны быть сопоставлены с установленными критериями проверки, чтобы определить приемлемость.

Результаты анализа записываются в качестве доказательства того, что верификация была проведена.

Для каждого рабочего продукта все имеющиеся результаты верификации постепенно анализируются, чтобы убедиться, что требования были выполнены. Т.к. коллегиальная оценка является одним из нескольких методов верификация, данные коллегиальной оценки должны быть включены в эти мероприятия по анализу, чтобы результаты верификации были проанализированы в достаточной степени.

Отчеты по анализу или документация по запуску методов могут также показать, что плохие результаты верификации связаны с проблемами методов, проблемами критериев или проблемами среды верификации.

Пример рабочих продуктов

1. Отчет об анализе (например, статистические данные о производительности, причинно-следственный анализ несоответствий, сравнение поведения между реальным продуктом и моделями, тенденции)

2. Отчеты о проблемах

3. Запросы на изменение для методов, критериев и условий верификации

Подпрактики

1. Сравнивайте фактические результаты с ожидаемыми результатами.

2. На основании установленных критериев верификации, выявляйте продукты, которые не соответствуют их требованиями, или выявляйте проблемы с методами, критериями или средой верификации.

3. Анализируйте данные о дефектах.

4. Записывайте все результаты анализа в отчеты.

5. Используйте результаты верификации для сравнения фактических измерений и работы на соответствие техническим параметрам производительности.

6. Предоставляйте информацию о том, как дефекты могут быть решены (включая методы, критерии и среду верификации) и инициируйте корректирующие действия.

См. процессную область Мониторинг и Контроль Проекта для получения дополнительной информации об управлении корректирующими действиями.

Оставьте комментарий