Тема: Конечно-автоматное тестирование программных реализаций, сгенерированных по UML-описаниям
Закажите новую по вашим требованиям
Представленный материал является образцом учебного исследования, примером структуры и содержания учебного исследования по заявленной теме. Размещён исключительно в информационных и ознакомительных целях.
Workspay.ru оказывает информационные услуги по сбору, обработке и структурированию материалов в соответствии с требованиями заказчика.
Размещение материала не означает публикацию произведения впервые и не предполагает передачу исключительных авторских прав третьим лицам.
Материал не предназначен для дословной сдачи в образовательные организации и требует самостоятельной переработки с соблюдением законодательства Российской Федерации об авторском праве и принципов академической добросовестности.
Авторские права на исходные материалы принадлежат их законным правообладателям. В случае возникновения вопросов, связанных с размещённым материалом, просим направить обращение через форму обратной связи.
📋 Содержание
1. Определения 8
1.1. Объектно ориентированное проектирование и разработка 8
1.2. Unified Modeling Language 9
1.2.1. Диаграмма классов 10
1.2.2. Диаграмма состояний 11
1.3. Тестирование ПО 14
1.4. Конечные автоматы 15
1.5. Тестирование на основе UML моделей 16
1.6. Object Oriented Action System (OOAS) 18
1.7. Программные инструменты для кодогенераци и тестирования ПО 19
2. Конечно-автоматный подход к тестированию 23
2.1. W-метод (метод В асилевского) 24
2.2. Модификации W-метода и другие методы конечно-автоматного тестирования ...25
3. Проектировние и программная реализация POP3 сервера 26
3.1. Описание работы POP3 сервера 26
3.2. Конечно-автоматное описание POP3 сервера 29
3.3. UML описание POP 3 сервера при помощи Visual Paradigm 31
3.4. Прогрмаммные реализации POP3 сервера, используемые в работе 33
4. Тестирование POP 3 сервера 35
4.1. Тестирующая программа 35
4.2. Тестирование систем с помощью MoMuT: :UML 35
4.2.1. AUT формат 40
4.3. Тестирование Java реализаций POP3 серверов 41
4.4. Оценка качества тестов относительно ошибок в программных реализациях 42
4.5. Оценка качества тестовых последовательностей относительно ошибок в UML-
описаниях 43
ЗАКЛЮЧЕНИЕ 45
ЛИТЕРАТУРА 46
📖 Введение
Один из способов повышения качества тестирования - это использование методологии проектирования на основе моделей. Преимущество данного подхода заключается в том, что при проектировании системы можно сократить временные и денежные затраты путем автоматизации процесса тестирования и использования процесса кодогенерации.
При проектировании систем, одним из графических языков моделирования, позволяющим реализовывать процессы кодогенерации и автоматического тестирования является язык моделирования UML. При помощи данного языка моделирования можно описывать систему с помощью диаграммы классов и диаграммы состояний. Это позволяет генерировать шаблон программного кода и с помощью специальных инструментов проводить тестирование программных реализаций, созданных на основе сгенерированного шаблона.
В то же время, UML диаграмма состояний похожа на конечный автомат, для которого существуют эффективные методы построения тестов.
Целью данной работы является экспериментальное сравнение качества тестирования программных реализаций с использованием подхода на основе моделей конечного автомата и UML диаграммы состояний с применением инструментов FSM-Test и MoMuT::UML на примере протокола POP3.
Для достижения цели необходимо выполнить следующие задачи:
1. Создать UML модель POP3 сервера в Visual Paradigm
2. Создать конечно - автоматное описание POP3 сервера в соответствии UML модели
3. Сгенерировать тесты в MoMuT::UML и с помощью конечно-автоматных методов.
4. Сгенерировать шаблон JAVA кода по UML диаграмме состояний и дополнить его до реализации
5. Реализовать тестирующую программу POP3 сервера
6. Провести тестирование JAVA реализаций POP3 сервера
7. Оценить полноту построенных тестов, относительно мутаций в UML-модели и относительно ошибок в программных реализациях
✅ Заключение
Результаты показали, что тестовые последовательности, сгенерированные с помощью обхода графа переходов конечного автомата, являются более качественными, по сравнению с тестовыми последовательностями, построенными по UML модели, как относительно ошибок в программном коде на языке Java так и относительно ошибок в UML- диаграмме состояний. При этом, для получения полных тестов относительно конечно-автоматных ошибок, можно использовать тесты, построенные конечно автоматными методами (HSI, H), имеющих такую же полноту относительно ошибок в программном коде.
Метод обхода графа переходов можно эффективно использовать как на этапе тестирования UML модели, так и на этапе тестирования готовой реализации. Данная оценка была проверена на двух реализациях POP3 сервера: на реализации, найденной в свободном доступе и на доопределенной реализации, сгенерированной на основе модели.





