Реферат: по дисциплине «Методология программной инженерии» Тема: Метод определения точек тестирования, основанный на анализе цикломатической сложности Мак-Кейба

⚡ 👉🏻👉🏻👉🏻 ИНФОРМАЦИЯ ДОСТУПНА ЗДЕСЬ ЖМИТЕ 👈🏻👈🏻👈🏻
Министерство экономического развития Российской Федерации
Государственный Университет – Высшая Школа Экономики
Магистратура факультета Бизнес-информатики
«Методология программной инженерии»
Тема: Метод определения точек тестирования, основанный на анализе цикломатической сложности Мак-Кейба
Очевидно, что самыми простыми и эффективными в реализации являются системы управления на базе измеримых характеристик объекта. В полной мере это справедливо и по отношению к программным проектам. Однако процесс создания ПО настолько многогранен и одновременно сложен для восприятия, что даже незначительные недостатки системы измерения неизбежно отразятся на качестве управления. Основу любой системы измерения составляют отдельные показатели, именуемые также метриками.
Метрики программных проектов – это количественные показатели, отражающие их отдельные характеристики. Точнее, метрики представляют собой все, что можно измерить, при условии, конечно, что в этом есть смысл.
Все метрики можно разбить на несколько групп. Наиболее распространенными из них являются метрики размера и развившиеся с переходом от структурной к объектно-ориентированной парадигме программирования объектно-ориентированные метрики.
Менее распространенной, но не мене эффективной является группа метрик программных проектов с показателями, характеризующими их сложность. Эти метрики используются главным образом для апостериорного анализа, однако могут применяться и на ранних стадиях работы при осуществлении проектирования.
Основная цель метрик сложности – выявить наиболее критичные участки программного проекта, которые являются потенциальными источниками ошибок и повышенных рисков на всех стадиях его жизненного цикла, для их упрощения или усиленного тестирования (точки тестирования).
Одна из самых распространенных таких метрик – цикломатическая сложность, впервые предложенная Томасом Мак-Кейбом (Thomas McCabe) в 1976 г. Данная метрика предназначена для оценивания сложности потока управления программы (control flow graph) и вычисляется на основе ориентированного графа, где вычислительные операторы или выражения представляются в виде узлов, а передача управления между узлами – в виде дуг.
Формула вычисления цикломатической сложности выглядит следующим образом:
где e
– число ребер, n
– число узлов, p
– число компонентов связности графа.
Мак-Кейб использует следующую теорему: в сильно связанном графе G цикломатическое число равно максимальному числу линейно-независимых циклов.
Применяя эту теорему, Мак-Кейб связывает с программой ориентированный граф с одним выходом. Каждой вершине графа соответствует блок кода с последовательным управлением, а каждой дуге соответствует ветвление программы. Каждой вершины можно достигнуть из входной вершины и из каждой вершины может быть достигнута выходная вершина. Этот граф сильно связан, так как для любой пары вершин существует связывающий их путь.
Общий подход состоит в оценке сложности программы с помощью вычисления числа линейно-независимых путей, цикломатической сложности V(G), а также управления размером программ с помощью ограничения V(G) и использования V(G) как основы для методологии тестирования. Мак-Кейб обнаружил, что разумной верхней границей для цикломатической сложности является 10. Если программисты переступают эту границу, им следует или переписать программу, или разбить ее на модули.
Оценка цикломатической сложности Мак-Кейба полезна при подготовке тестовых данных и может дать нужную информацию о логической сложности программы. Однако при такой оценке не принимается во внимание выбор структур данных, алгоритмов, мнемонических имен переменных или комментариев, отсутствует обсуждение таких важных понятий, как удобство переноса, гибкость, эффективность.
Вычисление метрики в ходе реализации проекта (а при детальном проектировании оно возможно еще на этом этапе, не дожидаясь стадии кодирования) позволяет своевременно определить наиболее сложные, сопровождающиеся высокими рисками, структурные единицы и принять меры по устранению рисков за счет внесения корректив.
Для метрики цикломатической сложности существует множество вариаций, в частности:
· «модифицированная» цикломатическая сложность – рассматривает не каждое ветвление оператора множественного выбора (switch, case), а весь оператор как единое целое;
· «строгая» цикломатическая сложность – включает логические операторы;
· «упрощенная» цикломатическая сложность – предусматривает вычисление на основе не графа, а подсчета управляющих операторов;
· «актуальная» сложность – определяется как число независимых путей, которые проходит программа при тестировании;
· метрика сложности глобальных данных – вычисляется как цикломатическая сложность модуля и увеличивается на количество взаимосвязей с глобальными данными.
В целом, метод определения точек тестирования на основе анализа цикломатической сложности является весьма хорошим способом своевременно предостеречь разработчика, указать на сегменты усиленного тестирования или, по возможности, упрощения отдельных составляющих проекта, предупредив вероятные проблемы с запутанным и нестабильным кодом в будущем.
1. Липаев В.В. / Надежность программных средств. Серия "Информатизация России на пороге XXI века" / Москва / СИНТЕГ / 1998
2. Гасов В.М., Цыганенко А.М. / Надежность, эргономика и качество АСОИУ: Учебное пособие / Москва / МГУП / 2006
Название: по дисциплине «Методология программной инженерии» Тема: Метод определения точек тестирования, основанный на анализе цикломатической сложности Мак-Кейба
Раздел: Остальные рефераты
Тип: реферат
Добавлен 22:51:08 04 ноября 2011 Похожие работы
Просмотров: 226
Комментариев: 7
Оценило: 0 человек
Средний балл: 0
Оценка: неизвестно Скачать
Срочная помощь учащимся в написании различных работ. Бесплатные корректировки! Круглосуточная поддержка! Узнай стоимость твоей работы на сайте 64362.ru
Привет студентам) если возникают трудности с любой работой (от реферата и контрольных до диплома), можете обратиться на FAST-REFERAT.RU , я там обычно заказываю, все качественно и в срок) в любом случае попробуйте, за спрос денег не берут)
Да, но только в случае крайней необходимости.
Реферат: по дисциплине «Методология программной инженерии» Тема: Метод определения точек тестирования, основанный на анализе цикломатической сложности Мак-Кейба
Эссе По Медицине Для Медсестер
Реферат: Методические рекомендации по выполнению курсовой работы по структурной геологии для студентов специальностей
Функции И Принципы Управления Реферат
Контрольная Работа Сложение И Вычитание Десятичных Дробей
Контрольная работа по теме Первичный токсиколого-гигиенический паспорт нового соединения 'Цианистый водород'
Сочинение Про Щелочные Металлы В Сказочной Форме
Курсовая работа: Жанровая специфика Кентерберийских рассказов Дж Чосера
Курсовая Работа Жизненный Цикл Товара Жцт
Контрольная работа по теме Теорія інформації та кодування
Реферат: Основные типы рыночных структур 2
Курсовая работа: Корекцiйна логопедична робота при спастичнiй дизартрiї
Реферат: Інвестиційна політика України
Реферат Физическая Культура Для Работников Умственного Труда
Реферат: Острый вирусный гепатит В Hbs Ag , желтушный период, тяжелое течение
Реферат: Компьютерные сети. Классификация компьютерных сетей. Скачать бесплатно и без регистрации
Реферат: Политические партии в РФ и их идеология
Налогообложение прибыли предприятия
Реферат: Кто разрабатывает бизнес-план?
Эссе Мое Профессиональное Кредо
Сочинение Рассуждение Владимир Дубровский Разбойник Или Нет
Реферат: Финансирование из бюджета жилищно-коммунального хозяйства
Контрольная работа: Теплофизический расчет шара
Реферат: Экспертиза ценности документов в государственном архиве