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

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

21.05.2019

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

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

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

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

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

Стандартизация характеристик качества

Одной из важнейших проблем обеспечения качества программных средств является формализация характеристик качества и методология их оценки. Для определения адекватности качества функционирования, наличия технических возможностей программных средств к взаимодействию, совершенствованию и развитию необходимо использовать стандарты в области оценки характеристик их качества. Основой регламентирования показателей качества программных средств ранее являлся международный стандарт ISO 9126:1991 (ГОСТ Р ИСО / МЭК 9126-93) "Информационная технология. Оценка программного продукта. Характеристики качества и руководство по их применению". Завершается разработка и формализован последний проект состоящего из четырех частей стандарта ISO 9126-1--4 для замены небольшой редакции 1991 года. Проект состоит из следующих частей под общим заголовком "Информационная технология - характеристики и метрики качества программного обеспечения": "Часть 1. Характеристики и субхарактеристики качества" Часть 2. Внешние метрики качества" "Часть 3. Внутренние метрики качества" "Часть 4. Метрики качества в использовании".

В России в области обеспечения жизненного цикла и качества сложных комплексов программ в основном применяется группа устаревших ГОСТов, которые отстают от мирового уровня на 5-10 лет .

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

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

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

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

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

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

Выбор показателей качества

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

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

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

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

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

Оценка качества

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

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

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

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

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

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

Оценка защищенности программных средств включает определение полноты использования доступных методов и средств защиты программного средства от потенциальных угроз и достигнутой при этом безопасности функционирования информационной системы. Наиболее широко и детально методологические и системные задачи оценки комплексной защиты информационных систем изложены в трех частях стандарта ISO 15408:1999-1--3 "Методы и средства обеспечения безопасности. Критерии оценки безопасности информационных технологий".

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

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

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

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

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

Система управления качеством

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

Определения характеристик и субхарактеристик качества (ISO 9126-1)

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

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

Правильность (корректность) - способность программного средства обеспечивать правильные или приемлемые для пользователя результаты и внешние эффекты.

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

Защищенность - способность компонентов программного средства защищать программы и информацию от любых негативных воздействий.

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

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

  • Его легко использовать.
  • Оно демонстрирует хорошую производительность .
  • В нем нет ошибок.
  • Оно не портит пользовательские данные при сбоях.
  • Его можно использовать на разных платформах.
  • Оно может работать 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).

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

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

стандарт

характеристика

оценка качества

программные средства

1. Баранюк В.В., Тютюнников Н.Н. Оценка качества электронных словарей и энциклопедий // Программная инженерия. – 2012. – № 8. – С. 29–37.

2. Гличев А.В., Панов В.П., Азгальдов Г.Г. Что такое качество? – М.: Экономика, 1968. 135 с.

3. Горбаченко И.М. Программное обеспечение для создания автоматизированных обучающих систем // Проблемы информатизации региона. ПИР-2005: материалы девятой научно-практической конференции (Красноярск, 11–12 окт. 2005 г.). – Красноярск: ИПЦ КГТУ, 2005. – т. 2. – С. 132–135.

4. Горбаченко И.М. Сравнительный анализ существующих систем тестирования // Тестирование в сфере образования: проблемы и перспективы развития: материалы Всероссийской научно-практической конференции. (Красноярск, 19-21 мая 2008 г.) / отв. ред. Г.П. Карлов. – Красноярск: СибГТУ, 2008. – С. 177–183.

5. Липаев В.В. Проблемы обеспечения качества сложных программных средств [Электронный ресурс]. – Режим доступа: http://quality.eup.ru/MATERIALY4/poksps.htm (дата обращения 9.04.2013).

6. Лозинин А.И., Шубинский И.Б. Характеристики качества программного обеспечения и методы их оценки [Электронный ресурс]. – Режим доступа: http://www.ibtrans.ru/Estimating %20methods.pdf (дата обращения 12.03.2013).

На современных компьютерах установлено множество разнообразного программного обеспечения (ПО). И хочется, чтобы оно было качественное, работоспособное, работало без сбоев и т.д. Рассмотрим определение «качества ПО» (Software Quality) в контексте международных стандартов:

1) качество программного обеспечения - это степень, в которой программное обеспечение обладает требуемой комбинацией свойств. ;

2) качество программного средства - совокупность свойств программного средства (ПС), которые обусловливают его пригодность удовлетворять заданные или подразумеваемые потребности в соответствии с его назначением [ГОСТ 28806-90 «Качество программных средств. Термины и определения»].

Целью данной работы является разработка методики применения требований стандарта ISO 9126 к оценке качества одного из видов программных средств - систем создания тестов.

Стандарт ISO 9126

