Обеспечение качества

Тема 8

Что такое качественное ПО? • Его легко использовать • Оно демонстрирует хорошую производительность • В нем нет ошибок • Оно не портит пользовательские данные при сбоях • Его можно использовать на разных платформах • Оно может работать 24 часа в сутки и 7 дней в неделю • В него легко добавлять новые возможности • Оно удовлетворяет потребности пользователей • Оно хорошо документировано

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

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

1. Характеристики качества

Инженерная задача

Возьмите любую систему (свою или предложенную преподавателем) и её стейкхолдеров (пользователь, разработчик, владелец бизнеса, служба поддержки и т.п.):

  1. для каждого стейкхолдера сформулируйте, что для него значит «качественный продукт» (2–3 пункта);
  2. найдите минимум одну пару требований от разных стейкхолдеров, которые конфликтуют между собой (например, скорость vs безопасность, гибкость vs простота);
  3. расставьте итоговые приоритеты — какой атрибут качества важнее для данной системы и почему.

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

2 Модели качества

Одним числом или общим словом «хорошо» качество не описать — нужна модель, раскладывающая его на конкретные характеристики (функциональная пригодность, надёжность, производительность, сопровождаемость, безопасность и т.д.).

Инженерная задача. Возьмите атрибуты качества из задачи 1 и сопоставьте каждый с характеристикой признанной модели качества (найдите и укажите, какую модель используете). Для каждого атрибута:

  • к какой характеристике модели он относится;
  • достаточно ли этой характеристики, чтобы полностью описать атрибут, или он «размазан» по нескольким характеристикам.

Артефакт: карта соответствия «атрибут качества → характеристика модели».

3 Внутренние метрики качества ПО

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

Инженерная задача

Для одной из характеристик модели качества, выбранной в предыдущей задаче:

  1. подберите 2–3 внутренние метрики, которыми эту характеристику можно измерить по коду;
  2. для каждой метрики определите пороговое значение (или диапазон), которое вы бы сочли приемлемым, и обоснуйте выбор;
  3. укажите, что метрика не покажет — какой риск остаётся неизмеренным даже при хорошем значении метрики.

Артефакт: карта метрик с пороговыми значениями и известными ограничениями.

4. Качество в использовании

Часть качества видна только тогда, когда продукт реально используется: эффективность и результативность для пользователя, удовлетворённость, отсутствие риска, применимость в разных контекстах использования.

Инженерная задача

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

Артефакт: критерии приёмки «качество в использовании», выведенные из внутренних метрик.

5. Оценка качества

Оценка качества — формальная процедура, которая проверяет, соответствует ли продукт заданному (приемлемому) уровню качества.

Инженерная задача

Спроектируйте процедуру оценки для своей системы:

  1. какие артефакты (список атрибутов, карта модели, метрики, критерии использования) станут входом оценки;
  2. кто выполняет оценку и на каком этапе разработки;
  3. как формулируется итоговый вердикт («продукт соответствует уровню качества» / «не соответствует») — по какому правилу из частных результатов складывается общий.

Артефакт: отчёт об оценке качества

6. Процессы управления качеством