48278 (588533), страница 9

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

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

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

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

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

Существует два основных подхода к тестированию:

Рис. 2.3. Технология отладки программ

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

2. Тестирование программы как «белого ящика». Стратегия белого ящика, или стратегия тестирования, управляемого логикой программы, позволяет использовать внутреннюю структуру программы. В этом случае программист получает тестовые данные путем анализа логики программы. Основной алгоритм тестирования программы представлен на рис. 2.3.

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

Алгоритмическое тестирование

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

Функциональное или аналитическое тестирование

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

Содержательное тестирование

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

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


2.8 Типы тестов

Рассмотрим несколько основных типов тестов программного обеспечения:

Вырожденный тест

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

Тест граничных значений

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

Аварийный тест

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

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

Стыковочные тесты

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

Комплексные тесты

Проверяют правильность работы всех или большинства частей программы после их объединения.

2.8.1 Модульное тестирование

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

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

Существует два подхода к комбинированию модулей: пошаговое и монолитное тестирование. В пошаговом тестировании в свою очередь существуют два способа: тестирование снизу вверх и тестирование сверху вниз. Не Пошаговое тестирование предпочтительнее монолитного.



2.9 Надежность программного обеспечения



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

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

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

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

2.9.1 Критерии надежности систем

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

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

P = P.

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

Q = P = 1 – P.

Частота отказов a есть плотность распределения времени работы до первого отказа:

.

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

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

.

Аналогично можно представить другие характеристики, описывающие надежность для невосстанавливаемых систем при условии, что они уже функционировали в течение времени to:

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

  • распределение наработки до i – го отказа: Fi = P;

  • распределение времени до i – го восстановления: Vi = P;

  • вероятность возникновения n отказов до достижения длительности наработки t: Pn.

Кроме того, отказы можно характеризовать средним числом H за время t, интенсивностью потока отказов = d H / dt и наработкой на отказ T = t / H.

Процесс восстановления достаточно полно описывается показателями, подобными показателям, характеризующим отказы:

  • вероятностью восстановления за время t;

  • плотностью распределения времени восстановления;

  • средним временем восстановления.

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

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



2.9.2 Типы программного обеспечения с точки зрения надежности

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

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

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

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

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

2.9.3 Анализ надежности программного обеспечения

К задачам анализа надежности программного обеспечения можно отнести следующее:

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

  • выявление и исследование основных факторов, определяющих характеристики надежности сложных программных комплексов;

  • выбор и обоснование критериев надежности комплексов программ различного типа и назначения;

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

  • исследование ошибок в программах, динамики их изменения при отладке и модернизации и их влияния на надежность;

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

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

  • разработка методов прогнозирования характеристик надежности комплексов программ с учетом их сложности, структурного построения и технологии проектирования;

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

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

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

Список файлов ВКР

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