Основные показатели качества

Существуют множество различных классификаций показателей качества, задаваемых различными стандартами. Для примера приведем следующую классификацию.

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

Рассмотрим основные показатели.

Функциональная корректность ПС. Зависит от функциональной корректности применяе­мых компонент, методов их достижения и оценивания: детерминировано, стохастические и в реальном времени.

Корректность структуры программ определяется корректностью структуры модулей и корректностью структуры групп программ, построенных из модулей. Для оценки корректности структуры программ используется несколько частных показателей, разли­чающихся степенью охвата тестами структурных компонент про­граммы при отладке. Проверка корректности структурных компо­нент производится статистически по исходным текстам программ.

Корректность обработки данных определяется степенью отлад­ки процесса обработки представительной выборки значений пере­менных в диапазонах их изменения.

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

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

· отсутствие вызова необходимого взаимодействующего модуля;

· вызов модуля, не подлежащего исполнению при данном вы­зове;

· возврат управления от вызванного к вызывающему модулю в точку, не предназначенную для возврата управления.

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

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

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

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

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

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

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

Надежность программ –это способность выполнять задан­ные функ­­­ции в различных условиях. Надежностьявляется внут­ренним свойст­вом систем, проявляющимся только во времени. Причиной нарушения рабо­тоспособности программ при безот­казности аппаратуры всегда является наличие ошибок в программе и/или конфликт между реальны­ми исходными данными, подлежащими обработ­ке, и программой, осуществляющей эту обработку. Для оценки числа ошибок в программе сущеcтвуют различные модели. Приведем две модели оценки числа ошибок в программе (N), в которых вероятность обнаружения ошибок одинаковы и не зависит от времени и сложности причин, вызвавших ошибки. В модели Миллса вносятся S искусственных ошибок. Тогда, n/N=s/S (где n и s число реальных и искусственных найденных ошибок при тестировании соответственно) и N=n*S/s. В простой интуитивной модели программу тестируют две группы тестировщиков. Тогда n1/N=n2/N=n12/n1 (где, n1, n2, n12 – число всех ошибок обнаруженных первой и второй группами и обеими группами соответственно) и N=n1*n2/n12. Работо­спо­соб­ность ПС можно гарантировать при исходных данных, которые исполь­зова­лись при отладке и испытаниях. Реальные исходные данные могут иметь значения, отличающиеся от заданных техническим заданием и от использованных при тестировании. При таких исходных данных функциони­­ро­ва­ние программ трудно предсказать заранее, и поэтому весьма вероятны различные аномалии, завершающиеся отка­зами.

Рассмотрим основные показатели надежности.

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

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

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

Защищенность ПСвключает определение полноты использования доступных методов и средств защиты программного средства от потенциальных угроз и достигнутой при этом безопасности функционирования информационной системы (ISO 15408:1999-1-3)

Эффективность использования ресурсов. Перечислим основные показатели эффективности.

Временная экономичность ПС. Определяется длительностью выпол­нения заданных функций.

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

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

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

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

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

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

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

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

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

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

Методы достижения качества

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

1) методы и средства создания ПС высокого, гарантированного качества;

2) методы и средства предотвращения ошибок проектирования за счет систем обеспечения качества, эффективных технологий и средств автоматизации всего ЖЦ комплексов программ и баз данных;

3) методы и средства обнаружения и устранения различных ошибок проектирования, разработки и сопровождения ПС путем верификации и систематического автоматизированного тестирования на всех этапах жизненного цикла ПС;

4) методы и средства удостоверения достигнутых значений качества

ПС в процессе их испытаний и сертификации и перед передачей в эксплуатацию;

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

Методы первой и второй групп базируются на применении современных CASE-средств.

Для достижения высокого качества используются два метода:

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

2) испытания и отбра­ковка ПС на конечном этапе разработки.

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

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

Сертификация и аттестация

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

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

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

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

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

Основные цели сертификации ПС:

· защита пользователей от приобретения ПС, которые представляет опасность для жизни, здоровья, имущества, а также окружающей среды;

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

· обеспечение информационного обмена между государственными системами информатизации и субъектов негосударственной принадлежности с субъектами государственной принадлежности;

· содействие повышению научно-технического уровня и конкурентоспособности ПС

· содействие созданию условий для вхождения РФ в мировое информационное пространство.

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

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

Наши рекомендации