Ка́чество програ́ммного обеспечения — способность программного продукта при заданных условиях удовлетворять установленным или предполагаемым потребностям (ISO/IEC 25000:2014)Software quality — capability of software product to satisfy stated and implied needs when used under specified conditions: ISO/IEC 25000:2014(en) Systems and software engineering — Systems and software Quality Requirements and Evaluation (SQuaRE) — Guide to SQuaRE .

Другие определения из стандартов: весь объём признаков и характеристик программ, который относится к их способности удовлетворять установленным или предполагаемым потребностям (ГОСТ Р ИСО/МЭК 9126-93, ISO 8402:94)ГОСТ Р ИСО/МЭК 9126-93. Оценка программной продукции. Характеристики качества и руководства по их применениюISO 8402:94. Управление качеством и обеспечение качества. Словарь; степень, в которой система, компонент или процесс удовлетворяют потребностям или ожиданиям заказчика или пользователя (IEEE Std 610.12-1990)The degree to which a system, component, or process meets customer or user needs or expectations: IEEE Std 610.12-1990. IEEE Standard Glossary of Software Engineering Terminology.

Ранние подходы к определению Том Демарко в 1999 году предлагал при оценке качества программного обеспечения учитывать, что «качество программного продукта является показателем того, насколько он меняет мир к лучшему»DeMarco, T., Management Can Make Quality (Im)possible, Cutter IT Summit, Boston, April 1999.

Джеральд Вайнберг в своей работе 1992 года Quality Software Management: Volume 1, Systems Thinking давал определение качества как «значимого для какого-либо человека», подчеркивая тем самым, что понятие качества является по своей природе субъективным — разные люди будут оценивать качество одного и того же программного обеспечения по-разному. Одной из сильных сторон этого определения являются вопросы, на которые должны ответить команды разработчиков программного обеспечения, такие как «Кто те люди, которые будут оценивать наше программное обеспечение?» и «Что будет ценным для них?».

Модели качества Стандарт ISO/IEC 25010:2011 (ГОСТ Р ИСО/МЭК 25010-2015)ISO/IEC 25010:2011 Systems and software engineering — Systems and software Quality Requirements and Evaluation (SQuaRE) — System and software quality modelsГОСТ Р ИСО/МЭК 25010-2015 Информационные технологии. Системная и программная инженерия. Требования и оценка качества систем и программного обеспечения (SQuaRE). Модели качества систем и программных продуктов определяет модель качества продукта, которая включает восемь характеристик верхнего уровня: функциональная пригодность; уровень производительности; совместимость; удобство использования (юзабилити); надёжность; защищённость; сопровождаемость; переносимость (мобильность).

В этом стандарте модель качества продукта () рассматривается отдельно от субъективного качества в использовании, которое может сильно отличаться для различных стейкхолдеров. Модель качества в использовании () включает следующие характеристики верхнего уровня: результативность; производительность; удовлетворённость; свобода от риска; покрытие контекста.

Роберт Гласс в известной книге «Факты и заблуждения профессионального программирования» утверждает, что большинство профессиональных разработчиков согласны с выделением семи показателей качества как основных: переносимость; надёжность; эффективность; удобство использования (юзабилити); ; понятность; модифицируемость.

Среди относительно новых моделей качества программного обеспечения можно упомянуть SQUALE и Quamoco, которые были применены в промышленных условиях, но пока не получили широкого распространения.

См. также Управление качеством Тестирование программного обеспечения Метрика программного обеспечения Технический долг

Примечания

Литература ГОСТ 28195-89 — Оценка качества программных средств

Ссылки OpenQuality.ru | Качество программного обеспечения BugHub. Приложение для демонстрации характеристик качества по модели ISO/IEC 25010

*