На данный момент наиболее распространена и используется многоуровневая модель качества программного обеспечения, представленная в наборе стандартов ISO 9126. Основой регламентирования показателей качества систем является международный стандарт ISO 9126 «Информационная технология. Оценка программного продукта. Характеристики качества и руководство по их применению». В этом стандарте описано многоуровневое распределение характеристик ПО. На верхнем уровне выделено 6 основных характеристик качества ПО, каждую из которых определяют набором атрибутов, имеющих соответствующие метрики для последующей оценки (рисунок) .

Согласно этой модели, функциональность программного средства (functionality) - совокупность свойств ПС, определяемая наличием и конкретными особенностями набора функций, способных удовлетворять заданные или подразумеваемые потребности качества наряду с ее надежностью как технической системы. Надежность (Reliability) - способность ПО выполнять требуемые задачи в обозначенных условиях на протяжении заданного промежутка времени или указанное количество операций. Удобство использования программного средства (usability) - совокупность свойств ПС, характеризующая усилия, необходимые для его использования, и оценку результатов его использования заданным кругом пользователей ПС. Эффективность (Efficiency) - способность ПО обеспечивать требуемый уровень производительности в соответствии с выделенными ресурсами, временем и другими обозначенными условиями. Удобство сопровождения (Maintainability) - легкость, с которой ПО может анализироваться, тестироваться, изменяться для исправления дефектов, для реализации новых требований, для облегчения дальнейшего обслуживания и адаптироваться к именующемуся окружению. Портативность (Portability) - совокупность свойств ПС, характеризующая приспособленность для переноса из одной среды функционирования в другие.

Модель качества программного обеспечения (ISO 9126)

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

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

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

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

В настоящее время все чаще стали появляться готовые средства для разработки обучающих программ . Причем эти разработки не только зарубежных (для примера - Adobe Acrobat, Macromedia Authorware, ToolBook II, Quest и другие), но и отечественные (например, HyperMethod, «Доцент», «Прометей», сетевая оболочка «ОРОКС», КАДИС). Приведем краткую характеристику некоторых из них.

