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

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

Рубрика Программирование, компьютеры и кибернетика
Вид дипломная работа
Язык русский
Дата добавления 10.06.2011
Размер файла 474,8 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

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

5.2 Оценивание надежности функционирования программных средств

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

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

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

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

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

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

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

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

Если интенсивное тестирование программ в течение достаточно длительного времени не приводит к обнаружению дефектов иди ошибок, то у специалистов, ведущих испытания, создается ощущение бесполезности дальнейшего тестирования данной программы, и она передается на эксплуатацию. Экспериментальное исследование характеристик сложных ПС позволило оценить темп обнаружения дефектов, при котором сложные комплексы программ передаются на регулярную эксплуатацию: 0,002- 0,005 ошибок в день на человека, т.е. специалисты по испытаниям или пользователи в совокупности выявляют только около одной ошибки или дефекта каждые два - три месяца использования ПС. Интенсивность обнаружения ошибок ниже 0,001 ошибок в день на человека, т.е. меньше одной ошибки в год на трех-четырех специалистов, непосредственно выполняющих тестирование и эксплуатацию ПС, по-видимому, может служить эталоном высокой надежности для ПС обработки информации. Если функционирование программ происходит непрерывно, то эти показатели соответствуют очень высокой наработке на обнаружение дефекта или отказа порядка 5-10 тысяч часов и коэффициенту готовности выше 0,99. При использовании этого критерия обычно учитывается календарное время испытаний, включающее длительность непосредственного тестирования, как для обнаружения, так и для локализации дефектов, а также длительность корректировки программ и других вспомогательных работ для восстановления нормального функционирования ПС.

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

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

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

- при предельных и критических сочетаниях значений различных взаимодействующих параметров эксплуатации ПС;

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

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

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

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

Следует особо отметить большие трудности достижения и оценивания надежности программ, характеризующейся наработкой на отказ >>100 ч. При такой надежности ПС резко возрастают сложность обнаружения возникающих отказов и диагностирования их причин. Наработка на отказ в сотни часов в ряде случаев достигалась только при эксплуатации и сопровождении сложных ПС в течение нескольких лет. При требовании особо высокой надежности функционирования ПС, суммарные затраты на ее достижение и оценивание могут увеличиваться почти на порядок. Однако требующееся увеличение затрат для получения такой высокой надежности ПС в процессе разработки трудно обеспечить практически. Поэтому для ее достижения активно применяются различные методы программной защиты от сбоев и отказов программ. Они позволяют замедлить рост затрат на разработку при повышении требований к их надежности. В результате для получения наработки на отказ в сотню часов затраты возрастают, по экспертным оценкам, в среднем в 1,5 раза, а для наработки 1 тысячи часов - в 2 раза.

5.3 Оценивание рисков в жизненном цикле программного средства

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

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

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

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

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

- риски невыполнения разработчиком требований к отдельным характеристикам, субхарактеристикам и атрибутам качества процессов и продуктов ЖЦ ПС;

- риски проявления конфликтов и противоречий требований заказчика к различным функциям, компонентам и характеристикам качества ПС;

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

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

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

5.4 Интегральное оценивание характеристик качества программных средств

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

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

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

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

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

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

Размещено на http://www.allbest.ru/

Рисунок 6. Интегральное оценивание характеристик качества программных средств.

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

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

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

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

- не формализовано, интуитивно специалистами из среды заказчика и/или потенциальных пользователей с двумя-четырьмя уровнями приоритета;

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

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

В последнем случае группа квалифицированных экспертов из состава заказчиков, потенциальных пользователей и разработчиков должны оценивать и устанавливать значения таких коэффициентов (приоритетов) для каждого атрибута качества в пределах унифицированной шкалы, например, от нуля до единицы, для конкретного проекта ПС. Точность определения коэффициентов вряд ли может превышать 10%, поэтому количество градаций шкалы может не превышать десяти. Аналогично, по такой же шкале экспертам следует оценивать относительные затраты ресурсов, которые целесообразно выделять на реализацию выбранных значений атрибутов качества. Для каждого атрибута качества отношение коэффициента влияния (п.3 Рисунок 6) на функциональную пригодность к относительным затратам на его достижение можно рассматривать как значения приоритета требований к этому атрибуту качества для конкретного потребителя. Этот показатель наглядно отражает взаимосвязь требуемых значений атрибутов качества и затрат на их реализацию в конкретном проекте ПС.

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

