Как отправить результаты тестирования на сервер?

iSpring QuizMaker предоставляет возможность получить результаты тестирования несколькими способами. Если по каким-то причинам Вы не используете систему дистанционного обучения, которая автоматически отслеживает прохождение теста, можно получать результаты тестирования по электронной почте или обрабатывать их на своем сервере. Последний способ и рассматривается в данной статье.

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

Обязательные требования

  • Установленный  iSpring QuizMaker или другое средство разработки компании iSpring, включающее QuizMaker (iSpring Presenter или iSpring Suite).
  • Сервер с возможностью полного доступа к файловой системе и конфигурационным настройкам.
  • Умение программировать серверные приложения (PHP или  C#, SQL, XML).

Настройка теста

Включите опцию Отправить результаты на сервер в Настройках теста. Для этого выполните следующие шаги:

  1. Откройте существующий тест или создайте новый.
  2. Нажмите кнопку Настройки на панели инструментов iSpring QuizMaker.
    iSpring QuizMaker - программа для создания тестов
  3. Затем выберите раздел Результаты.
  4. Включите опцию Оправить результаты на сервер и введите адрес скрипта, обрабатывающего результаты тестирования на Вашем сервере (далее будет подробнее раскрыто в статье).
    Примечание: Выполните одинаковые настройки на обеих вкладках Если тест пройден и Если тест не пройден.
    Настройки теста в iSpring QuizMaker
  5. Для сохранения настроек нажмите OK .
  6. Опубликуйте ваш тест в выходной формат Для мобильных (HTML5), чтобы он работал на всех устройствах из любого местоположения.
    Примечание: Вы можете опубликовать тест в выходной формат Для компьтера (Flash) или в Универсальный (Flash, HTML5) выходной формат, но тогда для тестирования на Вашем локальном компьютере может потребоваться изменение Глобальных параметров безопасности Adobe FlashPlayer.

Какие данные отправляет iSpring QuizMaker?

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

Тесты, созданные в iSpring QuizMaker, отсылают результаты, используя метод HTTP POST. В следующей таблице приведены все POST переменные, отправляемые тестом.


Переменная

Описание

Комментарий

Версия

v

Версия iSpring QuizMaker

 

6, 7

dr

Подробные результаты в XML формате

опционально, при наличии

6, 7

sp

Набранные баллы

опционально, при наличии

6, 7

ps

Проходной балл

опционально, при наличии, зависит от настройки “Проходной балл” в Основных настройках  теста

6, 7

psp

Проходной балл в процентах (процент от общего количества баллов, которое тестируемый должен набрать для успешного прохождения теста)

опционально, при наличии, зависит от настройки “Проходной балл” в Основных настройках  теста

6, 7

tp

Общая оценка

опционально, при наличии

6, 7

sn

Имя  тестируемого

опционально, при наличии, в версии 7 устарело, следует использовать USER_NAME

6, 7

se

Адрес электронной почты тестируемого

опционально, при наличии, в версии 7 устарело, следует использовать USER_EMAIL

6, 7

qt

Заголовок теста

 

6, 7

t

Тип теста

 

7

rt

XML шаблон для отправки результатов по электронной почте

опционально, при наличии

7

sid

Идентификатор пользователя

опционально, при наличии

7

tl

Ограничение по времени

опционально, при наличии

7

ut

Время, затраченное на прохождение теста

опционально, при наличии

7

Эти переменные доступны, если в Основных настройках теста была включена опция Запрашивать информацию о пользователе:

[пользовательская переменная]

[значение пользовательской переменной]

задается пользователем, подробнее рассмотрено ниже

7

vt

Массив доступных пользовательских переменных

Каждый элемент массива в свою очередь является массивом, состоящим из двух именованных элементов: id (содержит идентификатор переменной, например “COMPANY”) и подпись к значению переменнной (например, “Компания”)

7

Примечание: QuizMaker отсылает значение только одной из переменных  ps или psp в зависимости от настройки Проходной балл (Настройки теста → Основные). Если настройка задана в баллах, программа отсылает ps, если в процентах  - то psp.

Что такое пользовательская переменная?

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

Пользовательские переменные становятся доступными, если в Основных настройках теста была включена опция Запрашивать информацию о пользователе. Для управления пользовательскими переменными в своем тесте:

  1. Откройте Настройки теста.
  2. Выберите слева раздел Основные.
  3. Включите опцию Запрашивать информацию о пользователе.
  4. Нажмите кнопку Настроить.

Настройка формы запроса в iSpring QuizMaker

После того, как тест опубликован и запущен, пользователь увидит  форму запроса, содержащую заданные поля и значения по умолчанию, которые могут быть изменены.

Примеры пользовательских переменных:

USER_NAME = ”Иван”

USER_EMAIL = ”ivan@mail.ru”

COMPANY = ”Компания”

Пример заполнения массива vt:

vt = [{id:USER_NAME, title:"Имя"}, {id:USER_EMAIL, title:"E-mail"}, {id:COMPANY, title:"Компания"}]

Значение title для переменной в массиве переменных vt задается в пользовательском интерфейсе iSpring QuizMaker (Соответствует столбцу "Имя поля" в диалоговом окне Настроить форму запроса).

Подробные результаты

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

Подробные результаты передаются в переменной dr в XML формате.

XML схема, описывающая структуру XML с подробными результатами доступна по ссылке:
https://github.com/ispringsolutions/QuizResults/blob/master/QuizReport.xsd

Рассмотрим пример, демонстрирующий сохранение подробных результатов.

Пример теста “Олимпийские игры”

  1. Допустим, мы открыли в iSpring QuizMaker тест “Олимпийские игры” и перешли к вопросу “Девиз Олимпийских игр...” Это вопрос с одиночным выбором ответа, который имеет один правильный ответ “Быстрее, выше, сильнее.”
    Редактор теста iSpring QuizMaker
  2. После публикации теста выберите ответ “Быстрее, выше, сильнее” и нажмите кнопку “Отправить”.
    Вопрос теста iSpring Quizmaker
  3. После того, как тест пройден и результаты получены на сервере, мы можем проверить полученные данные. Далее приведен фрагмент XML с подробными результатами для данного конкретного вопроса:
    Отправка результатов теста на сервер

Каждому вопросу автоматически присваивается уникальный id. Атрибуты элементы предоставляют информацию по данному вопросу: правильность ответа (status = "correct" / "incorrect") , максимальное количество баллов, которое пользователь может получить за правильный ответ (maxPoints = "10"),   максимальное количество разрешенных попыток ответа (maxAttempts= "1") , набранное количество баллов (awardedPoints = "10") и номер попытки (usedAttempts= "1") .

Вопрос с одиночным выбором ответа содержит три возможных ответа. У каждого ответа в списке есть индекс, который нумеруется, начиня с нуля: 0, 1, 2.

“Быстрее, Выше, Сильнее” - первый ответ в списке (correctAnswerIndex=”0”).

Совет: для просмотра содержимого POST запроса, включая данный XML файл, Вы можете использовать средства разработки Вашего броузера (F12). В качестве популярной бесплатной программы, используемой многими экспертами, можно посоветовать Fiddler компании Telerik.

Полную расшифровку попытки можно посмотреть по следующей ссылке:
https://dl.dropboxusercontent.com/u/70769820/Other/OlympicGamesQuizresults.pdf

Создание PHP скрипта

Чтобы обработать передаваемые переменные, Вам понадобится скрипт, размещенный по адресу, указанному в настройках теста. Поэтому следующий шаг - это создание  скрипта, обрабатывающего результаты тестирования и его развертывание на сервере. Скрипт должен ожидать входящие по методу POST данные в заданном формате, а после получения - обрабатывать и сохранять в текстовый файл или базу данных.

Этот код на языке PHP получает переданные из теста методом POST значения:

$version = $_POST['v'];

$points = $_POST['sp'];

$passing_percent = $_POST['psp'];

$gained_score = $_POST['tp'];

$username = $_POST['sn'];

$email = $_POST['se'];

$quiz_title = $_POST['qt'];

$detailed_results_xml = $_POST['dr'];     //Эта переменная возвращает XML file.

$_POST - это ассоциативный массив, содержащий переменные, передаваемые в скрипт методом POST протокола HTTP. Все, что Вам нужно сделать далее - это обработать необходимые переменные из вышеприведенной таблицы и разобрать XML файл, содержащийся в переменной dr.

Пример PHP-скрипта для обработки результатов теста на сервере вы можете посмотреть здесь.

Описание: Этот скрипт  разбирает информацию о попытке пройти тест и записывает ее в текстовый файл. Результаты в текстовой форме включают в себя имя пользователя, адрес электронной почты, результат тестирования и проходной балл. Парметры вопроса включают в себя текст вопроса, правильный ответ, ответ пользователя и баллы за данный вопрос.

На самом деле это очень общий пример, применимый для ознакомления. Чтобы создать хорошую систему обработки результатов тестирования, Вам потребуется разработать собственное программное обеспечение.

Примечание техподдержки

Компания iSpring всегда нацелена на оказание помощи своим пользователям в достижении поставленных целей. Пожалуйста, имейте в виду, что данная тема достаточна сложна и посвящена разработке сторонних систем, а не функциональности iSpring QuizMaker (которая обеспечивается нашей бесплатной техподдержкой).

Если Вам понадобится помощь с настройкой или изменением любых скриптов, связанных со сбором и обработкой данных iSpring QuizMaker, мы можем предложить консалтинговые услуги или услуги по разработке программного обеспечения в соответствии с Вашими требования в рамках дополнительного бюджета. Дополнительную информацию можно узнать у команды техподдержки.

Мы приглашаем посетить нашу официальную страницу на Github, созданную для обмена информацией и свободным программным обеспечением  пользователями продуктов iSpring.

Клиенты iSpring