Моделирование распределенных недетерминированных программных систем и их тестирование на основе автоматных мультиагентных вероятностных моделей

Моделирование распределенных недетерминированных программных систем и их тестирование на основе автоматных мультиагентных вероятностных моделей

Автор: Старолетов, Сергей Михайлович

Шифр специальности: 05.13.11

Научная степень: Кандидатская

Год защиты: 2011

Место защиты: Барнаул

Количество страниц: 185 с. ил.

Артикул: 5396647

Автор: Старолетов, Сергей Михайлович

Стоимость: 250 руб.

Моделирование распределенных недетерминированных программных систем и их тестирование на основе автоматных мультиагентных вероятностных моделей  Моделирование распределенных недетерминированных программных систем и их тестирование на основе автоматных мультиагентных вероятностных моделей 

Содержание
Список использованных сокращений.
ВВЕДЕНИЕ.
ГЛАВА 1. ПРИМЕНЕНИЕ МОДЕЛЕЙ В ПРОЦЕССЕ РАЗРАБОТКИ ПРОГРАММ. ТЕСТИРОВАНИЕ НА ОСНОВЕ МОДЕЛЕЙ. МОДЕЛИ РАСПРЕДЕЛЕННЫХ ВЗАИМОДЕЙСТВУЮЩИХ СИСТЕМ.
1.1 Разработка, управляемая моделями
1.2 Тестирование ПО сегодня.
1.3 Краткий обзор технологий тестирования.
1.4 Модели распределенных многопоточных
взаимодействующих систем
1.4.1 Сети Петри
1.4.2 Язык
1.4.3 ЯзыкИМЬ.
1.5 Выводы к главе 1
ГЛАВА 2. ПОСТРОЕНИЕ МАТЕМАТИЧЕСКОЙ МОДЕЛИ СОВРЕМЕННЫХ РАСПРЕДЕЛЕННЫХ
НЕДЕТЕРМИНИРОВАННЫХ СИСТЕМ
2.1 Модели в исследовании свойств алгоритма.
Проблема тестирования.
2.2 Распределенные недетерминированные взаимодействующие системы. Постановка задачи на тестирование
2.3 Модель распределенных недетерминированных систем
2.3.1 Конечный автомат.
2.3.2 Конечный автомате вероятностными переходами.
2.3.3 Конечный автомате вероятностными переходами и обработкой событий и исключений.
2.3.4 Расширение автомата для поддержки моделирования многопоточных приложений
2.3.4.1 Параллелизм.
2.3.4.2 Операция создания потока и понятие кратности
2.3.4.3 Операция ожидания потоков.
2.3.4.4 Обмен сообщениями.
2.3.4.5 Блокировка ресурсов.
2.3.5. Модель многокомпонентной системы высокого уровня.
2.3.6 Моделирование межкомпонентной связности.
2.3.7 Итотовая модель системы в виде взаимодействующих компонентов.
2.4 Предварительная оценка модели.
2.4 Выводы к главе 2
ГЛАВА 3. ПРАКТИЧЕСКАЯ РЕАЛИЗАЦИЯ ПРОЦЕССОВ РАЗРАБОТКИ И ТЕСТИРОВАНИЯ НА ОСНОВЕ МОДЕЛЕЙ.
3.1 Представление автомата в виде состояний, переходов и операций
3.2 Способы описания модели и ее соотношение
с исходным кодом системы .
3.2.1 Описание модели при отсутствии кода
3.2.2 Описание модели при наличии кода.
3.3 О практической значимости и адекватности модели
3.4 Процесс разработки и тестирования на основе моделей
3.5 Статическая верификация модели
3.6 Динамическое тестирование по модели.
3.6 Выводы к главе 3 ИЗ
ЗАКЛЮЧЕНИЕ
Список использованной литературы


