ИТО
Министерство образования и науки Российской Федерации
Автономная некоммерческая организация 
«Информационные технологии в образовании»
Министерство образования и молодежной политики Чувашской Республики
Чувашский государственный педагогический университет им. И.Я. Яковлева
Всероссийская научно-практическая конференция  "Информационные технологии в науке и образовании"
"ИTO-Чебоксары-2012"

Распространяемая версия системы автоматизированного тестирования навыков программирования NSUTs

Авторы: Иртегов Дмитрий Валентинович 1Черненок Сергей Анатольевич 2Воронков Александр Дмитриевич 2
1 Новосибирский государственный университет, 2 магистрант ММФ НГУ, 3 магистрант ФИТ НГУ
В рамках проекта NSUTs разработана система автоматизированного тестирования навыков программирования, пригодная для проведения студенческих и школьных соревнований по программированию, промежуточного контроля в ходе обучения студентов и школьников программированию и ряда других целей. Планируется бесплатное распространение системы для использования в учебных заведениях.

Автоматическое тестирование навыков программирования все шире применяется для различных целей, в том числе для проведения олимпиад по программированию и для промежуточный контроль при обучении студентов и школьников программированию.  Элементы такого тестирования находят применение в сертификационном тестированиии, при проверке квалификации кандидатов в службах трудоустройства или в качестве одного из этапов собеседования при трудоустройстве в IT-компании.  Тестирование навыков программирования в ряде отношений похоже на автоматизированное тестирование, используемое при разработке программного обеспечения, но имеет и ряд существенных отличий.  Эти отличия не позволяют использовать тестирующие среды, применяемые при разработке ПО, такие, как JUnit. 

Полный список требований к системе тестирования навыков программирования, выработанный на основе опыта проведения региональных и открытых олимпиад по программироваиню и применения таких систем в учебном процессе, приведен в работе [1].  Многие российские и зарубежные ВУЗы и оргкомитеты соревнований по программированию, занимаются разработкой и поддержкой собственных тестирующих сред.  Большинство таких сред практически неотчуждаемы, вплоть до того, что заставить систему работать в отсутствие ее разработчика просто невозможно.  Иногда это объясняется попытками обеспечить "безопасность через закрытость" (разработчик утверждает, что публикация бинарных или, тем более, исходных кодов системы спровоцировала бы участников соревнований на поиск уязвимых мест в системе), чаще же открыто признается, что разработчики не имеют ресурсов на разработку отчуждаемого продукта.

В рамках проекта NSUts (Novosibirsk State University Testing System) [2] была предпринята попытка разработать отчуждаемую версию системы тестирования, которая могла бы быть развернута и настроена системным администратором средней квалификации.  Система обеспечивает проведение различных. в том числе перекрывающихся по времени, тестирований, регистрацию пользователей (как саморегистрацию через публичный веб-интерфейс, так и на основе заранее подготовленных списков), прием тестируемых программ через веб-интерфейс, их прогон на заранее подготовленных наборах тестов, учет результатов тестирования и подсчет рейтинга по различным правилам. NSUts состоит из трех основных компонентов (см. рис. 1)

рис. 1.  Архитектура системы NSUTs.

  1. Сервер системы, обеспечивающий веб-интерфейс для пользователей и администраторов системы и координацию работы тестирующих клиентов
  2. Сервер базы данных, обеспечивающий хранение всех данных системы - учетных данных пользователей, очереди тестируемых задач, результатов тестирования и др.
  3. Один или несколько тестирующих клиентов - выделенных компьютеров, на которых осуществляется, собственно, тестирование.

Система проходит регулярное тестирование в режиме "непрерывного бета-тестирования" в ходе тренировок сборной НГУ по программированию; также, система применяется при проведении Открытой Всесибирской Олимпиады по программированию им. Поттосина и ряда других соревнований.  Автор пользуется случаем пригласить желающих принять участие в публичном бета-тестировании распространяемой версии системы.

Список использованных источников
  1. Иртегов Д.В. Требования к автоматической системе тестирования знаний // Материалы VI Международной научно-практической конференции «Интеллектуальные технологии в образовании, экономике и управлении», Воронеж 2010. - с 309 – 314
  2. Воронков А.Д, Киров А.В., Конышева Е.Н. Модернизация системы тестирования олимпиад по программированию // Материалы XLVIII Международной научной студенческой конференции «Студент и научно-технический прогресс»: Информационные технологии / Новосиб. гос. ун-т. – Новосибирск, 2010. – С. 125.
Тип выступления  Публикация
Ключевые слова  Автоматизированное тестирование, обучение программированию, олимпиады по программированию

В статусе «Черновик» Вы можете производить с тезисами любые действия.

В статусе «Отправлено в Оргкомитет» тезисы проходят проверку в Оргкомитете. Статус «Черновик» может быть возвращен тезисам либо если есть замечания рецензента, либо тезисы превышают требуемый объем, либо по запросу участника.

В статусе «Рекомендован к публикации» тезис публикуется на сайте. Статус «Черновик» может быть возвращен либо по запросу участника, либо при неоплате публикации, если она предусмотрена, либо если тезисы превышают требуемый объем.

Статус «Опубликован» означает, что издана бумажная версия тезиса и тезис изменить нельзя. В некоторых крайне редких ситуацих участник может договориться с Оргкомитетом о переводе тезисов в статус «Черновик».

Статус «Отклонен» означает, что по ряду причин, которые указаны в комментариях к тезису, Оргкомитет не может принять тезисы к публикации. Из отклоненных тезис в «Черновики» может вернуть только Председатель программного или председатель оргкомитета.