Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Методы и информация




Тестировщик

Анализ правильности проектной информации.

Лекция 14

 

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

1) Проблема: как адекватно считать информацию достоверной.

Существуют всевозможные стратегии в плане выбора проектной информации

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

Существуют 2 класса таких подходов:

1) Основан на извлечении правильной информации из математических рассуждений в частности из программ.

2) Опирается на доказательство правильности заданной проектной информации.

Оба подхода базируются на принципе –Вся исходная(входная) информация достоверна. И поэтому проблема проверки правильности проектной информации сводится к проверке правильности исходной информации.

Существует ряд недостатков формальных методов проверки информации:

1) Сложность, громоздкость и как следствие этого внесения, появляется множество ошибок.

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

3) Практическая невозможность учета ограничений машинной арифметики.

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

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

Конечной целью развития функциональных методов является переход в автоматизированный процесс проверки правильности информации. В настоящее время формальные методы подходят в направлении верификации правильности проектной информации на основе интуитивных предположений, разработанных Флоидом и модифицированными Хоаром. Именно они перспективны в процессе автоматизации. Суть метода: Метод интуитивных предположений.

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

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

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

2) избирательность выявления значений в процессе тестирования программы.

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

1) Статическое или динамическое

2) Формальные или неформальные

3) Ручные или автоматизированные.

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

1) Это проблема воспроизводительности,, т.е проверка повторяемости полученных результатов.

2) Управление деятельностью по проверке проектной информации.

3) Проблема выбора категории лиц, осуществляющих эту проверку.

4) Проблема определения или обеспечения полноты проверки, определения планирования процесса проверки.




Поделиться с друзьями:


Дата добавления: 2015-07-02; Просмотров: 368; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.01 сек.