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

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

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

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

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

В настоящий момент этот показатель регулируется международным стандартом ISO/IEC 25010:2011. Данный стандарт устанавливает многоуровневую систему оценки качества ПО, основанную на восьми базовых характеристиках.

Параметры качества ПО

Основные характеристики качества программного обеспечения согласно стандарту ISO/IEC 25010:2011:

  1. Функциональность. ПО признается функциональным, если выполняет возложенные на него задачи, отвечает заданным потребностям пользователей. Данный аспект предполагает правильную и точную работу, совместимость всех входящих в состав компонентов.
  2. Надежность. Под надежностью ПО понимают бесперебойное выполнение возлагаемых на него задач на заданных условиях в течение установленного времени.
  3. Юзабилити (удобство использования). Этот параметр характеризует степень удобства ПО для пользователей, его наглядность, легкость эксплуатации и изучения.
  4. Эффективность. Параметру соответствует степень обеспечения продуктом необходимой производительности при заданных условиях.
  5. Удобство сопровождения. Этот показатель характеризует простоту анализа, тестирования, коррекции компонентов ПО, его обслуживания, а также степень адаптации к новым условиям.
  6. Портативность. Степень легкости его переноса на другую платформу. Обеспечение качества ПО предполагает его проверку по каждому из перечисленных параметров, выявление слабых сторон и устранение неисправностей.
  7. Совместимость. Способность программных компонентов взаимодействовать друг с другом.
  8. Защищенность, т.е. минимизация угроз, связанных с несанкционированным чтением, изменением информации и т. д. Угрозы могут быть также связаны с некорректным использованием ПО, внешним воздействием со стороны посторонних лиц, выходом из строя технических средств.

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

Термины «тестирование» и «обеспечение качества», безусловно, связаны между собой, но не тождественны. В чем же различие?

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

В задачи QA-специалистов входит:

  • формирование критериев качества;
  • планирование мероприятий по соблюдению критериев на каждом этапе разработки продукта;
  • выбор инструментов тестирования;
  • тестирование продукта;
  • расчет KPI;
  • предотвращение появления ошибок и усовершенствование процесса.

Тестирование – проверка программного обеспечения на соответствие требованиям.

Таким образом, вы видите, что обеспечение качества – более широкое понятие, которое включает в себя работы по тестированию.

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

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

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

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

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

Определение IEEE: Качество программного обеспечения - это степень, в которой оно обладает требуемой комбинацией свойств.

Основным стандартом качества в области инженерии программного обеспечения в настоящее время является стандарт ISO/IEC 9126:1-4:2002 (ГОСТ Р ИСО/МЭК 9126-93). В дополнение к нему выпущен набор стандартов ISO/IEC 14598, регламентирующий способы оценки характеристик качества. В совокупности они образуют модель качества, известную под названием SQuaRE (Software Quality Requirements and Evaluation).

В соответствии со стандартом ISO 9126 общее представление о качестве программного средства (ПС) рекомендуется описывать тремя взаимодействующими и взаимозависимыми метриками характеристик качества, отражающими:

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

Внешние и внутренние характеристики качества касаются свойств самой программной системы и отражают взгляд заказчика и разработчика на нее. Однако конечный пользователь ждет достижения максимального совокупного эффекта от применения ПС - повышения продуктивности работы и общей удовлетворенности программным продуктом. Такой взгляд на качество программной системы обозначается термином «качество при использовании» или «эксплуатационное качество» программного средства.

Атрибуты программной системы, характеризующие ее качество, измеряются с использованием метрик качества. Метрика - это комбинация конкретного метода измерения (способа получения значений), атрибута сущности и шкалы измерения (средства, используемого для структурирования получаемых значений). Метрика определяет меру атрибута - переменную, которой присваивается значение в результате измерения.

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

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

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

Система измерения качества

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

