48012 (572120), страница 2

Файл №572120 48012 (Отладка программ и программных комплексов) 2 страница48012 (572120) страница 22016-07-29СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

Текст из файла (страница 2)

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

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

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

Известные методы и модели формализации процесса локализации ошибок обеспечивают лишь автоматизацию процедур выделения областей локализации ошибок. При этом используется диагностическая модель программы, задаваемая совокупностью <Х, V, Г1, Г2, Г3, Г4> и представляемая графом, где X – множество вершин, соответствующих переменным комплекса программ; V – множество дуг, соответствующее линейным участкам команд; Г1 – отображение множества V в V; Г2 и Г3 -отображения множества X в V и V в X соответственно; Г4 – отображение множества X в X. Параметры тестового набора задаются точкой входа vb, точкой выхода vl, множеством вершин исходных данных Xb и множеством вершин результатов Xl. Кроме того, задана булева функция правильности результатов F(xj) для и правильности точки выхода F(vb).

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

Значительную помощь при локализации ошибок в программах оказывает рациональное размещение дампов, т.е. команд или подпрограмм печати, печатающих данные для распознавания и обнаружения ошибок. Например, при размещении дампов для проверки правильности организации циклов места их расположения целесообразно выбирать таким образом, чтобы они идентифицировали максимально возможное число циклов, а число точек, в которых расположены дампы, было при этом минимальным. Задача формулируется с использованием диагностической модели программы <Х, V, Г1, Г2, Г3, Г4> как задача о покрытии множества дуг, образующих циклы, таким образом, чтобы число дуг покрывающего набора было минимальным и не было ни одного цикла, для которого хотя бы одна дуга не вошла в набор.

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

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

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

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

Основными методами, используемыми на этапе системной отладки, являются методы анализа и тестирования.

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

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

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

Анализ целей, технологии, моделей и методов проведения системной отладки позволяет выделить ряд этапов отладочных работ и последовательность их проведения (рис. 1).

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

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

Рис. 1

Множество стратегий системной отладки определяется множеством возможных вариантов разбиения и объединения структурного графа С, вершинами которого являются программные модули комплекса, а дугами – связи по управлению между ними. Любая mn-стратегия задает множество подграфов разбиения графа GРm = {Р1, ..., Pv, ..., Pmn} и последовательность объединения этих подграфов до исходной графовой структуры При этом задача выбора оптимальной стратегии системной отладки по критерию минимума времени на ее проведение формулируется следующим образом:

Найти

– время и стоимость разбиения при использовании mn-стратегии; - время и стоимость объединения при использовании mn-стратегии; Сзад. – допустимые затраты на проведение системной отладки.

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

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

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

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

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

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

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

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

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

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

Характеристики

Тип файла
Документ
Размер
2,37 Mb
Учебное заведение
Неизвестно

Список файлов ответов (шпаргалок)

Свежие статьи
Популярно сейчас
А знаете ли Вы, что из года в год задания практически не меняются? Математика, преподаваемая в учебных заведениях, никак не менялась минимум 30 лет. Найдите нужный учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
7021
Авторов
на СтудИзбе
260
Средний доход
с одного платного файла
Обучение Подробнее