|

Программная подсистема тестирования знаний языков описания аппаратуры

Авторы: Астахов С.В., Лапшин Н.В.
Опубликовано в выпуске: #6(83)/2023
DOI: 10.18698/2541-8009-2023-6-903


Раздел: Информатика, вычислительная техника и управление | Рубрика: Автоматизация и управление технологическими процессами и производствами

Ключевые слова: тестирование знаний, язык описания аппаратуры, HDL, Verilog, система дистанционного обучения, образовательный портал, микросервисная архитектура, Golang, функциональное тестирование, нагрузочное тестирование

Опубликовано: 19.06.2023

Статья посвящена разработке программной подсистемы для тестирования знаний языков описания аппаратуры, которая предоставляет возможности по управлению учебными материалами и автоматической проверке заданий, в том числе заданий на описание аппаратных устройств на языке Verilog. Проведен анализ существующих систем тестирования знаний, в ходе анализа сформулированы функциональные требования и составлена диаграмма вариантов использования программной подсистемы для тестирования знаний языков описания аппаратуры. Спроектированы архитектура и компоненты подсистемы. При разработке использована микросервисная архитектура, большинство микросервисов реализовано на языке программирования Golang. Кроме того, для работы с временными диаграммами применяли язык Python и библиотеку PyDigitalWaveTools. Для симуляции поведения цифровых устройств использована программа Icarus Verilog. Проведено функциональное и нагрузочное тестирование разработанной подсистемы.


Литература

[1] Ильина Е.А., Егорова Л.Г., Дьяконов А.В. Технология тестирования знаний студентов с использованием системы. Математическое и программное обеспечение систем в промышленной и социальной сферах, 2011, № 1–3, с. 166–172.

[2] Иванова Г.С. Технология программирования. Москва, Кнорус, 2016, 333 с.

[3] The C4 model for visualising software architecture. URL: https://c4model.com/ (дата обращения 01.02.2023).

[4] Мычко С.И. Микросервисная архитектура. Информационные технологии. Межвуз. сб. науч. тр. Рязань, РГРТУ, 2019, с. 166–168.

[5] Основы правил проектирования базы данных. URL: https://habr.com/ru/articles/514364/ (дата обращения 05.03.2023).

[6] Симуляция проекта с помощью Icarus-Verilog. URL: https://marsohod.org/11-blog/113-icarus (дата обращения 13.03.2023).

[7] PyDigitalWaveTools. URL: https://github.com/Nic30/pyDigitalWaveTools (дата обращения 27.03.2023).

[8] Hitchhiker’s Guide to the WaveDrom. URL: https://wavedrom.com/tutorial.html (дата обращения 03.04.2023).

[9] Зиганшина М.Р., Валиуллина Д.И., Зиганшин И.А. Применение фреймворка Pytest для тестирования программного кода на языке Python. Ученый XXI века. Междунар. науч.-исследовательский конкурс: сб. ст. Пенза, Наука и Просвещение, 2022, с. 35–37.

[10] Allure — фреймворк от Яндекса для создания отчетов автотестов. URL: https://habr.com/ru/companies/yandex/articles/232697/ (дата обращения 12.04.2023).

[11] Locust — A modern load testing framework. URL: https://locust.io/ (дата обращения 18.04.2023).