Тестирование алгоритма позволяет выявить логические ошибки построения алгоритма. Подобные ошибки можно обнаружить при тестировании алгоритма на большом количестве различных тестовых наборов данных, так как далеко не при каждом сочетании входных данных логические ошибки построения алгоритма дают о себе знать. Следовательно, эффективное проектирование текстовых наборов данных — задача достаточно сложная.
Верификация — проверка, проверяемость, способ подтверждения, проверка с помощью доказательств, каких-либо теоретических положений, алгоритмов, программ и процедур путем их сопоставления с опытными (эталонными или эмпирическими) данными, алгоритмами и программами. Принцип верификации был выдвинут Венским кружком.
Структурное тестирование основывается на детальном изучении логики алгоритма и подборе тестов, позволяющих обеспечить максимально возможное количество проверяемых операторов, логических ветвлений и условий.
При функциональном тестировании логика алгоритма не учитывается, а обращается внимание лишь на входные и выходные спецификации.
ВСЯ СЛОЖНОСТЬ АЛГОРИТМОВ ЗА 11 МИНУТ | ОСНОВЫ ПРОГРАММИРОВАНИЯ
Верификация — проверка, проверяемость, способ подтверждения, проверка с помощью доказательств, каких-либо теоретических положений, алгоритмов, программ и процедур путем их сопоставления с опытными (эталонными или эмпирическими) данными, алгоритмами и программами. Принцип верификации был выдвинут Венским кружком
Трассировка – это метод пошаговой фиксации динамических составляющих алгоритма на некотором тексте (проверка переменных и их значений). Часто осуществляется с помощью трассировки таблиц, в которых каждая строка соответствует определённому шагу, а столбец определяет состояние параметров (переменных). Отличает отладку.
Некоторые скрытые ошибки в сложных программах могут выявиться только в процессе их эксплуатации, на этапе сопровождения. На этом этапе также уточняют, улучшают и обучают профессоры пользователя.
Процесс поиска и исправления ошибок – отладка.
Воспользуйтесь поиском по сайту:
studopedia.org — Студопедия.Орг — 2014-2023 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.008 с) .
Источник: studopedia.org
VII Международная студенческая научная конференция Студенческий научный форум — 2015
МЕТОДИКА АТТЕСТАЦИИ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ СРЕДСТВ ИЗМЕРЕНИЙ
Самошина М.А. 1 , Баранов В.А. 1
1 ФГБОУ ВПО «Пензенский государственный университет»
Работа в формате PDF
Текст работы размещён без изображений и формул.
Полная версия работы доступна во вкладке «Файлы работы» в формате PDF
Процедура аттестации программного обеспечения (ПО) при испытаниях с целью утверждения типа процессорных средств измерений (СИ) должна идти в ногу с развитием технологий, в частности, необходимо учитывать широкое распространение случаев использования встроенного ПО в измерительных системах.
Аттестация алгоритма (программы) обработки данных — это исследование свойств алгоритма на моделях исходных данных, в результате которого определяют свойства и оценивают количественные характеристики алгоритма (программы). Различают общую и метрологическую аттестации алгоритма (программы). Вследствие общей аттестации алгоритма (программы) получают оценки характеристик точности, устойчивости и сложности алгоритма (программы) при различных моделях входных данных.
Предоставляя большие возможности и преимущества, использование измерительного ПО может привести к появлению дополнительных погрешностей, связанных, например, с неадекватностью, нестабильностью (необусловленностью) и неправильной реализацией алгоритмов, положенных в основу программы, конечной разрядностью и т. д.
Аттестация ПО СИ должна устанавливать соответствие программного обеспечения указанным требованиям. В связи с этим приобретают особую важность методы аттестации.
Аттестация ПО. Объекты аттестации
Все СИ с целью обеспечения единства измерений подвергаются оценке соответствия определенным требованиям либо в виде испытаний для утверждения их типа и поверки, если они используются в сфере действия государственного метрологического контроля и надзора, либо в виде калибровки, если они в этой сфере не используются. В настоящее время программное обеспечение, входящее в их состав, как правило, не аттестуется отдельно, а проходит аттестацию в составе средства измерений, т.е. в процессе испытаний не учитывается выбор алгоритма и способ его реализации программным средством, а также другие важные характеристики ПО.
Аттестация может распространяться на следующие виды ПО СИ:
- ПО, являющееся частью измерительной системы и функционирующее на базе персонального компьютера;
- ПО, являющееся самостоятельным программным продуктом, который может применяться для сбора, обработки, хранения и представления измерительной информации;
- ПО, являющееся неотъемлемой частью СИ (встроенное ПО);
- ПО для контроллеров и вычислительных блоков.
Объектами аттестации, в соответствии с рекомендацией МИ 2174-91, могут быть:
- алгоритмы обработки данных, представляющие собой самостоятельные объекты использования;
- программы обработки данных, реализующие выбранный алгоритм обработки и представляющие собой самостоятельный программный продукт;
- алгоритмы и программы обработки данных в составе прикладного программного обеспечения конкретных измерительных устройств,
- информационно-вычислительных комплексов, информационно-измерительных систем, методик выполнения измерений [4].
МИ 2174-91 различает общую (исследовательскую) и метрологическую аттестацию ПО.
Общая аттестация алгоритма (программы) заключается в исследовании их внутренних свойств с целью последующего обоснования их применения в конкретных задачах. В результате такой аттестации получают характеристики точности, устойчивости и сложности алгоритмов (программ) по отношению к различным моделям исходных данных.
Метрологическая аттестация – исследование точностных свойств алгоритма (программы) в рамках конкретной измерительной задачи или методики выполнения измерений с целью оценивания характеристик составляющих погрешности результатов измерений. В результате аттестации получают оценки характеристик составляющих погрешностей результатов обработки [2].
В таблице 2 приведены основные отличия общей и метрологической аттестации.
Таблица 2. Виды аттестации
Объект аттестации, алгоритм (программа), который является
Самостоятельным объектом
Составной частью прикладного программного обеспечения конкретных измерительных устройств, измерительно-вычислительных комплексов, измерительных систем
Последующее обоснование применения алгоритма (программы) в конкретных задачах
Оценивание характеристик, составляющих погрешность получаемых результатов измерений
Может применяться для обработки исходных данных с различными свойствами
Необходима значительная априорная информация об исходных данных
Внутренние свойства алгоритма (программы)
Точностные свойства алгоритма в рамках конкретной измерительной задачи
Результат аттестации, свидетельство об аттестации с указанием
Характеристик точности, устойчивости и сложности алгоритма (программы) при различных моделях исходных данных
Характеристик, составляющих погрешность результатов обработки (оценка влияния программного обеспечения на метрологические характеристики СИ)
На заключительном этапе разработки алгоритма (программы), прежде, чем рекомендовать его для практического применения
При выборе алгоритма для решения конкретной измерительной задачи при проектировании измерительно-вычислительных комплексов, измерительных систем
Методы аттестации программного обеспечения средств измерений
При аттестации ПО СИ необходимо выполнить весь тот набор испытаний и проверок, который нужен для подтверждения свойств ПО требованиям нормативной документации, например, требованиям ГОСТ Р 8.654-2009. Этот набор включает в себя:
— проверку документации, сопровождающей ПО;
— проверку разделения программного обеспечения и его идентификации;
— проверку структуры программного обеспечения;
— оценку погрешности программного обеспечения;
— проверку защищенности программного обеспечения и данных[3].
Аттестация программного обеспечения в соответствии с МИ 2174
Аттестация ПОсредств измерений представляет собой достаточно сложную исследовательскую задачу, решение которой определяется конкретной программной и аппаратной реализацией соответствующего средства измерений.
Методика аттестации включает в себя следующие обязательные процедуры:
- Устанавливается набор основных характеристик алгоритмов П1,…,Пn , которые следует оценивать. В частности, такими характеристиками для алгоритмов, используемых при обработке данных многократных прямых измерений, могут быть:
П1 = СКО случайной погрешности результатов измерения;
П2 = граница систематической погрешности результата измерения.
Иногда указанные характеристики удобно представлять в приведенной форме, отнесенными к соответствующим погрешностям среднего арифметического.
В качестве показателя устойчивости алгоритма принимают точку срыва Пср, т.е. допустимую долю выбросов в данных, наличие которых не приводит к нарушению работоспособности алгоритма.
- Устанавливается набор моделей исходных данных u1,…,um, поступающих на обработку. В качестве моделей данных могут приниматься, например, независимые случайные величины со средним и дисперсией , имеющие гауссовские распределения; независимые случайные величины, имеющие равномерные распределения на интервале ; линейно изменяющаяся последовательность с интерсептоми наклоном и т.д.
- Вычисляются (оцениваются) значения характеристик алгоритмов (программ) на выбранных типовых моделях. Результаты таких оценок могут быть представлены в виде таблиц значений характеристик алгоритма в зависимости от используемых моделей исходных данных.
- Оформляется свидетельство об аттестации алгоритма (программы), включающее указанные таблицы.
Аттестация ПО в соответствии с МИ 2174 сводится к оценке искажений, вносимых тестируемым ПО в модели исходных данных. В принципе, такая процедура аттестации не требует наличия так называемого эталонного ПО и позволяет оценить свойства ПО, а также степень его влияния на метрологические характеристики средств измерений. Проблема заключается в удачном выборе характеристик алгоритма и таких моделей исходных данных, которые в максимальной степени соответствовали бы той реальной измерительной задаче, которая решается конкретным ПО[5].
Аттестация программного обеспечения по методике МИ 2955
Методика аттестации ПО, как правило, является составной частью программы испытаний СИ в целях утверждения типа и должна включать следующие основные этапы:
— определение перечня исследуемых характеристик и параметров, исходных данных и критериев, которым должны удовлетворять результаты, полученные аттестуемым ПО;
— проведение аттестации в соответствии с методикой аттестации и получение результатов анализа документации и функциональных проверок аттестуемого ПО;
— обработка результатов аттестации и их оформление в виде протокола аттестации.
Методика аттестации разрабатывается для каждого отдельного ПО СИ с учетом его назначения и функциональных особенностей.
В методике аттестации:
— приводится перечень исследуемых характеристик, свойств и параметров ПО, необходимых исходных данных и опорных («эталонных») ПО, а также критерии, позволяющие производить оценку характеристик аттестуемого ПО;
— определяются и описываются методы аттестации, которые должны обеспечить проверку всех основных функций аттестуемого ПО, а также его соответствие требованиям к ПО СИ;
— описывается последовательность действий при проведении процедуры аттестации ПО.
Результаты аттестации ПО признаются положительными, если при анализе документации и проведении функциональных проверок, предусмотренных методикой аттестации, устанавливается соответствие аттестуемого ПО требованиям ГОСТ Р 8.654 и другой нормативной документации.
По результатам аттестации и установления идентификационных данных (признаков), степени влияния ПО на МХ СИ и уровня защиты ПО СИ составляется протокол аттестации, подписанный непосредственными исполнителями аттестации и утвержденный руководителем уполномоченного органа[1].
Список использованных источников
- МИ 2955-2010 ГСИ. Типовая методика аттестации программного обеспечения средств измерений. – М.: Изд-во стандартов, 2010. – 22 с.
- МИ 2174-1991 ГСИ. Аттестация алгоритмов и программ обработки данных при измерениях. Основные положения. – С.–Петербург.: ВНИИМС, 1993. – 14 с.
- ГОСТ Р 8.654-2009 ГСИ. Требования к программному обеспечению средств измерений. Основные положения. – М.: Изд-во стандартов,2009.-19 с.
- Кудеяров Ю.А., Стефанов Ю.В, Паньков А.Н. Аттестация программного обеспечения средств измерений //Компетентность 3/64/2009 . с.22-26
- Кудеяров, Ю.А. Аттестация программного обеспечения средств измерений: Учебное пособие / Ю.А. Кудеяров. – М.,2006 – 80 с.
Источник: scienceforum.ru
Проверка правильности алгоритма.
Прежде, чем понять задачу её, необходимо четко сформулировать. Обычно процесс точной формулировки задачи сводится к постановке правильных вопросов.
1. Понятна ли терминология?
3. Что нужно найти?
4. Как определить решение?
5. Каких данных не хватает и все ли они нужны?
6. Являются ли какие-то данные бесполезными?
7. Какие сделаны допущения?
Сформулируем постановку на примере.
Агент по продаже компьютеров должен посетить 20 городов. Компания возмещает ему 50% стоимости дорожных расходов. Известна цена проезда между каждыми двумя городами. Коммивояжеру хотелось бы снизить дорожные расходы.
Что дано?Исходная информация в виде перечня городов. Известно:
- Количество городов
- Стоимость переезда из города i в город j
Комментарий: в принципе, можно сразу отметить, что дана матрица стоимостей С: сij- стоимость переезда из i в j.
Что хотим найти?Как снизить дорожные расходы. То есть, найти такую последовательность объезда городов, что стоимость всего пути будет наименьшей.
Необходима ли дополнительная информация?Есть ли приоритеты в городах?
Дополнительная информация:Маршрут начинается и кончается в базовом городе и проходит по одному разу через все остальные города.
Что надо получить?Список городов, содержащий каждый город только один раз, за исключением базового города, который стоит в списке первым и последним.
Сумма стоимостей между каждыми двумя городами маршрута — это общая стоимость маршрута представленного списка. Необходимо представить список наименьшей стоимости.
Задача четко сформулирована, теперь необходимо составить для неё математическую модель. Выбор модели существенно влияет на остальные этапы решения задачи. Невозможно предложить набор правил, автоматизирующих этап моделирования. Приступая к разработке модели, следует, по крайней мере, задать два основных вопроса:
- Какие математические структуры больше всего подходят для задачи (это может сразу упростить ее и повлиять на выбор алгоритма)
- Существует ли решенные аналогичные задачи. (На что похоже, в чем отличие)
Второй вопрос, возможно, самый полезный во всей математике.
В контексте моделирования он часто дает ответ на первый вопрос. Действительно, большинство решаемых в математике задач, как правило, являются модификациями ранее решенных. Большинство из нас просто не обладает талантом Ньютона, Гаусса или Эйнштейна, и для продвижения вперед нам приходится руководствоваться накопленным опытом.
Итак, отвечая на первый вопрос, мы должны описать на языке математики, что нам дано и что хотим найти, сделать выбор математических структур, а затем задачу необходимо сформулировать в терминах соответствующих математических объектов.
Это будет одна из возможных моделей, если мы можем утвердительно ответить на следующие вопросы:
1. Вся ли важная информация задачи описана математическими объектами?
2. Существует ли математическая величина, ассоциируемая с искомым результатом?
3. Выявлено ли какое-нибудь полезное соотношение между объектами модели?
4. Можно работать с моделью? Удобно ли с ней работать?
Решали ли мы раньше подобные задачи? Вероятно, нет, однако мы сталкивались с задачей выбора пути по дорожным картам или в лабиринте. Представим нашу задачу наподобие карты. Города — это точки, соединенные отрезками, на которых проставлена стоимость проезда из первого города во второй. (Длины отрезков при этом роли не играют).
Очевидно, нужно взять лист бумаги и нанести на нем по одной точке, соответствующей каждому городу. Мы не собираемся изображать точки так, чтобы расстояние между каждой парой точек, соответствующих городам i и j, было пропорционально стоимости проезда сij Расположим точки любым удобным способом, соединим точки i и j линиями и проставим на них «веса» сij
Схема, которую мы только что изобразили,— это частный случай известного в математике графа, или сети. В общем случае сеть — это множество точек (на плоскости) вместе с линиями, соединяющими некоторые или все пары точек; над линиями могут быть проставлены веса., что мы и сделали.
Каждый граф можно представить на плоскости множеством точек, соответствующих вершинам, которые соединены линиями, соответствующими ребрам. Вершины графа на рисунке выделяют обычно кружочками или квадратиками, так как не всегда точки пересечения ребер являются вершинами графа.
Т.е., можно сказать, что граф — это конечное множество вершин V и набор E — пар вершин. Обозначение G=(V,E).
Известны различные способы представления графов в памяти компьютера, которые различаются объемом занимаемой памяти и скоростью выполнения операций над графами.
Для нашей задачи рассмотрим представление графа в виде матрицы стоимостей. Предположим, что стоимость проезда из города i в город j такая же как и из города j в город i, хотя, вообще говоря, это не всегда так. Как видно из примера на рис.1, в нашем случае число городов равно 5. Заполним матрицу стоимостей С
Что ищем?В терминах теории графов список городов определяет замкнутый цикл, начинающийся с базового города и возращающийся туда же после прохождения каждой вершины графа по одному разу. Такой цикл называется гамильтоновым циклом. Задача решена, если мы нашли гамильтонов цикл с наименьшей стоимостью.
Например, для графа на рис.1 гамильтонов цикл 1 – 5 – 3 – 4 – 2 – 1 имеет стоимость:
Является ли он маршрутом с минимальной стоимостью? Это пока неизвестно.
Рассмотренная задача, известная в литературе как задача коммивояжера, стала в какой-то мере классической. Это один из наиболее известных примеров таких задач, которые очень легко поставить и промоделировать, но очень трудно решить. Время от времени мы будем возвращаться к этой задаче в целях иллюстрации разных подходов к ее решению, оценки сложности алгоритма и т.п.
Выбор алгоритма зависит от выбранной модели. Два разных алгоритма могут быть правильными, но сильно отличаться по эффективности работы. Критерии эффективности различных алгоритмов и способы оценки мы рассмотрим позже, а сейчас попытаемся описать самый очевидный подход к алгоритму решения нашей задачи.
«Исчерпывающий алгоритм» решения задачи коммивояжера
Произвольно пронумеруем города целыми числами от 1 до n. Базовому городу припишем номер n. Таким образом, каждый гамильтонов цикл однозначно соответствует перестановке целых чисел:
nn-5, 2, 3, …, n-1, n-2nи др.
Для любой перестановки мы можем проследить гамильтонов цикл на графе, и в то же время вычислить стоимость соответствующего пути.
Исчерпывающий алгоритм (ETS):
1. Образуем перестановки первых n-1 чисел
2. Выбираем первую перестановку, строим соостветствующий путь и вычисляем его стоимость. Принимаем данную стоимость за минимальную.
3. Выбираем перестановку, строим соостветствующий путь и вычисляем его стоимость.
4. Сравниваем стоимость текущего пути с минимальной. Запоминаем минимальную из них. Возвращаемся к шагу 3.
Такой алгоритм называется исчерпывающим или переборным алгоритмом.
Проверка правильности алгоритма.
Это один из наиболее трудных этапов. Проверка правильности алгоритма часто заменяется проверкой правильности программы, то есть прогонкой её на различных тестах. Если выданные программой ответы могут быть подтверждены известными или вычисленными вручную данными, возникает искушение сделать вывод, что программа работает.
Для большинства алгоритмов очень сложно составить систему тестов, проверяющую все особенности, тонкости работающей программы. 3% ошибок считается нормой. В документации должны быть описаны ситуации возникновения ошибок (ограничения).
Статьи к прочтению:
- Проводные и беспроводные каналы связи. носители сигналов и их характеристики
- Проводниквызывается через главное меню.необходимо указать на пункт меню программы и затем щелчком выбрать пункт проводник.
Урок 3. Этапы составления алгоритмов. Программирование на Pascal / Паскаль. Уроки по информатике
Похожие статьи:
- Проверка правильности (валидности) построения xml-документа Язык XML задает только общие правила, по которым создаются теги и оформляется документ XML. Эти правила изложены в спецификации XML, расположенной по…
- Принципы разработки алгоритмов и программ Человеку в жизни и практической деятельности приходится решать множество различных задач. Решение каждой из них описывается своим алгоритмом, и…
Источник: csaa.ru