- доминирующие характеристики или атрибуты, оказывающие наибольшее влияние на функциональную пригодность при допустимых затратах;

- показатели, имеющие достаточное влияние на функциональную пригодность и значительные затраты на реализацию;

- характеристики качества, выбранные требования к которым не соответствуют их влиянию и затратам на реализацию.

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

Для проведения последовательного оценивания приоритетов и корректировки атрибутов качества стандартных таблиц распределения и оценок приоритетов можно дополнить следующими данными (колонками):

- экспертная оценка коэффициентов влияния требуемого атрибута на функциональную пригодность;

- экспертная оценка относительных затрат ресурсов на реализацию требуемых значений атрибутов качества;

- относительный коэффициент влияния на функциональную пригодность с учетом затрат на реализацию и уровень приоритета, требуемого значения атрибута качества;

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

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

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

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

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

6. Разработка алгоритма оценки качества ПО в процессе тестирования

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

6.1 Процессы жизненного цикла ПО

Процессы ЖЦ ПО согласно стандартам ISO 9126 и ISO 12207 представляются в следующей последовательности (Рисунок 7):

1. Обследование.

2. Проработка проекта.

3. Построение.

4. Выпуск.

5. Сопровождение.

6. Доработки (опционально).

Размещено на http://www.allbest.ru/

Рисунок 7. Этапы ЖЦ ПО.

Далее для более ясного представления процессов будут описаны все эти этапы.

6.1.1 Обследование

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

6.1.2 Проработка проекта

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

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

6.1.3 Построение

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

6.1.4 Выпуск

Конечная официальная версия ПО предъявляется заказчику.

6.1.5 Сопровождение

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

6.1.6 Доработки (опционально)

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

программный оценка тестирование

6.2 Построение алгоритма

6.2.1 Ограничения

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

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

6.2.2 Алгоритм

Основываясь на стандартах ISO 12207, 15504 и 14598 был разработан следующий алгоритм (Рисунок 8):

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

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

3. Отдел качества измеряет (согласно процедуре предложенной в ISO 9126 п.5.3.2.2) установленные, на этапе проработки проекта, метрики на основе протоколов тестирования.

4. Если, в связи с тем, что часть функций не реализована, тесты не проводились, или если реализация функции запланирована на более поздний релиз, то значение метрики её определяющей устанавливается нулевой.

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

6. Затем отделом качества вычисляется оценка интегрального показателя качества ПО (п.5.1-5.2).

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

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

7. Для всех промежуточных релизов повторяются шаги 1-5.

8. Для последней сборки проводится интегральное тестирование отделом качества (см п.5.4).

И параллельное исправление найденных ошибок отделом программирования.

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

9. По итогам проведенного интегрального тестирования снова повторяются шаги 3-5.

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

11. Если показатель качества удовлетворяет (?) установленному значению заказчиком (на этапе «проработки проекта»), значит качество ПО заказчика устраивает и выпускается конечная официальная версия (этап «выпуск»).

Размещено на http://www.allbest.ru/

Рисунок 8. Схема алгоритма оценки качества ПО в процессе тестирования.

Примечание к алгоритму: п.2. и п.7, приведенного выше алгоритма, ограничены по времени (Рисунок 9), указанному в плане производства продукта (см. п.6.1.2).

Размещено на http://www.allbest.ru/

Рисунок 9. Схема алгоритма тестирования и исправления ошибок.

6.3 Практическое применение

Данный алгоритм уже зарекомендовал себя в ряде крупных Российских фирм, таких как ЗАО «» и ЗАО «», и на данный момент уже используется в них (см. Приложение 2).

7. Заключение

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

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

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

Литература

1. Липаев В. В. Выбор и оценивание характеристик качества программных средств - М.: СИНТЕГ, 2001

2. Роберт Калберстон, Крис Браун, Гэри Кобб. Быстрое тестирование - издательский дом «Вильямс», 2002

3. Борис Бейзер. Тестирование черного ящика. Технологии функционального тестирования программного обеспечения и систем - СПб.: Питер, 2004

4. Канер Сэм. Тестирование программного обеспечения. Фундаментальные концепции менеджмента бизнес-приложений - К.: Издательство «ДиаСофт», 2001