Тестирование программного обеспечения — это инструмент повышения его качества с целью выявления возможных ошибок в нем []. Тестирование программных продуктов может производиться разработчиками, узкими специалистами-тестировщиками, а также пользователями. В последнем случае, если, конечно, продукт не является специальным релизом для публичного тестирования (так называемой бета-версией), выявление серьезных ошибок в уже выведенном на рынок товаре - программном обеспечении - говорит о низком качестве продукта и может привести к различным неприятным последствиям. Поэтому фирмы-производители программ и индивидуальные разработчики заинтересованы в минимизации ошибок, а следовательно, в повышении качества процесса разработки ПО, в том числе, улучшении способов тестирования. Естественно, у разных групп по тестированию 0 будут различные цели, задачи и способы. Возможность использования исходного кода системы в процессе тестирования — это первый существенный признак классификации. Например, разработчики и высококвалифицированные тестировщики имеют доступ к исходному коду тестируемой системы на языке программирования и могут использовать эти знания в процессе поиска возможных ошибок. Тестировщикам же невысокой квалификации нет смысла просматривать исходный код, поскольку он ничего им не может сказать, в таком случае система рассматривается извне как черный ящик и анализируется се поведение с точки зрения заранее описанных спецификаций и конечного результата. Некоторые вилы тестирования меняют даже сам способ разработки ПО (пример - разработка через тестирование - test driven development, с применением модульных тестов повсеместно). В задачу исследования не входит подробная классификация всех видов тестирования, в данной главе рассмотрим только те, которые представляют интерес с точки зрения тестирования рассматриваемых в данной работе современных распределенных систем. Работа специалисга-тестировщика в компании по разработке ПО обычно представляет собой составление плана тестирования в соответствии со спецификацией (дизайном) системы, который включает тестовые наборы (test suites) и тестовые образцы (test cases), и далее проверку правильности ПО в соответствии с данным планом []. Соответственно, тестирование может проводиться как вручную, так и автоматически []. Далее в работе будет рассматриваться только автоматизированное тестирование. Однако, как заметил Ю. Гуревич из Microsoft [], при усложнении системы и приеме на работу все большего и большего количества специалистов по тестированию происходит насыщение и они уже не могут гарантировать качества безошибочной работы. Это означает, что для тестирования сложных взаимодействующих систем необходимо внедрять новые методологии. С начала -х годов набирает популярность применение в процессе тестирования моделирования, использование математических методов. Разработка модели взаимодействующей системы и использование математических методов в тестировании - это основная тема данной работы. Как уже было отмечено, в тестировании белым ящиком применяется доезуп к исходному коду системы. JUnit для языка программирования Java, NUnit для языка C# и проч. Проверка методов заключается в создании экземпляров классов и вызовов методов из них, со сравнением результата с ожидаемым (результат — это возвращаемое значение метода, некоторое поле в классе и т. Тесты обычно группируются в тестовые наборы. Мx[,xl,. Мi(xl х„) - результат работы метода из тестового набора TestCase с п входными параметрами, Ret cxpccl(M J - ожидаемое возвращаемое значение метода. Операция конъюнкции означает то, что при несоответствии возвращаемого значения ожидаемого в одном из методов набора, работа всего тестового набора считается неправильной. Поддерживаются также тестирование возникновения исключительных ситуаций, тестирование выполнения по времени, параметризация, а также группировка тестов в наборы. На рисунке 1. Eclipse с результатами теста. Использование xUnit тестов дало начало специальной технике программирования — разработке через тестирование или красно-зеленый рефакторинг, от цвета полоски с результатами: красный (рисунок 1.

Рекомендуемые диссертации данного раздела

28.06.2016

+ 100 бесплатных диссертаций

Дорогие друзья, в раздел "Бесплатные диссертации" добавлено 100 новых диссертаций. Желаем новых научных ...

15.02.2015

Добавлено 41611 диссертаций РГБ

В каталог сайта http://new-disser.ru добавлено новые диссертации РГБ 2013-2014 года. Желаем новых научных ...


Все новости

Время генерации: 0.201, запросов: 244