Метрики качества в использовании отражают, в какой степени продукт удовлетворяет потребностям конкретных пользователей в достижении заданных целей. Эти метрики не отражены в числе шести базовых характеристик, регламентируемых стандартом ISO 9126-1 вследствие их общности, однако рекомендуются для интегральной оценки результатов функционирования и применения комплексов программ в стандарте ISO 9126-4.

Общий подход к моделированию качества программного обеспечения заключается в том, чтобы сначала идентифицировать небольшой набор атрибутов (характеристик) качества самого высокого уровня абстракции и затем в направлении «сверху вниз» разбить эти атрибуты на наборы подчиненных атрибутов. Стандарт ISO/IEC 9126 является типичным примером такого подхода.

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

Первая часть стандарта - ISO 9126-1 - распределяет атрибуты качества программных средств по шести характеристикам, используемым в остальных частях стандарта. Исходя из принципиальных возможностей их измерения, все характеристики могут быть объединены в три группы, к которым применимы разные категории метрик:

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

Вторая и третья части стандарта - ISO 9126-2 и ISO 9126-3 - посвящены формализации соответственно внешних и внутренних метрик характеристик качества сложных программных средств. Все таблицы содержат унифицированную рубрикацию, где отражены имя и назначение метрики; метод ее применения; способ измерения, тип шкалы метрики; тип измеряемой величины; исходные данные для измерения и сравнения; а также этапы жизненного цикла программного средства (по ISO 12207), к которым применима метрика.

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

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

Функциональные возможности (Functionality)

Способность программного обеспечения реализовать установленные или предполагаемые потребности пользователей

Пригодность для применения по назначению (Suitability)

Наличие и соответствие набора функций конкретным задачам

Правильность/корректность реализации требований (Accuracy)

Способность программного обеспечения обеспечивать правильность (или соответствие) результатов

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

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

Согласованность (Compliance)

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

Защищенность/безопасность функционирования (Security)

Способность ПО предотвращать несанкционированный доступ (случайный или преднамеренный) к программам и данным

Надежность (Reliability)

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

Стабильность/уровень завершенности (Maturity)

Характеризуется частотой отказов, вызванных наличием ошибок в программном обеспечении

Устойчивость к ошибке (Fault tolerance)

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

Восстанавливаемость после проявления дефектов (Recoverability)

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

Практичность (Usability)

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

Понятность функций и документации (Understandability)

Характеризует усилия пользователя по пониманию общей логической концепции ПО и его применимости

Изучаемость процессов функционирования и применения (Learnability)

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

Простота использования (Operability)

Характеризует усилия пользователя по эксплуатации и оперативному управлению ПО

Эффективность (Efficiences)

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

Временная эффективность реализации комплекса программ (Time behavior)

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

Используемость вычислительных ресурсов (Resource behavior)

Характеризуется объемом используемых ресурсов и продолжительностью использования ПО при выполнении функции

Сопровождаемость (Maintainability)

Характеризует объем работ, требуемых для проведения конкретных изменений (модификаций)

Анализируемость (Analysability)

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

Изменяемость компонентов и комплекса программ (Changeability)

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

Устойчивость (Stability)

Характеризует риск от непредвиденных эффектов модификации

Тестируемость изменений при сопровождении (Testability)

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

Мобильность (Portability)

Способность программного обеспечения быть перенесенным из одного окружения в другое

Адаптируемость к изменениям среды (Adaptability)

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

Простота установки / внедрения / инсталляции после переноса (Installability)

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

Соответствие (Confortncnce)

Способность программного обеспечения подчиняться стандартам или соглашениям, относящимся к мобильности

Взаимозаменяемость компонентов при корректировке комплекса программ (Replaceability)

Характеризует простоту и трудоемкость применения данного ПО вместо другого конкретного программного средства в среде этого средства

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

1.1 Основные положения стандартов серии исо 9000

