Автоматическое составление тестовых заданий для контроля знаний по методам оценки надежности программного обеспечения
Автор: Павлов Егор Михайлович, Рыжов Александр Владимирович, Петров Сергей Андреевич
Рубрика: Информатика и вычислительная техника
Статья в выпуске: 3, 2022 года.
Бесплатный доступ
Целью данной статьи является описание процесса автоматизации составления тестовых заданий для контроля знаний по методам оценки надежности программного обеспечения. Рассмотрены виды математических моделей, используемые в разработанной системе генерации тестовых заданий, и их свойства. Описаны особенности пользовательского интерфейса. Также дано описание процесса генерации заданий, включающего в себя подготовку исходных данных с расчетом показателей по соответствующим моделям и формирование текстовых файлов с изображениями.
Автоматизация, математические модели, оценка надежности, тестирование, дистанционное обучение
Короткий адрес: https://sciup.org/148325011
IDR: 148325011 | DOI: 10.18137/RNU.V9187.22.03.P.179
Текст научной статьи Автоматическое составление тестовых заданий для контроля знаний по методам оценки надежности программного обеспечения
В реалиях современного мира дистанционное обучение обретает широкую популярность в образовательном процессе. Вузы, колледжи и школы создают полноценные ин-тернет-курсы, а учащиеся получают возможность посещать занятия, выполнять задания и проходить тестирование удаленно. В Московском энергетическом институте (Национальном исследовательском университете) для этих целей используется система дистанционного обучения «Прометей» (далее – СДО «Прометей») [4].
Для СДО «Прометей» одним из типов тестовых заданий является анализ и оценка надежности программного обеспечения (далее – ПО). Данный тип заданий предполагает определение зависимости надежности ПО от ранее известных, или измеряемых, параметров [3]. Учащиеся производят оценку надежности при помощи следующих математических моделей:
-
• Миллса;
-
• Коркорэна;
-
• Шумана;

Павлов Егор Михайлович магистрант. Московский энергетический институт (Национальный исследовательский университет), Москва. Сфера научных интересов: разработка программного обеспечения, информационные системы.

-
• Джелинского – Моранды [5].
В полученном задании описываются сформированные исходные данные (заранее известные параметры), на основании которых учащийся должен произвести оценку надежности и в зависимости от вида модели расчет других показателей. Результаты расчетов учащийся вносит в соответствующие поля.
Проверка ответа осуществляется автоматически на основании значений в текстовом файле, загруженном преподавателем в систему СДО «Прометей».
Тестовые задания составляются вручную ответственным преподавателем. Однако процесс ручного составления тестов занимает много времени. Автоматизация процесса составления тестовых заданий позволяет сократить временные затраты и снизить вероятность возникновения ошибок [7].
Для решения данной задачи разработана система генерации тестовых заданий для оценки надежности ПО по четырем математическим моделям.
Математические модели
При разработке системы планируется реализовать возможность генерации тестовых заданий с использованием четырех вышеописанных аналитических моделей оценки надежности ПО.
При использовании модели Миллса предполагается, что перед началом тестирования в программу искусственно вносится некоторое количество известных ошибок.
Свойства модели:
-
• ошибки вносятся случайным образом и фиксируются в протоколе искусственных ошибок;
-
• количество и характер внесенных ошибок неизвестны до момента оценки;
-
• все ошибки имеют равную вероятность быть найденным в процессе тестирования.
Модель Коркорэна дает возможность оценить вероятность безотказного выполнения программы на момент оценки.
Автоматическое составление тестовых заданий для контроля знаний по методам оценки ...
Свойства модели:
-
• учитывается только результат N испытаний, в которых наблюдается N i ошибок i -го типа;
-
• модель использует изменяющиеся вероятности отказов для различных типов ошибок и разную вероятность их исправления;
-
• выявление в ходе N испытаний ошибки i -го типа появляется с вероятностью a i [2].
Модель Шумана предполагает, что тестирование проводится в несколько этапов, каждый из которых представляет собой выполнение программы по набору тестовых данных.
Свойства модели:
-
• выявленные в течение этапа ошибки регистрируются, но исправляются лишь по завершении этапа;
-
• при корректировке новые ошибки не вносятся;
-
• интенсивность обнаружения ошибок пропорциональна числу оставшихся.
При использовании модели Джелинского – Моранды предполагается, что при тестировании фиксируется время до очередного отказа.
Свойства модели:
-
• время до следующего отказа распределено экспоненциально;
-
• выявленные в течение этапа ошибки регистрируются, но исправляются лишь по завершении этапа;
-
• при корректировке новые ошибки не вносятся;
-
• интенсивность обнаружения ошибок пропорциональна текущему количеству ошибок;
-
• все ошибки равновероятны и одинаково важны [1].
Процесс генерации
Система генерации тестовых заданий разработана с использованием языка программирования C# и языка структурированных запросов Transact-SQL (T-SQL). Взаимодействие с пользователем осуществляется с помощью графического интерфейса. В качестве технологии реализации интерфейса выбрана Windows Forms.
Процесс генерации начинается с выбора пользователем необходимой математической модели. Выбор модели осуществляется при помощи нажатия на кнопку с названием соответствующей модели (см. Рисунок 1).

Рисунок 1. Интерфейс системы
Результат генерации появляется в текстовом поле в окне приложения. Ознакомившись с результатом, пользователь может либо вновь запустить процесс генерации по одной из моделей, либо сохранить полученный результат, нажав на кнопку «Сохранить». При сохранении формируется текстовый файл с заданием необходимого типа. Предполагаемый ответ также вносится в файл для дальнейшего сравнения с ответом студента (см. Рисунок 2).
? Число известных типов ошибок: :рисунок = 0_0,524.png :тип = 3 :порог = 100 |
5. Общее кол-во испытаний: |
75. Количество безотказны |
*0,524 |
Рисунок 2. Текстовый файл с заданием
Также во всех моделях (кроме модели Миллса) помимо текстового файла создается изображение с таблицей, содержащей некоторые исходные параметры (см. Рисунок 3). В таком виде оба файла загружаются в СДО «Прометей».
Кол-во ошибок и вероятность их появления
Ошибка № 1 |
Ошибка № 2 |
Ошибка № 3 |
Ошибка № 4 |
Ошибка № 5 |
|
N. 1 |
15 |
28 |
30 |
25 |
10 |
ai |
0,07 |
0,1 |
0,02 |
0,04 |
0,77 |
Рисунок 3. Изображение таблицы с исходными данными
Для генерации тестовых заданий используются классы, каждый из которых соответствует определенной модели оценки надежности ПО. У каждого из этих классов имеются схожие методы.
За генерацию данных отвечает метод public void Data Generate (Sql Connectionsql Connection). Здесь происходит формирование исходных параметров и расчет всех показателей по соответствующей модели. Параметры генерируются в случайном диапазоне, значения границ которых содержатся в базе данных. Также в нем происходит вызов ряда методов, отвечающих за создание таблицы и ее последующее преобразование в формат HTML.
Для сохранения файлов в каждой модели используется метод publicvoid Save Data (refinttask Number). С помощью класса Stream Writer в нем происходит генерирование текстового файла с соответствующей для СДО «Прометей» схемой разметки [6].
Для преобразования HTML-кода в изображение используется класс Html Render. В методе Save HtmlAsPNGAsync() происходит генерация веб-страницы и вставка созданного ранее HTML-кода в отдельном потоке. В методе webBrowser_Document Completed() происходит считывание содержимого сгенерированной веб-страницы и его преобразование в точечный рисунок. Полученное изображение сохраняется в формате png. Вышеописанный метод имеет следующий вид:
Автоматическое составление тестовых заданий для контроля знаний по методам оценки ...
WebBrowserwebBrowser = (WebBrowser)sender;
}
После генерации всех файлов происходит сохранение данных в таблицу Log – значение даты и времени создания файлов, путь к файлам, а также идентификатор математической модели.
В результате работы каждого из вышеперечисленных методов формируется готовое задание для дальнейшей проверки преподавателем остаточных знаний студентов.
Эффективность системы
Благодаря использованию данной системы, преподаватель затрачивает меньше времени на подготовку тестовых заданий, а также уменьшается вероятность ошибки при их составлении. Для расчета экономии времени было произведено измерение каждого из этапов составления задания. Для измерения использовались методы класса Stopwatch.
Для расчета среднего составления задания было произведено измерение времени генерации данных по наименее и наиболее трудоемкой модели. Учитывалось время генерации всех показателей, а также формирование текстового файла с изображением.
При учете среднего времени ручного составления задания, равного 3 минутам (или 180000 миллисекундам), и времени автоматического составления, равного 12,5 миллисекундам, можно сделать вывод, что при подготовке заданий для 40 студентов преподавателем будет сэкономлено 2 астрономических часа.
Заключение
Представлена реализация системы генерации тестовых заданий для контроля знаний по методам оценки надежности программного обеспечения. Данная система позволяет сократить временные затраты преподавателя на составление заданий, а также снизить вероятность возникновения ошибок при расчетах.
Таким образом, автоматизация процесса составления тестовых заданий является эффективным решением проблемы большой трудоемкости подготовки исходных данных и формирования текстовых документов с изображениями.
Список литературы Автоматическое составление тестовых заданий для контроля знаний по методам оценки надежности программного обеспечения
- Василенко Н.В., Макаров В.А. Модели оценки надежности программного обеспечения // Вестник Новгородского государственного университета. Серия: Автоматика. Вычислительная техника. 2004. № 28. С. 126-132.
- Зубкова Т.М. Технология разработки программного обеспечения: учебное пособие. СПБ.: Лань, 2019. 324 с.
- Наумов А.А., Айдинян А.Р. Надежность программного обеспечения и методы ее повышения // Инженерный вестник Дона. Серия: Экономика. Экономические науки. 2018. № 49. С. 98.
- Официальный сайт НИУ "МЭИ". Инструменты текущего контроля [Электронный ресурс]. URL: https://mpei.ru/online/employees/Pages/skz.aspx (дата обращения: 20.07.2022).
- Павлов Е.М., Рыжов А.В., Петров С.А. Обзор моделей оценки надежности программного обеспечения // Радиоэлектроника, электротехника и энергетика: тезисы докладов 28-й Международной научно-технической конференции студентов и аспирантов. М., 2022. С. 267.
- Прозорова Ю.Ю. Организация самостоятельной работы студентов в СДО "Прометей" // Современные тенденции экономики, управления и образования: сборник статей по материалам международной научно-практической конференции (Курск, 11 апреля 2017 г.). / Курский институт кооперации (филиал) Автономной некоммерческой организации высшего профессионального образования "Белгородский университет кооперации, экономики и права", 2017. 332 c. 978-5-9500119-7-9.
- ISBN: 978-5-9500119-7-9 EDN: YSLHUD
- Швецов А.Н., Сергушичева А.П. Опыт применения метода автоматической генерации тестовых заданий // Образовательные технологии и общество. Серия: Народное образование. Педагогика. 2017. № 4. С. 318-333.