На этом шаге мы рассмотрим структуру файла теста.
Универсальность программы тестирования обеспечивается тем, что вопросы загружаются из XML-файла, имя которого указывается в команде запуска программы. Помимо вопросов (здесь и далее: вопрос - это собственно вопрос и несколько вариантов ответа) в файле теста находится информация, необходимая для выставления оценки.
Тест (узел верхнего уровня <test>) состоит из:
Заголовок и описание представляют собой соответственно узлы <head> и <description>.
Вот пример заголовка и описания:
<head> Архитектурные памятники Санкт-Петербурга </head> <description> Сейчас Вам будут предложены вопросы по архитектуре Санкт-Петербурга. Задача - из предложенных вариантов ответа выбрать правильный. </description>
За разделом описания следует раздел вопросов теста - узел <qw>, подузлы <q> которого представляют собой вопросы.
Узел <q> представляет собой вопрос, а его подузлы <a> - варианты ответа. Параметр text узла <q> задает текст вопроса, а параметр src - имя файла иллюстрации. Узел <a> определяет текст варианта ответа, а параметр rigth указывает, является ли ответ правильным (значение "yes") или нет (значение "no").
Вот пример вопроса:
<q text="Архитектор Исаакиевского собора" src ="is.jpg" > <a right="no">Доменико Трезини</a> <a right="yes">Огюст Монферран</a> <a right="no">Карл Росси</a> </q>
В приведенном примере вопрос "Архитектор Исаакиевского собора" сопровождается иллюстрацией, находящейся в файле is.jpg. К вопросу даны три варианта ответа, правильным является второй ответ (архитектор Исаакиевского собора - Огюст Монферран).
За разделом вопросов следует раздел оценок (узел <levels>), в котором указывается количество баллов (правильных ответов), необходимое для достижения уровня, и сообщение, информирующее испытуемого о достигнутом уровне (оценке). Каждому уровню соответствует узел level, параметр score которого задает количество баллов, необходимое для достижения уровня, параметр text - сообщение.
Вот пример раздела оценок:
<levels> <level score="2" text = "На все вопросы Вы ответили правильно. Оценка - ОТЛИЧНО."/> <level score="1" text = "На некоторые вопросы Вы ответили неправильно. Оценка - ХОРОШО."/> <level score="0" text = "Вы плохо подготовились к испытанию. Оценка - ПЛОХО!"/> </levels>
Ниже в качестве примера приведен файл теста "Архитектурные памятники Санкт-Петербурга".
<?xml version="1.0" encoding="Windows-1251"?> <test> <head> Архитектурные памятники Санкт-Петербурга </head> <description> Сейчас Вам будут предложены вопросы по архитектуре Санкт-Петербурга. Задача - из предложенных вариантов ответа выбрать правильный. </description> <qw> <q text="Архитектор Исаакиевского собора" src ="is.jpg" > <a right="no">Доменико Трезини</a> <a right="yes">Огюст Монферран</a> <a right="no">Карл Росси</a> </q> <q text="На фотографии" src ="marks.jpg"> <a right="yes">Зимний дворец (Эрмитаж)</a> <a right="no">Мариинский дворец</a> <a right="no">Строгановский дворец</a> </q> </qw> <levels> <level score="2" text = "На все вопросы Вы ответили правильно. Оценка - ОТЛИЧНО."/> <level score="1" text = "На некоторые вопросы Вы ответили неправильно. Оценка - ХОРОШО."/> <level score="0" text = "Вы плохо подготовились к испытанию. Оценка - ПЛОХО!"/> </levels> </test>
Файл теста можно подготовить в текстовом редакторе, который сохраняет "чистый" (без символов форматирования) текст, например в Блокноте. В момент записи текста на диск вместо стандартного расширения xml можно указать какое-либо другое, например exm (от англ. examiner - экзаменатор). Такое решение позволит настроить операционную систему так, что тест будет запускаться автоматически, в результате щелчка кнопкой мыши на имени файла теста.
На следующем шаге мы займемся конструированием формы.