Тип работы:
Предмет:
Язык работы:


Система автоматизации тестирования студенческих программных реализаций на языке си

Работа №187059

Тип работы

Дипломные работы, ВКР

Предмет

физика

Объем работы51
Год сдачи2024
Стоимость4500 руб.
ПУБЛИКУЕТСЯ ВПЕРВЫЕ
Просмотрено
5
Не подходит работа?

Узнай цену на написание


Аннотация 2
ВВЕДЕНИЕ 6
1 Обзор по теме исследования 7
1.1 Платформа Яндекс Практикум 7
1.2 Плагин Code runner 10
1.3 Методы и подходы к тестированию 13
1.4 Формализация заданий лабораторных работ 14
2 Реализация системы для тестирования 21
2.1 Генерация тестов 21
2.2 Подключение тестируемой программы студента к системе 24
2.3 Блок-схема программы тестирования 26
3 Эксперименты с полученной системы 28
ЗАКЛЮЧЕНИЕ 32
СПИСОК ИСПОЛЬЗОВАННОЙ ЛИТЕРАТУРЫ 33
ПРИЛОЖЕНИЕ A 34
ПРИЛОЖЕНИЕ B 34
ПРИЛОЖЕНИЕ C 37


В наше время программирование становится все более популярной областью интереса в научном сообществе. Навыки программирования можно приобрести как в учебных заведениях, так и самостоятельно через онлайн-курсы или литературу. Однако для освоения навыков правильного и эффективного написания программного кода необходима практика. Государственные учебные заведения предоставляют студентам лабораторные работы, предназначенные для закрепления теоретических знаний на практике. Обычно эти работы проверяются преподавателями, обладающими опытом выявления ошибок в программах студентов.
К сожалению, преподаватель не всегда в состоянии обнаружить все ошибки в коде, и проверка работ требует значительного времени. В связи с этим возникает необходимость в использовании системы тестирования для автоматизации процесса проверки. Тестирование представляет собой процесс выполнения программы с целью выявления ошибок. Обозначим, что ошибка - это несоответствие спецификации.
Даже опытный программист или отличный студент сталкиваются с трудностью генерации большого числа тестов для каждой программы. Целью данной научной работы является разработка инструмента для автоматизации проверки студенческих работ и генерации тестов.
В рамках решения вышеописанной проблемы будет создан инструмент, который позволит студентам написать свой код, а затем автоматически получить соответствующую оценку от системы. Преподаватель сможет видеть оценки студентов и, при необходимости, добавлять свои тесты для более глубокого тестирования.
Актуальность данной работы обусловлена недостатком систем для проверки кода обучающихся из-за их ограниченности. В данной работе будут рассмотрены проблемы существующих систем и проанализирован функционал плагина Code Runner для системы управления образовательными электронными курсами Moodle, так как эта структура используется нашим университетом, включая мой факультет. 


Возникли сложности?

Нужна помощь преподавателя?

Помощь в написании работ!


В ходе выполнения данной выпускной квалификационной работы была успешно разработана и внедрена система автоматического тестирования кода для студентов, написанного на языке Си. Основная цель исследования — создание эффективного инструмента для автоматизации проверки студенческих программных реализаций — была достигнута. Путем поиска недостатков плагина Code runner для образовательной платформы Moodle и системы проверки кода от Яндекс Практикум, мы определили, что необходимо создать собственный инструмент для тестирования функций студентов на языке Си. Провели формализацию самих заданий в лабораторных работах у студентов. Рассмотрели процесс создания тестов с помощью методологии черного ящика и использования метод эквивалентного разбиения. Определили структуру содержания шаблона для функций из лабораторных работ. Также выбрали в качестве перекомпиляции студенческих представлений динамическую библиотеку. Реализовали Dll в созданной системе для проверки функций студентов. Привели блок-схему готовой программы на данный момент и провели эксперименты над двумя функциями из лабораторных работ. На данный момент в системе присутствует 8 функций для их тестирования.


1. Плагин Code Runner для системы дистанционного обучения Moodle [Электронный ресурс] / URL: https://moodle.org/plugins/qtype_coderunner (дата обращения 15.12.2023).
2. Кроссплатформенная сборка локального веб-сервера XAMPP [Электронный ресурс] / URL: https://www.apachefriends.org/ru/index.html (дата обращения 14.05.2023).
3. Программа для контейнеризации Docker [Электронный ресурс] / URL: https://www.docker.com (дата обращения 14.12.2023).
4. Образ контейнера JobeInABox [Электронный ресурс] / URL: https://github.com/trampgeek/jobeinabox (дата обращения 14.12.2023).
5. Модульное тестирование [Электронный ресурс] / URL:
https://otus.ru/journal/modulnoe-testirovanie-ot-a-do-ya/ (дата обращения 24.05.2023).
6. Майерс, Глен. "Искусство тестирования программ." 1982. Пер. с англ. под ред. Б. А. Позина. - М.: Финансы и статистика - 176 с. (дата обращения 29.09.2023).
7. Данные JSON в SQL Server [Электронный ресурс] / URL: https://learn.microsoft.com/ru-ru/sql/relational-databases/json/json-data-sql-server?view=sql- server-ver15 (дата обращения 24.12.2023).
8. Библиотека JSON для Python [Электронный ресурс] / URL: https://pynative.com/python/json/ (дата обращения 15.05.2023).
9. Библиотека Numpy для Python [Электронный ресурс] / URL: https://numpy.org/doc/stable/index.html (дата обращения 14.12.2023).
10. Создание библиотек DLL на C и C++ [Электронный ресурс] / URL: https://learn.microsoft.com/ru-ru/cpp/build/dlls-in-visual-cpp?view=msvc-170 (дата обращения 22.12.2023).
11. Использование набора инструментов Microsoft C++ из командной строки [Электронный ресурс] / URL: https://learn.microsoft.com/ru-ru/cpp/build/building-on-the- command-line?view=msvc-170 (дата обращения 22.05.2023).
12. Параметры компилятора [Электронный ресурс] / URL:
https://learn.microsoft.com/ru-ru/cpp/build/reference/compiler-options?view=msvc-170 (дата
обращения 20.12.2023).
13. Связывание [Электронный ресурс] / URL: https://learn.microsoft.com/ru-
ru/cpp/build/reference/linking?view=msvc-170 (дата обращения 21.12.2023).
14. Яндекс Практикум [Электронный ресурс] / URL: https://practicum.yandex.ru/ (дата обращения 21.03.2024).



Работу высылаем на протяжении 30 минут после оплаты.




©2025 Cервис помощи студентам в выполнении работ