Построение XML-файлов для хранения данных компьютерных систем тестирования знаний по спецификации QTI

В статье рассматриваются принципы формирования XML-файлов для хранения баз вопросов компьютерных систем тестирования. Подробно описаны необходимые элементы XML-файлов, а также их структура. 

В Инновационном Евразийском университете в Центре тестирования используется компьютерная система тестирования знаний студентов. В данной системе есть недостаток: она несовместима с другими системами. Базу вопросов из другой системы в ней использовать нельзя. Эту проблему можно решить при использовании спецификации QTI (Question and Test Interoperability – унифицированные вопросы и тесты), предложенной консорциумом IMS (Instructional Management System).

В   рамках   разработки   магистерских   диссертаций   ведется   создание   программ    тестирования в Инновационном Евразийском университете и в колледже ИнЕУ.

C установлением единого образовательного пространства появилась необходимость в разработке единого стандарта для оформления и разработки системы компьютерного тестирования. Такие системы должны быть полностью совместимы между собой, чтобы тестовые задания из одной системы можно было перенести в другую без искажения их содержания и с однозначной трактовкой. Таким стандартом стала спецификация консорциума IMS-QTI. Целью создания нового формата было обеспечение взаимодействия между системами.

Первая версия спецификации была простой модификацией другого стандарта – QML (Questions Markup Language – язык разметки вопросов). Распространение стандарт получил лишь после 2002 года, когда была разработана версия QTI 1.2. В этой спецификации описаны практически все используемые при тестировании знаний типы вопросов: вопросы закрытого типа, вопросы с вариантами ответов, вопросы на соответствие, вопросы на классификацию и т.д. В настоящее время последней версией является вышедшая в 2008 году спецификация QTI 2.1, но она является незавершенной, поэтому большинство разработчиков все еще пользуется спецификацией 1.2.

Качественные тестовые задания очень трудоемки для написания и проверки, поэтому наличие стандартного языка описания тестовых заданий позволит гарантировать возможность дальнейшей работы с ним. Гораздо выгоднее потратить время на оформление тестовых заданий по единому стандарту, чем потом вручную переносить их в другую систему.

Спецификация QTI содержит в себе модель данных, определяющую структуру вопросов, оценку и результаты опросов для хранения в формате XML (eXtensible Markup Language — расширяемый язык разметки).  Чаще   всего   спецификация   используется   именно   для   описания   вопросов,   потому что в оценочной части еѐ использование не так критично.

Основными понятиями структуры данных для компьютерных систем тестирования знаний по спецификации QTI являются (рисунок 1):

 Структура элемента <objectbank>   

Рисунок 1 – Структура элемента <objectbank>

  1. Вопрос (Item) – комбинация собственно вопроса, описания вопроса (вариантов ответа, правильного ответа, комбинаций ответов и т.д.) и оценочной информации;
  2. Раздел (Section) – набор из нуля и более вопросов или других разделов;
  3. Банк объектов (Objectbank) – набор вопрос и/или секций, которые были сгруппированы с целью формирования банка объектов.

При формировании отчета по результатам тестирования используется такая же структура. Отчеты могут содержать в себе сумму всех результатов и/или детализированную информацию по каждому вопросу с учетом секций. Каждый отчет о тестировании хранится в отдельном пакете с описанием способа оценки тестирования и информацией о протестировавшемся.

XML представляет собой текстовый формат для хранения структурированных данных, позволющий заменить собой файлы баз данных, которые удобно использовать для передачи информации между программами [1]. Структура XML файла визуально может быть представлена в виде дерева элементов. Элементы описываются при помощи тэгов. Первая строка XML файла содержит объявление XML, в ней указывается версия стандарта XML, а также кодировка символов. QTI использует XML версии 1.2. Спецификация  требует  обязательно  поддержки  кодировок  Unicode  (8,16),  допустимыми    считаются и русские кодировки Windows cp-1251 и KOI-8. В ИнЕУ разрабатывается система тестирования знаний студентов, в которой планируется поддержка нескольких языков и кодировки Уникод. Декодирование может быть выполнено как для всего документа, так и для конкретных атрибутов и текстов. Весь документ не содержит запрещѐнных символов при попытке разбора с неправильной кодировкой.

После объявления XML следует корневой элемент документа, который на весь документ может быть только один. В нем и будут описываться необходимые для тестовых заданий пункты – вложенные элементы корневого элемента. Согласно спецификации QTI, используемые имена тэгов, их последовательность и структура описываются в специальном файле – DTD (Document Type Definitions – Определения типа документа). DTD могут храниться как внутри XML документа, так и в виде отдельного файла. DTD определяют, какие элементы могут быть использованы при описании вопросов, а также может определяться содержание элементов [2].

