Качество ПО (Software Quality)
Качество программного обеспечения (software quality): Сумма функциональности и технических характеристик программного продукта, отвечающих за возможность выполнения сформулированных или подразумевающихся задач. (ISO 9126)
Качество (quality): Степень, с которой компонент, система или процесс соответствует зафиксированным требованиям и/или ожиданиям и нуждам пользователя или заказчика. (IEEE 610)
Формально стандарт ISO 8402-1986 определяет качество как совокупность функций и характеристик продукта или сервиса, которые обладают способностью удовлетворять явные или неявные требования. Иными словами, качество заключается в соответствии требованиям (conformance to requirements) и пригодности к использованию (fitness for use), т.е. характеризуется набором свойств, определяющих, насколько продукт "хорош" с точки зрения заинтересованных сторон, например, заказчик продукта или пользователь.
ИСО/МЭК 25010 "Модели качества систем и программных продуктов" определяет модель качества программного обеспечения. Эта модель включает в себя восемь показателей качества, которые определяют атрибуты качества элемента тестирования. Тестирование представляет собой действие, которое измеряет важные показатели качества конкретного элемента тестирования.
Показатели качества:
функциональная пригодность: степень, с которой продукт или система обеспечивают выполнение функции в соответствии с заявленными и подразумеваемыми потребностями при использовании при указанных условиях;
уровень производительности: производительность относительно суммы использованных при определенных условиях ресурсов;
совместимость: способность продукта, системы или компонента обмениваться информацией с другими продуктами, системами или компонентами и/или выполнять требуемые функции при совместном использовании одних и тех же аппаратных средств или программной среды;
удобство использования: степень, с которой продукт или система могут быть использованы определенными пользователями для достижения конкретных целей с эффективностью, результативностью и удовлетворенностью в заданном контексте использования;
надежность: степень выполнения системой, продуктом или компонентом определенных функций при указанных условиях в течение установленного периода времени;
защищенность: степень защищенности информации и данных, обеспечиваемая продуктом или системой путем ограничения доступа людей, других продуктов или систем к данным в соответствии с типами и уровнями авторизации;
сопровождаемость: результативность и эффективность, с которыми продукт или система могут быть модифицированы предполагаемыми специалистами по обслуживанию;
переносимость: степень простоты эффективного и рационального переноса системы, продукта или компонента из одной среды (аппаратных средств, программного обеспечения, операционных условий или условий использования) в другую.
Для проверки показателя качества может потребоваться реализация подпроцесса тестирования. Например, планирование и выполнение тестирования для измерения показателя качества защищенности могут потребовать реализации подпроцесса тестирования защищенности (тестирования защищенности).
Каждый из вышеперечисленных показателей качества имеет ряд дочерних характеристик, которые для обеспечения полного представления показателя качества могут быть протестированы. Следует также помнить, что не все показатели качества применимы ко всем системам, например переносимость не может быть важна для одноразовой встроенной системы. Необходимо обратить внимание на то, что приведенный выше перечень показателей качества не всегда является исчерпывающим, в отдельных случаях может потребоваться определение соответствующих дополнительных показателей качества для конкретного элемента тестирования.
Основная последовательность действий при выборе и оценке критериев качества программного продукта включает:
Определение всех лиц, так или иначе заинтересованных в исполнении и результатах данного проекта.
Определение критериев, формирующих представление о качестве для каждого из участников.
Приоритезацию критериев, с учетом важности конкретного участника для компании, выполняющей проект, и важности каждого из критериев для данного участника.
Определение набора критериев, которые будут отслежены и выполнены в рамках проекта, исходя из приоритетов и возможностей проектной команды. Постановка целей по каждому из критериев.
Определение способов и механизмов достижения каждого критерия.
Определение стратегии тестирования исходя из набора критериев, попадающих под ответственность группы тестирования, выбранных приоритетов и целей.
Метод оценки качества на основании цены (value-based quality): Вид оценки качества, где качество определяется ценой. Качественный продукт (или услуга) - тот (или та), которая обеспечивает желаемую производительность по приемлемой стоимости. Качество определяется с помощью процесса принятия решений заинтересованными сторонами путем компромисса между временем, усилиями и финансовыми аспектами. (Garvin)
Метод оценки качества на основе продукта (product-based quality): Взгляд на качество, при котором качество основывается на четко определенном наборе атрибутов качества. Эти атрибуты должны быть объективно измеряемы и представимы в численном виде. Различия в качестве продуктов одного типа могут быть трассируемы к конкретным методам реализации атрибутов качества. (Garvin)
Метод оценки качества на основе производства (manufacturing-based quality): Вид качества, в котором качество продукта или услуги измеряется степенью соответствия предполагаемому дизайну и требованиям. Качество возникает в результате использования процесса (ов). (Garvin)
Метод оценки качества на трансцендентной основе (transcendent-based quality): Вид оценки качества, в котором качество не может быть точно определено, но мы знаем о его присутствии, когда мы видим его, либо знаем о его отсутствии, когда оно отсутствует. Качество зависит от восприятия и эмоциональных чувств лица или группы лиц по отношению к продукту. (Garvin)
Метод оценки качества с точки зрения пользователя (user-based quality): Вид оценки качества, в котором качество определяется как способность удовлетворять потребности, желания и нужды пользователя (ей). Пользователи вряд ли будут использовать продукт или услугу, которая не выполняет их потребности. Это зависит от контекста, так называемый условный подход к качеству, потому что различные деловые характеристики требуют различный уровень качества продукта. (Garvin)
Источники:
Доп. материал:
Роберт Мартин "Идеальный программист. Как стать профессионалом разработки ПО"
Last updated