Одина из систем для проведения тестирования «Конструктор тестов» - универсальная система проверки знаний (сайт системы - http://www.keepsoft.ru/simulator.htm). Программа поддерживает пять типов вопросов: закрытые (на выбор одного или нескольких ответов), открытый (ввод ответа), на соответствие и на упорядочивание. Это позволяет проводить любые тесты. В тестах имеется возможность использовать музыку, звуки, изображения и видеоролики. Любые данные можно распечатать на принтере. На одном компьютере тестирование независимо могут проходить несколько человек, входя в программу под своими именами.

Следующий пакет - система тестирования INDIGO (сайт - http://indigotech.ru/). В этой системе также можно создавать тестовые задания 5 типов. Но кроме этого особенностью конструктора тестов INDIGO является поддержка многоуровневой иерархической группировки вопросов тестов по заданиям, темам и т.д. Ведь если вопросы теста отображаются в одном линейном списке, то возникают сложности с навигацией и пониманием того, какой вопрос к чему относится. В этой системе имеется возможность задания для каждой группы индивидуальных настроек (в особенности, порядка выдачи вложенных элементов или их случайной выборки).

Следующий рассматриваемый пакет - VeralTest - комплекс программ для создания тестовых задний и для организации многопользовательского компьютерного тестирования (сайт - http://veralsoft.com/veraltest.shtml). В этой системе могут быть созданы следующие типы тестовых задний - закрытый (выбор одного ответа и выбор нескольких ответов), ввод текстового ответа, ввод числового ответа, вопросы на соответствие.

Пакет программ VeralTest представлен в двух редакциях:

VeralTest Express. Позволяет создавать автономные самозапускамые тесты (exe тесты), которые могут быть запущены на любом компьютере без предварительной установки и настройки. Состав пакета VeraTest Express: редактор тестов TestEditor и программа для просмотра результатов тестирования ResultViewer.

VeralTest Professional. Поддерживает все функции express редакции. Кроме этого, в состав пакета входит сервер тестирования (программа TestServer), позволяющий организовать тестирование в компьютерном классе или локальной сети предприятия. При этом доступ к тестам осуществляется через веб-браузер (например, Internet Explorer, Google Chrome, Mozila Firefox). Еще эта редакция включает в себя программу администрирования TestAdmin, при помощи которой можно регистрировать пользователей, объединять их в группы, назначать тесты для выполнения пользователями, просматривать и распечатывать результаты тестирования.

Кроме указанных программных комплексов, существует множество других систем . С некоторыми из них можно познакомиться на сайте - http://edu.of.ru/volsch31/default.asp?ob_no = 2300.

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

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

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

Если за наличие каждого признака ставить 1 балл, то получается что из рассматриваемых систем MOODLE получила 22 балла, UniTest System - 15, «Конструктор тестов» - 11, INDIGO - 14, VeralTest - 12 (версия Express) и 16 (версия Professional).

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

Заключение

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

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

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

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

Название

«Конструктор тестов»

VeralTest Express / Professional

Надежность

Завершенность (вероятность отказа)

Низкая / Высокая

Устойчивость к отказам (работоспособность)

Восстанавливаемость

Наличие системы резервного копирования

Сохранение тестов в отдельном файле

Удобство использования

Легкость освоения

Наличие методических указаний по изучению

Понятность

Наличие готовых шаблонов тестов

+ (на англ.)

Наличие развернутой справочной системы

Удобство и простота использования

Наличие меню (кнопки) создания теста

Работа с графикой

Работа со звуком

Создание кнопок управления

Возможность автоматического оценивания ответа

Задание сроков ответов на вопросы

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

Ограничение времени ответ на каждый вопрос

Ограничение общего времени прохождения теста

Возможность деления вопросов по уровням сложности

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

Наличие средств защиты (например, шифрование тестов)

Возможность работы локальной компьютерной сети

Работа в сети Internet

Удобство сопровождения

Наличие службы технической поддержки

Наличие отдельных модулей

Наличие настроек для инженера

Наличие настроек для преподавателя

Наличие настроек для тестируемого

Портативность

Наличие сетевой версии

+ (интернет)

Занимаемый объем

20,8 Мб / 60 Мб

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

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

Рецензенты:

Доррер Г.А., д.т.н., профессор, зав. кафедрой, ФГБОУ ВПО «Сибирский государственный технологический университет», г. Красноярск;

Левшина В.В., д.т.н., профессор, зав. кафедрой управления качеством и математических методов экономики, ФГБОУ ВПО «Сибирский государственный технологический университет», г. Красноярск.

Работа поступила в редакцию 07.05.2013.

Библиографическая ссылка

Горбаченко И.М. ОЦЕНКА КАЧЕСТВА ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ ДЛЯ СОЗДАНИЯ СИСТЕМ ТЕСТИРОВАНИЯ // Фундаментальные исследования. – 2013. – № 6-4. – С. 823-827;
URL: http://fundamental-research.ru/ru/article/view?id=31642 (дата обращения: 04.03.2019). Предлагаем вашему вниманию журналы, издающиеся в издательстве «Академия Естествознания»

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

В дополнение к нему выпущен набор стандартов ISO/IEK 14598, регламентирующий способы оценки этих характеристик. В совокупности они образуют модель качества, известную под названием SQuaRE.

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

В рамках модели SQuaRE выделяются следующие 6 основных характеристик качества:

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

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

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

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

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

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

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

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

Билет 26 27

Ка́чество програ́ммного обеспечения - характеристика программного обеспечения (ПО) как степени его соответствия требованиям. При этом требования могут трактоваться довольно широко, что порождает целый ряд независимых определений понятия. Чаще всего используется определение ISO 9001, согласно которому качество есть «степень соответствия присущих характеристик требованиям».

Качество исходного кода

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

Читаемость кода

Лёгкость поддержки, тестирования, отладки, исправления ошибок, изменения и портируемости

Низкая сложность кода

Низкое использование ресурсов: памяти и процессорного времени

Корректная обработка исключительных ситуаций

Малое число предупреждений при компиляции и линковке

Методы улучшения качества кода: рефакторинг.

Факторы качества

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

Некоторые из факторов качества:

понятность

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

Все необходимые части программы должны быть представлены и полностью реализованы.

краткость

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

портируемость

Лёгкость в адаптации программы к другому окружению: другой архитектуре, платформе, операционной системе или её версии.

согласованность

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

сопровождаемость

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

тестируемость

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

удобство использования

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

надёжность

отсутствие отказов и сбоев в работе программ, а также простота исправления дефектов и ошибок:

структурированность

эффективность

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

Безопасность

ISO 9126 (ГОСТ Р ИСО / МЭК 9126-93) - «Информационная технология. Оценка программного продукта. Характеристики качества и руководство по их применению». ISO 9126 это международный стандарт, определяющий оценочные характеристики качества программного обеспечения (далее ПО). Российский аналог стандарта ГОСТ 28195. Стандарт разделяется на 4 части, описывающие следующие вопросы: модель качества; внешние метрики качества; внутренние метрики качества; метрики качества в использовании

Модель качества, установленная в первой части стандарта ISO 9126-1, классифицирует качество ПО в 6-ти структурных наборах характеристик, которые в свою очередь детализированы под-характеристиками(субхарактеристиками), такими как:

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

Пригодностью для применения

Корректностью (правильностью, точностью)

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

Защищенностью

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

Уровнем завершенности (отсутствия ошибок)

Устойчивостью к дефектам

Восстанавливаемостью

Доступностью

Готовностью

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

Понятностью

Простотой использования

Изучаемостью

Привлекательностью

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

Временной эффективностью

Используемостью ресурсов

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

Удобством для анализа;

Изменяемостью

Стабильностью

Тестируемостью

Мобильность - Набор атрибутов, относящихся к способности ПО быть перенесенным из одного окружения в другое. Детализируется следующими под характеристиками (субхарактеристиками):

Адаптируемостью

Простотой установки (инсталляции)

Сосуществованием (соответствием)

Замещаемостью

Подхарактеристика Соответствие не приведена в вышеописанном списке, но она принадлежит всем характеристикам. Эта характеристика должна отражать отсутствие противоречий с иными стандартами или характеристиками. Например соответствие надежности и практичности.

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

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

Системная эффективность - "Применения программного продукта по назначению"

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

Безопасность - "Надежность функционирования комплекса программ и возможный риск от его применения для людей, бизнеса и внешней среды"

Удовлетворение требований и затрат пользователей в соответствии с целями применения ПС

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

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

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

Презентацию к данной лекции Вы можете скачать .

Цель лекции:

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

Введение

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

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

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

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

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

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

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

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

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

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

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

Инструментарием тестировщика в VisualStudio 2012 является MicrosoftTestManager (MTM). MTM предназначен для управления жизненным циклом тестирования программного обеспечения, включая планирование, тестирование и мониторинг . MTM интегрирован с TeamFoundationServer. С помощью Microsoft TestManager тестировщики подготавливают планы тестирования, управляют тестированием. При создании плана тестирования в него добавляются наборы тестов, тестовые случаи и конфигурации, необходимые для тестирования. Конфигурации используются для установления среды, в которой будут исполняться наборы тестов. Microsoft TestManager позволяет выполнять ручные и автоматические тесты, а также исследовательские тесты. Результаты тестирования сохраняются в базе данных, что позволяет подготавливать различные аналитические отчеты. Ошибки, выявленные в процессе тестирования, фиксируются, документируются и передаются разработчикам для их устранения. При внесении изменений в код программной системы возникает необходимость в регрессионном тестировании, причем MTM автоматически формирует план регрессионного тестирования, выявляя какие тесты должны быть повторно выполнены.

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

Рефакторинг

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

Для улучшения качества кода программных приложений применяют рефакторинг [ , ]. По определению Фаулера М. рефакторинг определяется как "процесс изменения программной системы таким образом, что её внешнее поведение не изменяется, а внутренняя структура улучшается". Следовательно, в процессе проектирования для создания высококачественного программного продукта необходимо не только обеспечить выполнение функциональных требований, но и нефункциональных, в частности, удобства сопровождения, что предполагает возможность и простоту внесения изменений в код, а также возможность легкого понимания созданного кода.

Некачественный дизайн кода определяется по ряду признаков :

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

Для создания качественного дизайна кода целесообразно применять некоторые принципы и паттерны проектирования ПО [ , ].

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

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

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

Принцип инверсии зависимостей определяет два положения:

  • модули верхнего уровня не должны зависеть от модулей нижнего уровня. И те и другие должны зависеть от абстракций;
  • абстракции не должны зависеть от деталей. Детали должны зависеть от абстракций.

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

Паттерны проектирования предлагают универсальные, проверенные практикой решения. В приведен обширный перечень паттернов. Среди общего списка паттернов следует выделить те, которые целесообразно применять при гибкой разработке программного обеспечения. Это паттерны Команда , Стратегия, Фасад, Посредник, Одиночка, Фабрика, Компоновщик, Наблюдатель, Абстрактный сервер/адаптер/ шлюз , Заместитель и Шлюз , Посетитель и Состояние.

Использование паттернов при разработке позволяет создавать программное обеспечение , которое легко модифицировать и сопровождать.

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

Ключевые термины

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

Набор для практики

Вопросы

  1. Какими характеристиками должен обладать качественный программный продукт?
  2. Какие нефункциональные требования определяют качество программного продукта?
  3. Какая роль тестирования в обеспечении качества программного продукта?
  4. Какие типы тестов используют для проверки качества программного продукта?
  5. Для чего применяется регрессионное тестирование?
  6. Какие шаблоны тестовых проектов имеются вVisualStudio 2012?
  7. Для чего применяется MicrosoftTestManager? Какие он имеет функциональные возможности?
  8. Для чего используется LabManagement при тестировании?
  9. Для чего применяют рефакторинг кода?
  10. Приведите признаки некачественного кода.

Упражнения

  1. Подготовьте аналитический обзор по NUnit тестированию.
  2. Подготовьте аналитический обзор по xUnit.net тестированию.
  3. Подготовьте аналитический обзор по MbUnit тестированию.


© 2024 beasthackerz.ru - Браузеры. Аудио. Жесткий диск. Программы. Локальная сеть. Windows