Некоторые XML редакторы могут использовать DTD, чтобы помочь разработчику создавать правильные элементы в правильных местах XML документа, существенно упрощая его работу. XML документ будет считаться валидным (допустимым к использованию) только в том случае, если к нему прилагается DTD и элементы, которые содержаться в этом XML документе описаны в прилагающимся к нему DTD.

Рассмотрим примерную структуру XML файла, описывающую вопросы, связанные со спецификацией QTI [3]. Корневым элементом файла является <questestinterop>, он является внешним контейнером тестирований, разделов и вопросов. Этот элемент должен содержать в себе следующие подэлементы (рисунок 1):

Элемент <qticomment> содержит в себе комментарии, которые относятся к структуре в целом. Они хранятся в строковом виде. В элементе <objectbank> описываются разделы и вопросы, которые будут объединены в один банк объектов. Атрибут элемента <objectbank>, ident содержит в себе уникальный идентификатор описываемого банка объектов. Этот идентификатор задается уникальным для всей системы и содержит в себе подэлементы (рисунок 1):

  1. qticomment (содержит комментарий об описываемом банке объектов в виде строки);
  2. qtimetadata (содержит в себе словарь метаданных характерных для спецификации QTI);
  3. section (информация о входящих разделов);
  4. item (информация о входящих вопросов).

В элементе <assessment> описывает структуру обмена данными для тестирования в целом, в нее всегда входит хотя бы один раздел, а также могут входить метаданные, задачи тестирования, переключатели рубрик, описание обработки результатов и т.д. Элемент содержит атрибут title (название тестирования), ident – идентификационный шифр тестирования, а также необязательный атрибут xml:lang, в котором указывается версия XML.

Этот элемент содержит в себе следующие подэлементы (рисунок 2):

  1. qticomment (строка комментария для тестирования);
  2. duration (описывает продолжительность тестирования);
  3. qtimetadata (содержит в себе словарь метаданных характерных для спецификации QTI);
  4. objectives (описывает образовательные и цели тестирвоания);
  5. rubric (краткое описание контекстных для рубрики данных, которая может быть полезна для проходящего тестирование);
  6. assessmentcontrol (переключатели включающие/выключающие подсказки, отображение правильных ответов, отображение результата тестирования на лету);
  7. presentation_material (информация для описания контекста всех элементов тестирования);
  8. outcomes_processing (описание алгоритма обработки результатов тестирования);
  9. assessproc_extension (используется для описания альтернативных лицензионных методов обработки результатов тестирования);
  10. assessfeedback (содержит элементы обратной связи для тестируемого, описывает способ представления результатов тестирования):
  • qticomment;
  • material (содержит описание материалов, которые будут предоставлены тестируемому в качестве результатов тестирования);
  • flow_mat (порядок выведения материалов обратной связи);
  1. selection_ordering (описывает алгоритм выбора вопросов и разделов для тестирования);
  2. reference (содержит в себе учебный материал, описывающий предмет тестирования, он может быть как доступен тестируемому, так и недоступен);
  3. sectionref (используется, чтобы включить в тестирование разделы, которые объявлены в другом месте, но имеют отношения к тестированию);

 Структура элемента <assessment>

Рисунок 2 – Структура элемента <assessment> 

Элемент <section> имеет такие же атрибуты, как и элемент тестирования. В его состав входят следующие подэлементы (рисунок 3):

  1. qticomment (строка комментария для раздела);
  2. duration (описывает количество времени, которое дается тестируемому на прохождение раздела);
  3. qtimetadata (содержит в себе словарь метаданных характерных для спецификации QTI);
  4. sectionprecondition (описание условий, при которых секция будет доступна для тестирования);
  5. sectionpostcondition(описание условий, при которых следующая секция будет доступна для тестирования);
  6. objectives (описывает образовательные цели тестирвоания);
  7. rubric (краткое описание контекстных для рубрики данных, которая может быть полезна для проходящего тестирование);
  8. sectioncontrol (переключатели включающие/выключающие подсказки, отображение правильных ответов, отображение результата тестирования на лету);
  9. presentation_material (информация для описания контекста всех элементов раздела);
  10. outcomes_processing (описание алгоритма обработки результата на уровне раздела);
  11. sectionproc_extension (описание альтернативного алгоритма обработки результатов);
  12. sectionfeedback (содержит элементы обратной связи для тестируемого, описывает способ представления результатов);
  13. selection_ordering (описание алгоритма выбора вопросов из раздела);
  14. reference (содержит в себе учебный материал, описывающий раздел, он может быть как доступен тестируемому, так и недоступен);
  15. sectionref (для включения в раздел разделов, описанных в другом месте, но имеющих отношение к этому разделу);
  16. section (описание подсекций);
  17. itemref (для включения в раздел вопросов, описанных в другом месте, но имеющих отношение к этому разделу);

 Структура элемента <section>