Во-первых, под стандартами серии ИСО 9000 понимаются все международные стандарты, разработанные Техническим комитетом 176 “Административное управление качеством и обеспечении качества” Международной организации по стандартизации (ИСО). В настоящее время серия содержит все международные стандарты с номерами от 9000 до 9004 (включая все части ИСО 9000 и ИСО 9004), от 10001 до 10020 (включая все части), а также ИСО 8402. Ниже приведены названия основных стандартов, составляющих данную серию.

ИСО 9000-1-94 Стандарты в области административного управления качеством и обеспечения качества. Часть 1. Руководящие положения по выбору к применению.

ИСО 9000-2-93 Стандарты в области административного управления качеством и обеспечения качества. Часть 2. Общие руководящие положения по применению ИСО 9001,ИСО 9002 и ИСО 9003.

ИСО 9000-3-91 Стандарты в области административного управления качеством и обеспечения качества. Часть 3. Руководящие положения по применению ИСО 9001 при разработке, поставке и техническом обслуживании ПО.

ИСО 9000-4-93 Стандарты в области административного управления качеством и обеспечения качества. Часть 4. Руководящие положения по административному управлению программой общей надежности.

ИСО 9001-94 Системы качества. Модель для обеспечения качества при проектирование, разработке, производстве, монтаже и обслуживании.

ИСО 9002-94 Системы качества. Модель для обеспечения качества при производстве, монтаже и обслуживании.

ИСО 9003-94 Системы качества. Модель для обеспечения качества при контроле готовой продукции и заключительных испытаниях.

ИСО 9004-1-94 Административное управление качеством и элементы системы качества. Часть 1. Руководящие положения.

ИСО 9004-2-91 Административное управление качеством и элементы системы качества. Часть 2. Руководящие положения по услугам.

ИСО 9004-3-93 Административное управление качеством и элементы системы качества. Часть 3. Руководящие положения по обработанным материалам.

ИСО 9004-4-93 Административное управление качеством и элементы системы качества. Часть 4. Руководящие положения по повышению качества.

ИСО 10011-1-90 Системы качества. Руководящие положения по проверкам. Часть 1. Проверки.

ИСО 10011-2-91 Системы качества. Руководящие положения по проверкам. Часть 2. Критерии квалификации экспертов-аудиторов систем качества.

ИСО 10011-3-91 Системы качества. Руководящие положения по проверкам. Часть 3. Административное управление программами проверок.

ИСО 10012-1-92 Обеспечение качества измерительного оборудования. Требования. Часть 1. Системы метрологического обеспечения измерительного оборудования.

ИСО 10013 Руководства по качеству. Положения по разработке. (На стадии издания).

ИСО 8402-94 Управление качеством и обеспечение качества. Словарь.

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

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

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

Кроме того, руководящие положения и требования стандартов серии ИСО 9000 выражены в терминах целей системы качества, которые должны быть достигнуты, и не предписывают способы достижения этих целей, оставляя право выбора этих способов руководству организации. Стандарты данной серии отличают требования к системам качества от требований заказчика к продукции. Требования к системам качества являются дополнительными по отношению к техническим требованиям к продукции. Например, ИСО 12207 устанавливает жизненный цикл разработки программного обеспечения. Процессы и модели качества, соответствующие процессу обеспечения качества (2.3 по ИСО 12207) устанавливаются стандартами серии ИСО 9000.

ИСО 9000-1 идентифицирует четыре общие категории продукции, охватывающие все виды продукции, поставляемые любой организацией:

    Технические средства.

    Программное обеспечение.

    Обработанные материалы.

Требования к системам качества, установленные в международных стандартах серии ИСО 9000 применимы ко всем четырем общим категориям продукции, но терминология и некоторые положения и аспекты систем административного управления качеством могут быть различными. Это видно из названий стандартов ИСО 9004 - 2 и ИСО 9004 - 3. Необходимо отметить, что любая организация предлагает продукцию, как минимум, двух категорий. Например, организация, занимающаяся разработкой программного обеспечения, дополнительно предоставляет своим заказчикам услуги по сопровождению разработанного ПО.

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

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

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

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

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

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

