Для студентов МГИМО по предмету Любой или несколько предметовИсследование инструментов фаззинга для генерации модульных тестов на JavaИсследование инструментов фаззинга для генерации модульных тестов на Java
4,9551049
2024-06-292024-06-29СтудИзба
Курсовая работа: Исследование инструментов фаззинга для генерации модульных тестов на Java
Описание
Оглавление
3
4
На сегодняшний день создано огромное количество программных про-дуктов, и их количество продолжает расти. На создание, тестирование, сопровождение требуются значительные ресурсы; если проект содер-жит миллионы строк программного кода, то ресурсов может потребо-ваться немыслимо много, и даже в таком случае выпустить продукт без дефектов и поддерживать его на должном уровне качества — задача трудновыполнимая [23]. При этом цена на обнаружение и исправление ошибки с течением времени значительно растёт [20], и не обнаруженный вовремя дефект может приводить к миллионным убыткам. Например, ошибка в программном обеспечении Маринера-11 стоила NASA сотни миллионов долларов.
Программисты, даже самые высококвалифицированные, совершают ошибки. Поэтому для повышения качества кода и минимизации коли-чества дефектов конечного продукта необходимо проводить тестирова-ние, начиная с самых ранних этапов разработки. Модульное тестирова-ние — вид тестирования, ориентированный на обнаружение дефектов
— трудоёмкая деятельность, к тому же част
| 1. | Введение | 5 | ||
| 2. | Постановка задачи | 7 | ||
| 3. | Обзор | 8 | ||
| 3.1. | Терминология ......................... | 8 | ||
| 3.2. | Фаззинг............................. | 8 | ||
| 3.2.1. История......................... | 9 | |||
| 3.2.2. | Видыфаззинга .................... | 9 | ||
| 3.2.3. | Инструменты ..................... | 10 | ||
| 3.3. | Генерациятестов ....................... | 11 | ||
| 3.3.1. | Случайное тестирование . . . . . . . . . . . . . . . | 12 | ||
| 3.3.2. | Тестирование на основе поиска . . . . . . . . . . . | 13 | ||
| 3.3.3. | Символьное исполнение . . . . . . . . . . . . . . . | 14 | ||
| 3.3.4. | Сравнение ....................... | 15 | ||
| 3.3.5. Вывод.......................... | 16 | |||
| 4. | Особенности реализации системы | 17 | ||
| 4.1. | Стектехнологий........................ | 17 | ||
| 4.2. | Процесссозданиятеста.................... | 17 | ||
| 4.3. | Архитектурасистемы..................... | 18 | ||
| 4.4. | Деталиреализации ...................... | 19 | ||
| 4.4.1. Генераторы....................... | 19 | |||
| 4.4.2. Фаззинг......................... | 20 | |||
| 4.4.3. Построение утверждений . . . . . . . . . . . . . . . | 20 | |||
| 5. | JUnit Testing Tool Competition | 22 | ||
| 6. | Эксперименты | 24 | ||
| 6.1. | Постановка экспериментов . . . . . . . . . . . . . . . . . . | 24 | ||
| 6.1.1. | Наборданных..................... | 24 | ||
| 6.1.2. | Временнойбюджет .................. | 24 | ||
| 6.1.3. | Метрики ........................ | 25 | ||
3
| 6.2. Результаты........................... | 25 |
| 7. Заключение | 26 |
| Список литературы | 27 |
4
- Введение
На сегодняшний день создано огромное количество программных про-дуктов, и их количество продолжает расти. На создание, тестирование, сопровождение требуются значительные ресурсы; если проект содер-жит миллионы строк программного кода, то ресурсов может потребо-ваться немыслимо много, и даже в таком случае выпустить продукт без дефектов и поддерживать его на должном уровне качества — задача трудновыполнимая [23]. При этом цена на обнаружение и исправление ошибки с течением времени значительно растёт [20], и не обнаруженный вовремя дефект может приводить к миллионным убыткам. Например, ошибка в программном обеспечении Маринера-11 стоила NASA сотни миллионов долларов.
Программисты, даже самые высококвалифицированные, совершают ошибки. Поэтому для повышения качества кода и минимизации коли-чества дефектов конечного продукта необходимо проводить тестирова-ние, начиная с самых ранних этапов разработки. Модульное тестирова-ние — вид тестирования, ориентированный на обнаружение дефектов
- программных регрессий в отдельных модулях системы [4]. Однако создание модульных тестов и поддержание их в актуальном состоянии
— трудоёмкая деятельность, к тому же част
Характеристики курсовой работы
Учебное заведение
Семестр
Просмотров
1
Размер
445 Kb
Список файлов
Исследование инструментов фаззинга для генерации модульных тестов на Java.doc
Комментарии
Нет комментариев
Стань первым, кто что-нибудь напишет!
МГИМО
Tortuga