Рисунок 3 – Структура элемента <section> 

Элемент  <item>  содержит  в  себе  описание  структуры  тестового  задания  (вопроса).  Он   имеет 5 атрибутов (рисунок 4): title(содержит имя вопроса), label (содержит отображаемое имя), ident (уникальный номер вопроса), maxattempts (максимальное количество попыток на вопрос), а также необязательный атрибут xml:lang, в котором указывается версия XML. 

 Структура элемента <Item>

Рисунок 4 – Структура элемента <Item> 

Содержит следующие подэлементы:

  1. qticomment (строка комментария для раздела);
  2. duration (описывает количество времени, которое дается тестируемому на вопрос);
  3. itemmetadata (содержит в себе метаданные, применимые к вопросу);
  4. qtimetadata (содержит в себе словарь метаданных характерных для спецификации QTI):
  • qmd_computerscored (может ли вопрос быть оценен компьютером);
  • qmd_feedbackpermitted (доступна ли обратная связь для этого вопроса);
  • qmd_hintspermitted (разрешены ли для этого вопроса подсказки);
  • qmd_itemtype (указывает тип вопроса);
  • qmd_levelofdifficulty (указывает уровень сложности вопроса);
  • qmd_maximumscore (указывает максимальный балл за вопрос);
  • qmd_renderingtype (используемый для вопроса тип отображения);
  • qmd_responsetype (указывает, какой тип ответа ожидается на вопрос);
  • qmd_scoringpermitted (разрешен ли подсчет баллов за этот вопрос);
  • qmd_solutionspermitted (разрешено ли отображение решения);
  • qmd_status (статус вопроса: доступен/недоступен);
  • qmd_timedependence (зависит ли балл за вопрос от затраченного времени);
  • qmd_timelimit (ограничение по времени в минутах);
  • qmd_toolvendor (название генератора, породившего вопрос);
  • qmd_topic (краткое описание темы вопроса);
  • qmd_weighting («вес» вопроса для тестирования);
  • qmd_material (описание учебного материала, относящегося к вопросу);
  • qmd_typeofsolution (тип решения, доступного для вопроса);
  1. objectives (описывает образовательные цели вопроса);
  2. itemcontrol (переключатели включающие/выключающие подсказки, отображение правильных ответов, отображение результата тестирования на лету);
  3. itemprecondition (описывает условие, при котором вопрос будет доступен в тестировании);
  4. itempostcondition (описывает    условие,    при    котором       следующий       вопрос      будет      доступен в тестировании);
  5. itemrubric (краткое описание контекстных для рубрики данных, которая может быть полезна для проходящего тестирование. Использование элемента rubric предпочтительнее, чем itemrubric);
  6. rubric (краткое описание контекстных для рубрики данных, которая может быть полезна для проходящего тестирование);
  7. presentation (описывает отображаемую информацию о вопросе при оценке);
  8. resprocessing (описание алгоритма обработки ответа на вопрос);
  9. itemproc_extension (описание альтернативного алгоритма обработки ответа на вопрос);
  10. itemfeedback (содержит элементы обратной связи для тестируемого, описывает способ представления результатов тестирования).

Таким образом, в системе компьютерного тестирования знаний должна быть реализована функция формирования XML-документа с использованием нотаций спецификации QTI при создании новой программы тестирования. Так как пользоваться этой системой для составления тестовых заданий будут не всегда IT-специалисты, необходима разработка интуитивно понятного интерфейса с графическим представлением структуры как всего тестирования, так и каждого тестового задания по отдельности.

 

Литература

  1. Дэвид Хантер, Джефф Рафтер и др. XML. Базовый курс - Beginning XML. - М.: Вильямс, - 1344 с.
  2. Сергеев А. П. HTML и XML. Профессиональная работа. - М.: Диалектика, 2004. - 880 с.
  3. Гужов В.И., Данин В.Ю., Пинтус Е.С. Тестирования на основе спецификации IMS QTI // Материалы X Всероссийской научно-методической конференции «Телематика 2003» - Новосибирск, 2003. - С. 238-243.
Год: 2011
Город: Павлодар