Качество программного обеспечения

Теоретическая часть

Вопрос 1

Виды контроля качества программного обеспечения.

Качество программного обеспечения

Как проверить, что требования определены достаточно полно и описывают все, что ожидается от будущей программной системы? Это можно сделать, проследив, все ли необходимые аспекты качества ПО отражены в них. Именно понятие качественного ПО соответствует представлению о том, что программа достаточно успешно справляется со всеми возложенными на нее задачами и не приносит проблем ни конечным пользователям, ни их начальству, ни службе поддержки, ни специалистам по продажам. Да и самим разработчикам создание качественной программы приносит гораздо больше удовольствия.

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

Качество программного обеспечения Различаются понятия внутреннего качества, связанного с характеристиками ПО самого по себе, без учета его поведения; внешнего качества, характеризующего ПО с точки зрения его поведения; и качества ПО при использовании в различных контекстах — того качества, которое ощущается пользователями при конкретных сценариях работы ПО. Для всех этих аспектов качества введены метрики, позволяющие оценить их. Кроме того, для создания добротного ПО существенно качество технологических процессов его разработки.

Функциональность (functionality)

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

o Функциональная пригодность (suitability).

Способность решать нужный набор задач.

o Точность (accuracy).

Способность выдавать нужные результаты.

o Способность к взаимодействию (interoperability).

Способность взаимодействовать с нужным набором других систем.

o Соответствие стандартам и правилам (compliance).

Соответствие ПО имеющимся индустриальным стандартам, нормативным и законодательным актам, другим регулирующим нормам.

o Защищенность (security).

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

  • Надежность (reliability).

Способность ПО поддерживать определенную работоспособность в заданных условиях.

o Зрелость, завершенность (maturity).

Величина, обратная частоте отказов ПО. Обычно измеряется средним временем работы без сбоев и величиной, обратной вероятности возникновения отказа за данный период времени.

o Устойчивость к отказам (fault tolerance).

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

o Способность к восстановлению (recoverability).

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

o Соответствие стандартам надежности (reliability compliance).

Этот атрибут добавлен в 2001 году.

  • Удобство использования (usability) или практичность.

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

o Понятность (understandability).

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

o Удобство обучения (learnability).

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

o Удобство работы (operability).

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

o Привлекательность (attractiveness).

Способность ПО быть привлекательным для пользователей. Этот атрибут добавлен в 2001 году.

o Соответствие стандартам удобства использования (usability compliance).

Этот атрибут добавлен в 2001 году.

  • Производительность (efficiency) или эффективность.

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

o Временная эффективность (time behaviour).

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

o Эффективность использования ресурсов (resource utilisation).

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

o Соответствие стандартам производительности (efficiency compliance).

Этот атрибут добавлен в 2001 году.

  • Удобство сопровождения (maintainability).

Удобство проведения всех видов деятельности, связанных с сопровождение программ.

o Анализируемость (analyzability) или удобство проведения анализа.

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

o Удобство внесения изменений (changeability).

Показатель, обратный трудозатратам на выполнение необходимых изменений.

o Стабильность (stability).

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

o Удобство проверки (testability).

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

o Соответствие стандартам удобства сопровождения (maintainability compliance).

Этот атрибут добавлен в 2001 году.

  • Переносимость (portability).

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

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

o Адаптируемость (adaptability).

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

o Удобство установки (installability).

Способность ПО быть установленным или развернутым в определенном окружении.

o Способность к сосуществованию (coexistence).

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

o Удобство замены (replaceability) другого ПО данным.

Возможность применения данного ПО вместо других программных систем для решения тех же задач в определенном окружении.

o Соответствие стандартам переносимости (portability compliance).

Этот атрибут добавлен в 2001 году.

Перечисленные атрибуты относятся к внутреннему и внешнему качеству ПО согласно ISO 9126. Для описания качества ПО при использовании стандарт ISO 9126-4 предлагает другой, более узкий набор характеристик.

  • Эффективность (effectiveness).

Способность ПО предоставлять пользователям возможность решать их задачи с необходимой точностью при использовании в заданном контексте.

  • Продуктивность (productivity).

Способность ПО предоставлять пользователям определенные результаты в рамках ожидаемых затрат ресурсов.

  • Безопасность (safety).

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

  • Удовлетворение пользователей (satisfaction).

Способность ПО приносить удовлетворение пользователям при использовании в заданном контексте.

Помимо перечисленных характеристик и атрибутов качества, стандарт ISO 9126:2001 определяет наборы метрик для оценки каждого атрибута. Приведем следующие примеры таких метрик.

  • Полнота реализации функций — процент реализованных функций по отношению к перечисленным в требованиях. Используется для измерения функциональной пригодности.
  • Корректность реализации функций — правильность их реализации по отношению к требованиям. Используется для измерения функциональной пригодности.
  • Отношение числа обнаруженных дефектов к прогнозируемому. Используется для определения зрелости.
  • Отношение числа проведенных тестов к общему их числу. Используется для определения зрелости.
  • Отношение числа доступных проектных документов к указанному в их списке. Используется для измерения удобства проведения анализа.
  • Наглядность и полнота документации. Используется для оценки понятности.

Качество программного обеспечения


Похожие статьи.

Понравилась статья? Поделиться с друзьями: