В статье рассматриваются принципы формирования 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):
Рисунок 1 – Структура элемента <objectbank>
- Вопрос (Item) – комбинация собственно вопроса, описания вопроса (вариантов ответа, правильного ответа, комбинаций ответов и т.д.) и оценочной информации;
- Раздел (Section) – набор из нуля и более вопросов или других разделов;
- Банк объектов (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):
- qticomment (содержит комментарий об описываемом банке объектов в виде строки);
- qtimetadata (содержит в себе словарь метаданных характерных для спецификации QTI);
- section (информация о входящих разделов);
- item (информация о входящих вопросов).
В элементе <assessment> описывает структуру обмена данными для тестирования в целом, в нее всегда входит хотя бы один раздел, а также могут входить метаданные, задачи тестирования, переключатели рубрик, описание обработки результатов и т.д. Элемент содержит атрибут title (название тестирования), ident – идентификационный шифр тестирования, а также необязательный атрибут xml:lang, в котором указывается версия XML.
Этот элемент содержит в себе следующие подэлементы (рисунок 2):
- qticomment (строка комментария для тестирования);
- duration (описывает продолжительность тестирования);
- qtimetadata (содержит в себе словарь метаданных характерных для спецификации QTI);
- objectives (описывает образовательные и цели тестирвоания);
- rubric (краткое описание контекстных для рубрики данных, которая может быть полезна для проходящего тестирование);
- assessmentcontrol (переключатели включающие/выключающие подсказки, отображение правильных ответов, отображение результата тестирования на лету);
- presentation_material (информация для описания контекста всех элементов тестирования);
- outcomes_processing (описание алгоритма обработки результатов тестирования);
- assessproc_extension (используется для описания альтернативных лицензионных методов обработки результатов тестирования);
- assessfeedback (содержит элементы обратной связи для тестируемого, описывает способ представления результатов тестирования):
- qticomment;
- material (содержит описание материалов, которые будут предоставлены тестируемому в качестве результатов тестирования);
- flow_mat (порядок выведения материалов обратной связи);
- selection_ordering (описывает алгоритм выбора вопросов и разделов для тестирования);
- reference (содержит в себе учебный материал, описывающий предмет тестирования, он может быть как доступен тестируемому, так и недоступен);
- sectionref (используется, чтобы включить в тестирование разделы, которые объявлены в другом месте, но имеют отношения к тестированию);
Рисунок 2 – Структура элемента <assessment>
Элемент <section> имеет такие же атрибуты, как и элемент тестирования. В его состав входят следующие подэлементы (рисунок 3):
- qticomment (строка комментария для раздела);
- duration (описывает количество времени, которое дается тестируемому на прохождение раздела);
- qtimetadata (содержит в себе словарь метаданных характерных для спецификации QTI);
- sectionprecondition (описание условий, при которых секция будет доступна для тестирования);
- sectionpostcondition(описание условий, при которых следующая секция будет доступна для тестирования);
- objectives (описывает образовательные цели тестирвоания);
- rubric (краткое описание контекстных для рубрики данных, которая может быть полезна для проходящего тестирование);
- sectioncontrol (переключатели включающие/выключающие подсказки, отображение правильных ответов, отображение результата тестирования на лету);
- presentation_material (информация для описания контекста всех элементов раздела);
- outcomes_processing (описание алгоритма обработки результата на уровне раздела);
- sectionproc_extension (описание альтернативного алгоритма обработки результатов);
- sectionfeedback (содержит элементы обратной связи для тестируемого, описывает способ представления результатов);
- selection_ordering (описание алгоритма выбора вопросов из раздела);
- reference (содержит в себе учебный материал, описывающий раздел, он может быть как доступен тестируемому, так и недоступен);
- sectionref (для включения в раздел разделов, описанных в другом месте, но имеющих отношение к этому разделу);
- section (описание подсекций);
- itemref (для включения в раздел вопросов, описанных в другом месте, но имеющих отношение к этому разделу);
Рисунок 3 – Структура элемента <section>
Элемент <item> содержит в себе описание структуры тестового задания (вопроса). Он имеет 5 атрибутов (рисунок 4): title(содержит имя вопроса), label (содержит отображаемое имя), ident (уникальный номер вопроса), maxattempts (максимальное количество попыток на вопрос), а также необязательный атрибут xml:lang, в котором указывается версия XML.
Рисунок 4 – Структура элемента <Item>
Содержит следующие подэлементы:
- qticomment (строка комментария для раздела);
- duration (описывает количество времени, которое дается тестируемому на вопрос);
- itemmetadata (содержит в себе метаданные, применимые к вопросу);
- 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 (тип решения, доступного для вопроса);
- objectives (описывает образовательные цели вопроса);
- itemcontrol (переключатели включающие/выключающие подсказки, отображение правильных ответов, отображение результата тестирования на лету);
- itemprecondition (описывает условие, при котором вопрос будет доступен в тестировании);
- itempostcondition (описывает условие, при котором следующий вопрос будет доступен в тестировании);
- itemrubric (краткое описание контекстных для рубрики данных, которая может быть полезна для проходящего тестирование. Использование элемента rubric предпочтительнее, чем itemrubric);
- rubric (краткое описание контекстных для рубрики данных, которая может быть полезна для проходящего тестирование);
- presentation (описывает отображаемую информацию о вопросе при оценке);
- resprocessing (описание алгоритма обработки ответа на вопрос);
- itemproc_extension (описание альтернативного алгоритма обработки ответа на вопрос);
- itemfeedback (содержит элементы обратной связи для тестируемого, описывает способ представления результатов тестирования).
Таким образом, в системе компьютерного тестирования знаний должна быть реализована функция формирования XML-документа с использованием нотаций спецификации QTI при создании новой программы тестирования. Так как пользоваться этой системой для составления тестовых заданий будут не всегда IT-специалисты, необходима разработка интуитивно понятного интерфейса с графическим представлением структуры как всего тестирования, так и каждого тестового задания по отдельности.
Литература
- Дэвид Хантер, Джефф Рафтер и др. XML. Базовый курс - Beginning XML. - М.: Вильямс, - 1344 с.
- Сергеев А. П. HTML и XML. Профессиональная работа. - М.: Диалектика, 2004. - 880 с.
- Гужов В.И., Данин В.Ю., Пинтус Е.С. Тестирования на основе спецификации IMS QTI // Материалы X Всероссийской научно-методической конференции «Телематика 2003» - Новосибирск, 2003. - С. 238-243.