5. Кулямин В. В., Петренко О. Л. Место тестирования среди методов оценки качества ПО (http://software-testing.ru/lib/ispras/testing_in_various_models.htm)

6. ГОСТ 28195--89 Оценка качества программных средств. Общие положения.

7. ГОСТ 28806--90 Качество программных средств. Термины и определения.

8. ГОСТ Р ИСО/МЭК 9126--93 ИТ. Качество программных средств

9. ГОСТ Р ИСО/МЭК 12207: 1999 ИТ. Процессы жизненного цикла программных средств.

10. ISO 15504: 1998 ТО. Оценка и аттестация зрелости процессов жизненного цикла программных средств.

11. ГОСТ Р ИСО/МЭК 12119-2000 ИТ. Требования к качеству и тестирование.

12. ISO 14598: 1998-2000 Оценивание программного продукта.

13. Скотт Беркун. Исправление ошибок: в нужное время и в нужном месте перевод Андрей Олищук (http://www.software-testing.ru/lib/olischuk/bug-fixing-intime.htm, http://www.software-testing.ru/lib/olischuk/bug-fixing-intime-2.htm)

14. Геннадий Гацко. Тестирование ПО как один из элементов системы качества - Открытые системы, #06/1998 (http://www.osp.ru/os/1998/06/31.htm)

15. Евгений Марченко. Что такое качество программного обеспечения? (http://www.software-testing.ru/lib/marchenko/cmm_quality.htm)

16. Сергеев И.В. Методические указания по написанию экономического обоснования дипломного проекта. М. МГУ, 1992

17. Буч Ю. И., Колесникова М. А. Охрана ноу-хау (справочно-методические материалы). Изд. 3-е, исправленное и дополненное. - СПб, 2004

Приложение 1. Перечень основных стандартов в области качества программных средств

1. ISO 12207: 1995. (ГОСТ Р-1999). ИТ. Процессы жизненного цикла программных средств.

2. ISO 15271: 1998. (ГОСТ Р-2002). ИТ. Руководство по применению ISO 12207.

3. ISO 16326: 1999. (ГОСТ Р-2002). ИТ. Руководство по применению ISO 12207 при административном управлении проектами.

4. ISO 15504-1-9: 1998. ТО. Оценка и аттестация зрелости процессов жизненного цикла программных средств. Ч. 1. Основные понятия и вводное руководство. Ч. 2. Эталонная модель процессов и их зрелости. Ч. 3. Проведение аттестации. Ч. 4. Руководство по проведению аттестации. Ч. 5. Модель аттестации и руководство по показателям. Ч. 6. Руководство по компетентности аттестаторов. Ч. 7. Руководство по применению при усовершенствовании процессов. Ч. 8. Руководство по применению при определении зрелости процессов поставщика. Ч. 9. Словарь.

5. ISO 9000-3: 1997. Стандарты в области административного управления качеством и обеспечения качества. Часть 3. Руководящие положения по применению стандарта ISO 9001 при разработке, поставке и обслуживании программного обеспечения.

6. ISO 9000: 2000. (ГОСТ Р-2001). Система менеджмента (административного управления) качества. Основы и словарь.

7. ISO 9001: 2000. (ГОСТ Р-2001). Система менеджмента (административного управления) качества. Требования.

8. ISO 9004: 2000. (ГОСТ Р-2001). Система менеджмента (административного управления) качества. Руководство по улучшению деятельности.

9. ISO 10005: 1995 - Административное управление качеством. Руководящие указания по программам качества.

10. ISO 10006: 1997 - Руководство по качеству при управлении проектом.

11. ISO 10007: 1995 - Административное управление качеством. Руководящие указания при управлении конфигурацией.

12. ISO 10013: 1995 - Руководящие указания по разработке руководств по качеству.

13. ISO 10011-1-3: 1990. Руководящие положения по проверке систем качества. Ч. 1. Проверка. Ч. 2. Квалификационные критерии для инспекторов-аудиторов систем качества. Ч. 3. Управление программами проверок.

14. ISO 9126: 1991. (ГОСТ-1993). ИТ. Оценка программного продукта. Характеристики качества и руководство по их применению.

15. ISO 14598-1-6: 1998-2000. Оценивание программного продукта. Ч. 1. Общий обзор. Ч. 2. Планирование и управление. Ч. 3. Процессы для разработчиков. Ч. 4. Процессы для покупателей. Ч. 5. Процессы для оценщиков. Ч. 6. Документирование и оценивание модулей.

16. ISO 9126-1-4. (проекты). ИТ. Качество программных средств: Ч. 1. Модель качества. Ч. 2. Внешние метрики. Ч. 3. Внутренние метрики. Ч. 4. Метрики качества в использовании.

17. ISO 14756: 1999. ИТ. Измерение и оценивание производительности программных средств компьютерных вычислительных систем.

18. ISO 12119: 1994. (ГОСТ Р-2000). ИТ. Требования к качеству и тестирование.

19. ISO 13210: 1994. ИТ. Методы тестирования для измерения соответствия стандартам POSIX.

20. ANSI/IEEE 1008-1986. Тестирование программных модулей и компонентов ПС.

21. ANSI/IEEE 1012-1986. Планирование верификации и подтверждения достоверности качества (валидации) программных средств.

22. ISO 9945-1: 1990 (IEEE 1003. 1). ИТ. Интерфейсы переносимых операционных систем. Ч. 1. Интерфейсы систем прикладных программ (язык Си).

23. ISO 9945-2: 1992 (IEEE 1003. 2). ИТ. Интерфейсы переносимых операционных систем. Часть 2. Команды управления и сервисные программы.

24. ISO 15846: 1998. ТО. Процессы жизненного цикла программных средств. Конфигурационное управление программными средствами.

25. ISO 14764: 1999. (ГОСТ Р-2002). ИТ. Сопровождение программных средств.

26. ISO 15408-1-3: 1999. (ГОСТ Р-2002). Методы и средства обеспечения безопасности. Критерии оценки безопасности информационных технологий. Ч. 1. Введение и общая модель. Ч. 2. Защита функциональных требований. Ч. 3. Защита требований к качеству.

27. ISO 13335-1-5: 1996-1998. ИТ. ТО. Руководство по управлению безопасностью. Ч. 1. Концепция и модели обеспечения безопасности информационных технологий. Ч. 2. Планирование и управление безопасностью информационных технологий. Ч. 3. Техника управления безопасностью ИТ. Ч. 4. Селекция (выбор) средств обеспечения безопасности. Ч. 5. Безопасность внешних связей.

28. ISO 10181: 1-7. ВОС. 1996-1998. Структура работ по безопасности в открытых системах. Ч. 1. Обзор. Ч. 2. Структура работ по аутентификации. Ч. 3. Структура работ по управлению доступом. Ч. 4. Структура работ по безотказности. Ч. 5. Структура работ по конфиденциальности. 4. 6. Структура работ по обеспечению целостности. Ч. 7. Структура работ по проведению аудита на безопасность.

29. ISO 15910: 1999. (ГОСТ Р-2002) ИТ. Пользовательская документация программных средств.

30. ISO 6592: 1986. ОИ. Руководство по документации для вычислительных систем.

31. ISO 9294: 1990. (ГОСТ 1993 г.). ТО. ИТ. Руководство по управлению документированием программного обеспечения.

32. ГОСТ 34. 602-89. ИТ. Техническое задание на создание автоматизированных систем.

33. ГОСТ 34. 603-92. ИТ. Виды испытаний автоматизированных систем.

34. ГОСТ 34. 201-89. ИТ. Виды, комплектность и обозначение документов при создании автоматизированных систем.

35. ГОСТ 28195-89. Оценка качества программных средств. Общие положения.

36. ГОСТ 28806-90. Качество программных средств. Термины и определения.

Размещено на Allbest.ru


Подобные документы

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

    контрольная работа [26,6 K], добавлен 23.01.2011

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

    реферат [26,7 K], добавлен 10.10.2014

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

    лекция [370,1 K], добавлен 22.03.2014

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

    дипломная работа [280,5 K], добавлен 03.11.2013

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

    лекция [352,8 K], добавлен 09.03.2009

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

    презентация [301,0 K], добавлен 26.10.2016

  • Общая характеристика и основные структуры кодирования. Качество программного обеспечения, показатели в ГОСТ 28195 и ГОСТ Р ИСО/МЭК 9126, характеристика по функциональным возможностям. Основные критерии и процесс оценки качества программного обеспечения.

    курсовая работа [219,5 K], добавлен 25.02.2012

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

    контрольная работа [22,4 K], добавлен 13.12.2014

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

    курсовая работа [974,0 K], добавлен 21.12.2016

  • Особенности аналитической и эмпирической моделей надежности программных средств. Проектирование алгоритма тестирования и разработка программы для определения надежности ПО моделями Шумана, Миллса, Липова, с использованием языка C# и VisualStudio 2013.

    курсовая работа [811,5 K], добавлен 29.06.2014

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.