Международные стандарты серии ИСО 9000 основаны на понимании того факта, что всякая работа выполняется с помощью процессов (см. рис.1). Каждый процесс имеет входные факторы. Выходом процесса является результат - продукция, осязаемая и не осязаемая. Сам процесс является (или должен являться) преобразованием, добавляющим стоимость. В каждом процессе принимают участие в той или иной мере люди и/или другие ресурсы. Выходом может быть, например, программа, банковская услуга, готовое (или промежуточное) изделие любой основной категории продукции. Существуют возможности сделать измерения на входе, на различных стадиях процесса, а также на выходе.

Как показано на рис.2 , входы и выходы могут быть нескольких типов: связанные с продукцией (сплошные линии на рис.2) (например, сырье, готовое изделие) и связанные с информацией (пунктирные линии) (например, требования к продукции, информационные характеристики). Данный рисунок представляет процессы поставщика с процессами субпоставщиком и потребителем в сети поставок. В структуре это сети различные входные и выходные факторы перемещаются в разных направлениях. Термин “продукция” относиться здесь ко всем четырем основным категориям продукции.

Административное управление качеством осуществляется с помощью управления процессами в организации. Управление процессом имеет две стороны:

управление структурой и функционированием самого процесса, в рамках которого перемещается продукция или информация;

управление качеством продукции или информации внутри структуры.

Принимая во внимание сложную структуру большинства организаций, важно выделить основные процессы, а также упростить и ранжировать процессы в зависимости от целей административного управления качеством. Примером сложной сети процессов может служить организация, разрабатывающая программное обеспечение согласно ИСО/МЭК 12207 и DO-178.

Рис.1.1 Все работы выполняются с помощью процессов.

Процессы

поставщика

потребителя

требования

Входные факторы

Выходные факторы

Статус и хар-ки

продукции

Статус и хар-ки

продукции

требования

Обратная связь

Обратная связь

субпоставщика

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

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

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

Определены ли эти процессы и документированы ли их процедуры?

Применяются ли эти процессы в полной мере и выполняются ли они согласно документации?

Эффективны ли эти процессы в достижении ожидаемых результатов?

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

Одним из важнейших видов такой деятельности, выполняемой систематически, является оценка статуса и адекватности системы качества, проводимую руководством организации согласно стандартам ИСО 9001, 9002, 9003. Выводы, сделанные в процессе оценки системы качества должны вести к повышению ее эффективности и экономичности. Источником информации для таких выводов являются также результаты внутренних и внешних проверок системы качества.

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

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

Необходимо также обратить внимание на то, в каких ситуациях может применяться стандарты серии ИСО 9000 и способ использования данной серии поставщиком.

Международные стандарты серии ИСО 9000 предназначены для применения в следующих четырех ситуациях.

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

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

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

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

Поставщик может выбрать любой из двух способов использования стандартов серии ИСО 9000: “способ, мотивированный руководством” и “способ, мотивированным заинтересованным лицом”. Наиболее распространенным считается второй способ.

При использование способа, мотивированного заинтересованным лицом, поставщик изначально вводит систему качества как ответ на непосредственные требования потребителей. Система качества должна соответствовать требованиям стандартов ИСО 9001, 9002, 9003. Руководство организации играет ведущую роль при этом способе, но движущей силой является внешнее заинтересованное лицо (потребители).

При использование способа, мотивированного руководством, именно руководство организации начинает прилагать усилия по определению будущих потребностей и тенденций рынка. Инструкцией по первоначальному установлению системы качества, повышающей качество продукции, является стандарт ИСО 9004-1 (и другие части ИСО 9004). Далее поставщик может применить стандарты ИСО 9001, 9002 или 9003, как модель обеспечения качества для демонстрации адекватности системы качества с целью получения сертификата. Система качества, реализуемая этим способом, более емкая и плодотворная, чем реализуемая первым способом.

