Основные показатели качества
Существуют множество различных классификаций показателей качества, задаваемых различными стандартами. Для примера приведем следующую классификацию.
Функциональнаяпригодность – степень соответствия комплекса реализованных программ исходным требованиям контракта, технического задания (назначение, номенклатура, задач и функций) и спецификаций на программное средство и его компоненты. Путем верификации должно быть определено соответствие исходным требованиям всей совокупности компонентов комплекса программ, вплоть до модулей и текстов программ и описаний данных. В наибольшей степени функциональная пригодность проявляется в корректности и надежности ПС.
Рассмотрим основные показатели.
Функциональная корректность ПС. Зависит от функциональной корректности применяемых компонент, методов их достижения и оценивания: детерминировано, стохастические и в реальном времени.
Корректность структуры программ определяется корректностью структуры модулей и корректностью структуры групп программ, построенных из модулей. Для оценки корректности структуры программ используется несколько частных показателей, различающихся степенью охвата тестами структурных компонент программы при отладке. Проверка корректности структурных компонент производится статистически по исходным текстам программ.
Корректность обработки данных определяется степенью отладки процесса обработки представительной выборки значений переменных в диапазонах их изменения.
Корректность межмодульных связей и взаимодействия компонент. Взаимодействие программ определяется двумя видами связей между модулями: по управлению и по информации.
Связи по управлению составляют вызовы программных модулей и возвраты в вызывавшие. Каждая связь модуля по управлению может содержать ошибку и являться причиной одного из видов некорректностей:
· отсутствие вызова необходимого взаимодействующего модуля;
· вызов модуля, не подлежащего исполнению при данном вызове;
· возврат управления от вызванного к вызывающему модулю в точку, не предназначенную для возврата управления.
Ошибки при взаимодействии модулей по управлению в ПС приводят к пропуску выполнения отдельных функций или к их значительным искажениям. Такие некорректности влияют на результаты функционирования ПС и полностью должны быть устранены.
Взаимодействие модулей по информации может происходить через обменные переменные, непосредственно подготавливаемые и используемые соседними модулями, или через глобальные переменные. Связи каждого модуля через глобальные переменные могут осуществляться с большим числом модулей, каждый из которых может рассчитывать или использовать некоторую переменную.
Детерминированная корректность программ определяется по частоте отклонения конкретных вычисляемых результатов от эталонных значений, заданных в техническом задании или в иных исходных документах.
Стохастическая корректность характеризуется величиной статистического отклонения распределений и их параметров (средних значений, среднеквадратических отклонений) от заданных эталонов. При этом не оценивается каждый результат тестирования, а они обобщаются и оцениваются интегрально по некоторой достаточно представительной выборке.
Корректность в реальном времени определяется величиной максимального или усредненного отклонения траектории выходных параметров от заданной эталонной траектории обработки тестовых исходных данных. Результаты тестирования оцениваются интегрально на некотором временном интервале или по наибольшему отклонению от эталонной траектории.
Для подтверждения абсолютной корректности программ достаточным в пределе является полный перебор всех входных и выходных тестовых значений переменных во всех их сочетаниях, что представляет только теоретический интерес. Достаточный объем тестирования реально никогда не оценивается, а процессы отладки строятся с позиции необходимого минимума тестов, обеспечивающих корректность в предполагаемых наиболее активных режимах эксплуатации программ.
Мобильность или переносимость программ в иную операционную среду или в иную среду по архитектуре компьютера. Может оцениваться объемом необходимых доработок ПС, которые следует выполнить для обеспечения полноценного функционирования ПС после переноса. Мобильность может оцениваться на уровне исходных текстов программ или на уровне объектного кода.
Надежность программ –это способность выполнять заданные функции в различных условиях. Надежностьявляется внутренним свойством систем, проявляющимся только во времени. Причиной нарушения работоспособности программ при безотказности аппаратуры всегда является наличие ошибок в программе и/или конфликт между реальными исходными данными, подлежащими обработке, и программой, осуществляющей эту обработку. Для оценки числа ошибок в программе суще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). Аттестация используется, чтобы показать все ли ожидания разработчиков и заказчиков достигнуты. По результатам аттестации программам присваиваются различные уровни качества, в соответствии с которыми они допускаются к эксплуатации.
Процесс тестирования выполняется постепенно: автономное тестирование модулей; комплексное тестирование каждой подсистемы, всей системы и приемочные испытания системы на реальных данных.
Сертификация также испытание программ, но проводимым в более жестких условиях тестирования, особо выделенным (третейским) коллективом специалистов (специализированные центры сертификации), имеющим лицензию на официальный государственный или ведомственный контроль функций, средств и качества ПС и гарантирующим его соответствие стандартам и другим нормативным документам, а также безопасность его применения, по подтверждению соответствия ПС или услуг установленным требованиям.
Лицензия – это официальный документ, который разрешает осуществление определенного вида деятельности в течение установленного срока, в заданных условиях с целью защиты интересов государства и граждан от неумышленного или сознательного некачественного выполнения работ, соответствующих определенным видам деятельности в сфере информатики. Лицензирование ограничивает следующие виды деятельности: создание и применение информационных технологий; формирование информационных ресурсов на основе использования современных ИТ; оказание услуг по информационному обеспечению потребителей информационных ресурсов
Специалисты центра сертификации имеют право на расширение условий испытаний и создание различных критических и стрессовых ситуаций, при которых ПС должно обеспечивать достаточное качество и безопасность результатов решения предписанных задач. Если все испытания проходят успешно, то на соответствующую версию ПС оформляется специальный документ – сертификат соответствия (документ, выданный по правилам системы сертификации для подтверждения соответствия сертифицированной продукции установленным требованиям). Он официально подтверждает соответствие стандартам функций и характеристик, а также допустимость ПС для определенной области его применения. Он документально утверждает право на использование знаков соответствия требованиям сертификации, гарантирует безопасность применения ПС, а также юридически допускает его к эксплуатации и использованию.
Основные цели сертификации ПС:
· защита пользователей от приобретения ПС, которые представляет опасность для жизни, здоровья, имущества, а также окружающей среды;
· обеспечение разработчиков и пользователей ПС достоверной информацией о состоянии рынков средств ПС;
· обеспечение информационного обмена между государственными системами информатизации и субъектов негосударственной принадлежности с субъектами государственной принадлежности;
· содействие повышению научно-технического уровня и конкурентоспособности ПС
· содействие созданию условий для вхождения РФ в мировое информационное пространство.
В нормативную базу сертификации средств и систем информатизации ИТ и услуг включаются нормативные документы на объекты сертификации (где устанавливаются характеристики объектов подтверждаемые при сертификации) на методы испытаний для оценки объектов сертификации, регламентирующие процедуры сертификации.
Работы по сертификации объединяются в технологический процесс, на каждом этапе которого регистрируются документы, отражающие состояние и качество результатов разработки. Без таких проверочных и испытательных операций не разрешается переходить на следующий этап разработки. В результате процессы аттестации и сертификации отличаются от обычных испытаний ПС более высоким уровнем формализации и документального оформления всех условий и результатов испытаний, проводимых специальным испытательным органом.