В стандартах серии ИСО 9000 уделяется пристальное внимание подготовке и использованию документации, как виду деятельности, добавляющем стоимость. Соответствующая документация играет значительную роль в следующих видах деятельности по обеспечению качества:

в достижении требуемого качества продукции;

оценке систем качества;

в повышении качества;

в сохранении достигнутого уровня качества.

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

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

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

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

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

Вам будет интересно:

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

  • Управление дефектами.
  • Атрибут качества.
  • Все, что не соответствует требованию клиента, попадает в разряд дефектов. Команда разработчиков, которая не в состоянии полностью понять требования клиента, будет допускать ошибки проектирования.

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

    Качество программного обеспечения значительно улучшилось за последние два десятилетия. Одна из причин этого заключается в том, что компании используют новые технологии, такие как объектно-ориентированную разработку и инструменты CASE. Кроме того, можно наблюдать растущую важность внедрения методов управления на производстве.

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

    Например, при оценке синтаксического анализатора XML можно использовать набор тестов на соответствие XML W3C. Он включает в себя тесты, разработанные для удовлетворения всех направлений контроля, а также рекомендации W3C Extensible Markup Language (XML) с особым акцентом на требованиях к обработке ошибок в правильности или достоверности документов XML. Таким образом процент пройденных тестовых случаев используется, как метрика для оценки следующих характеристик рассматриваемого XML-анализатора:

    • Перспектива пользователя.
    • Функциональность.
    • Надежность и отказоустойчивость.

    С точки зрения пользователя есть несколько важных характеристик, отвечающих на следующие вопросы:

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

    Считая, что вопросы качества пользователю важны, ИТ-группа, отвечающая за развертывание и обслуживание ПО, может столкнуться с другими проблемами:

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

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

    Требования ISO 9126 к продукту

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

    • Внешние показатели.
    • Внутренние показатели.
    • Модель качества.
    • Показатели качества программного обеспечения.

    Первая часть ISO 9126 является расширением предыдущего стандарта, выполненного McCall (1977), Boehm (1978) и FURPS в определении набора характеристик качества.

    • Функциональность.
    • Надежность.
    • Юзабилити.
    • Ремонтопригодность.
    • Портативность.

    Функциональность продукта

    Вам будет интересно:

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

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

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

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

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

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

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

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

    Характеристики ремонтопригодности:

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

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

    Стоимость процессов анализа

    Стоимость качества рассчитывается путем анализа затрат на соответствие и несоответствие. Цена первого показателя связана с:

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

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

    Дисциплинированный анализ процесса

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

  • Самооценка. Проводится внутри собственного персонала организации.
  • Оценка сторонней организации.
  • Оценка третьей стороной.
  • Аудит процесса ПО выполняется в открытой общей среде с целью улучшения его показателей и с использованием программ обеспечения качества программного обеспечения. Результаты такого аудита являются конфиденциальными для организации.

    Вам будет интересно:

    Что касается сбора данных, то используются четыре метода:

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

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

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

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

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

    Общие принципы обеспечения качества процессов производства во всех отраслях экономики регулируются набором стандартов ISO 9000 . Наиболее важные для разработки ПО стандарты в его составе следующие:

    • ISO 9000:2000 Quality management systems - Fundamentals and vocabulary .

      Системы управления качеством - Основы и словарь. (Аналог - ГОСТ Р-2001).

    • ISO 9001:2000 Quality management systems - Requirements. Models for quality assurance in design, development, production, installation, and servicing .

      Системы управления качеством - Требования. Модели для обеспечения качества при проектировании, разработке, коммерциализации, установке и обслуживании.

      Определяет общие правила обеспечения качества результатов во всех процессах жизненного цикла. (Аналог - ГОСТ Р-2001).

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