1. Начало работы

1.1. Установка сервера тестирования

Установка INDIGO выполняется с помощью инсталляционного пакета на компьютер под управлением Windows XP / Vista / Server (2003, 2008, 2012, 2016) / 7 / 8 / 10. Путь к каталогу для установки не должен содержать национальные символы (например, русские). По умолчанию INDIGO устанавливается в следующие каталоги:

  • [C:\Program Files\INDIGO] – для 32-разрядной ОС;
  • [C:\Program Files (x86)\INDIGO] – для 64-разрядной ОС.

Сам процесс установки является тривиальным. После завершения работы инсталляционного пакета на рабочем столе появится два ярлыка:

  • INDIGO – интерфейс администратора;
  • Web-интерфейс – интерфейс пользователя.

ярлыки

При запуске интерфейса администратора появится окно авторизации:

окно авторизации

По умолчанию логин администратора: admin, пароль: 12345.

При запуске интерфейса пользователя откроется браузер, установленный в системе по умолчанию, который откроет страницу по адресу http://127.0.0.1:85/

web-интерфейс

По умолчанию в системе уже имеется один зарегистрированный пользователь, Логин/ФИО: Иванов Иван Иванович (ivan), пароль: 12345.

Для ввода в поле «Логин/ФИО» доступны следующие варианты:

  • Логин
  • Фамилия
  • Фамилия Имя
  • Фамилия Логин
  • Фамилия Имя Отчество
  • Фамилия Имя Логин
  • Фамилия Имя Отчество Логин

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

1.2. Работа в локальной сети

Каждый компьютер, который работает в сети, имеет свой IP-адрес, который необходим для идентификации этого компьютера и обмена с ним данными. Администратор и пользователи могут работать с сервером тестирования INDIGO в локальной сети и/или Интернете. Для удаленного подключения необходимо знать IP-адрес или имя хоста (псевдоним IP-адреса) компьютера-сервера, на котором установлена система INDIGO. Есть специальное значение IP-адреса, которое означает тот же самый компьютер на котором Вы работаете. Его значение 127.0.0.1 (псевдоним «localhost»). Поэтому Вы всегда сможете зайти в INDIGO по этому адресу непосредственно с самого компьютера-сервера, а для удаленного подключения нужно знать IP-адрес сервера в сети, в которой Вы работаете.

Для любой версии ОС Windows узнать IP-адрес сервера можно следующим образом. Необходимо зайти в [Пуск > Все программы > Стандартные > Командная строка]. В появившееся окно необходимо ввести команду «ipconfig» и нажать Enter. В результате будет выдан список сетевых адаптеров компьютера и их IP-адресов. Адаптер может быть не один, их может быть много (включая виртуальные, которые создают различные программы для своих нужд). Если Вы затрудняетесь с выбором нужного IP-адреса, то Вы можете просто перепробовать их все путем попыток подключения к INDIGO с другого компьютера.

ipconfig

Интересующими строками являются строки вида:

IPv4-адрес ............................ xxx.xxx.xxx.xxx

xxx.xxx.xxx.xxx – это и есть IP-адрес.

Чтобы подключиться к серверу тестирования нужно в браузере на удаленном компьютере ввести: http://xxx.xxx.xxx.xxx:85/

Через двоеточие указывается порт, к которому выполняется подключение. Всего таких портов существует 65536. Система INDIGO по умолчанию использует порт 85. Если в строке подключения порт не указан, то по умолчанию браузер полагает, что он равен 80. Однако в INDIGO порт 80 не задан по умолчанию, т.к. многие другие приложения его используют в своих нуждах (например, Skype), что может привести к тому, что web-сервер INDIGO не сможет воспользоваться занятым портом и не запустится.

Если у Вас на компьютере-сервере 80 порт свободен, то Вы можете задать его в настройках INDIGO, чтобы для удаленного подключения нужно было указывать только IP-адрес http://xxx.xxx.xxx.xxx/. Для настройки 80 порта по умолчанию необходимо зайти в интерфейс администратора [INDIGO > вкладка «Сервер» > кнопка «Сетевые интерфейсы»]. В появившемся окне необходимо заменить порт 85 на 80 следующим образом и нажать «ОК»:

сетевые интерфейсы

Если после этого web-сервер не сможет перезапуститься, то будет выдано сообщение об ошибке. В этом случае необходимо обратно установить 85 порт. Если web-сервер успешно перезапустится, то следует отредактировать адрес подключения для url-ярлыка [INDIGO\Web-интерфейс.url], чтобы ярлык на рабочем столе открывал Web-интерфейс по новому адресу http://127.0.0.1/ (или http://localhost/).

Для того чтобы удаленно администрировать INDIGO необходимо использовать программу клиент. Её можно достать двумя способами:

  1. Скачать с сайта https://indigotech.ru/download
  2. Вытащить папку winapp из каталога, в который установлена INDIGO [INDIGO\winapp].

После запуска программы [winapp\INDIGO.exe] на удаленном компьютере появится окно авторизации, в которое необходимо вместо «localhost» в поле «IP/Хост» ввести тот же IP-адрес сервера, который использовался для удаленного подключения через браузер:

удаленное подключение

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

Если Вы установили «боевой» сервер тестирования, то очень важно изменить пароль администратора, чтобы никто несанкционированно не смог удаленно подключиться к интерфейсу администратора по стандартному логину и паролю. Для смены пароля необходимо зайти в интерфейс администратора [INDIGO > вкладка «Сервер» > кнопка «Администраторы и пароли» > (подтвердить вход текущим паролем) > кнопка «Редактировать» > кнопка «Изменить»]:

смена пароля администратора

Следует иметь в виду, что подключение через клиент администратора будет работать даже если сервер тестирования будет выключен [INDIGO > вкладка «Сервер» > кнопка «Остановить»], т.е. кнопки управления сервером на вкладке «Сервер» отвечают только за web-сервер, но не за систему управления базой данных.

1.3. Работа в Интернете

Нет никакой принципиальной разницы в организации работы системы INDIGO в Интернете от организации её работы в локальной сети. Во всех случаях (даже при работе на изолированном компьютере) используются сетевые подключения по стеку протоколов TCP/IP. Однако есть один нюанс. Для того чтобы Ваш компьютер мог выступать в роли Интернет-сервера тестирования, то необходимо, чтобы компьютер имел постоянный уникальный (статический) IP-адрес. В настоящее время множество Интернет-провайдеров имеют свои подсети, в которых организуются компьютеры их клиентов, при этом трафик маршрутизируется через серверы провайдера. Получается, что внутри подсети провайдера Ваш IP-адрес может быть уникальным (внутренний IP-адрес), а в Интернете будет виден IP-адрес одного из серверов провайдера (внешний IP-адрес), который может меняться при каждом подключении к Интернету (узнать свой IP-адрес можно зайдя на сайт http://2ip.ru/). Это же относится и к организациям, в которых компьютеры организованы в подсеть и не имеют непосредственного доступа в Интернет (напрямую). При этом внешний IP-адрес является общим для нескольких пользователей, следовательно, по этому IP-адресу подключиться к Вашему компьютеру извне не получится. Из этой ситуации есть несколько выходов:

  1. Многие провайдеры предоставляют выделенный IP-адрес за дополнительную абонентскую плану. Вам необходимо узнать у Вашего провайдера о такой возможности.
  2. Можно организовать виртуальную частную сеть (VPN-сеть), которая будет выглядеть как обычная локальная сеть, но на самом деле будет работать через Интернет. Для реализации этой возможности требуется использование специального программного обеспечения. Примером такой программы является Hamachi (скачать), которая должна быть установлена на каждый компьютер, т.е. на сервер и на компьютеры пользователей, которые собираются удаленно тестироваться. Принцип работы этой программы заключается в маршрутизации трафика, через сервер разработчиков программы. Этот сервер имеет статический IP-адрес и к нему можно подключиться с любого компьютера, который имеет доступ в Интернет. Для работы программы необходимо её установить и создать учетную запись сети, которая будет иметь свое название и пароль для подключения. После создания виртуальной сети необходимо дать название сети и пароль остальным участникам, которые установив Hamachi смогут подключиться к этой сети, а затем и к системе тестирования INDIGO через браузер по виртуальному IP-адресу сервера-тестирования, который будет отображаться в этой программе.
  3. Вы можете разместить сервер тестирования INDIGO в облаке на наших Интернет-серверах и больше не беспокоиться о канале связи, оборудовании и техническом сопровождении (подробнее https://indigotech.ru/price).

Если у Вас есть выделенный интернет канал, но подключение производится не напрямую к компьютеру, а через роутер, к которому уже подключен компьютер-сервер тестирования, то подключение из Интернета на IP-адрес роутера не увенчается успехом. В этом случае необходимо внутри роутера настроить виртуальный сервер. Название этой функции и способ её установки зависит от конкретного роутера и его прошивки. Суть заключается в том, что Вы задаете, чтобы роутер входящий трафик на порт X переадресовывал на IP компьютера сервера на порт Y. В результате пользователи будут подключаться на IP-адрес роутера, а данные будут перенаправляться на конкретный компьютер внутри Вашей локальной сети.

1.4. Решение проблем

Не работает подключение через браузер:

  1. Убедитесь, что web-сервер запущен. На вкладке «Сервер» должны быть доступны кнопки «Остановить» и «Перезапустить». Если доступна только кнопка «Запустить», то сервер выключен.
  2. Убедитесь, что Вы используете правильные IP-адрес и порт. Если Вы пытаетесь подключиться через Интернет, то убедитесь, что сервер тестирования имеет выделенный IP-адрес. В случае подключения через Интернет на роутер убедитесь, что в роутере правильно настроен виртуальный сервер.
  3. Если удаленное подключение не работает, то проверьте работает ли локальное подключение непосредственно с самого компьютера сервера (http://127.0.0.1:порт). Если подключение не работает, то нужно в первую очередь разобраться с проблемой локального подключения. Если локальное подключение работает, а удаленное нет, то проверьте сетевое подключение между компьютерами с помощью эхо-пакетов. Для этого необходимо на удаленном компьютере зайти в [Пуск > Все программы > Стандартные > Командная строка]. В появившееся окно необходимо ввести команду «ping xxx.xxx.xxx.xxx» (xxx.xxx.xxx.xxx – IP-адрес сервера) и нажать Enter.

    ping

    Если потеряны все отправленные пакеты, то сетевое подключение отсутствует или блокируется. Чаще всего эта проблема связана не с физическим отсутствием подключения или неверными сетевыми настройками, а со средствами защиты. В первую очередь виновником этой проблемы является брандмауэр Windows. Проверьте, включен ли он на компьютере сервере. Если включен, то попробуйте его отключить, и повторите пинг. Если на сервере используются какие-либо другие фаерволы или антивирусы, то попробуйте их тоже отключить и повторите пинг. Если виновник проблемы установлен и им является антивирус или фаервол, то не спешите от него избавляться, Вы можете попробовать добавить систему INDIGO в исключения. Для этого нужно зайти в настройки (у каждой программы они свои), затем добавить в список исключений и разрешить полную сетевую активность для программы web-сервера [INDIGO\server\bin\IndigoServer.exe].

Не работает подключение через клиент администратора:

  1. Если не работает локальное подключение с самого сервера (по 127.0.0.1 или localhost), то на компьютере не удалось запустить систему управления базами данных. В этом случае обратитесь в службу технической поддержки.
  2. Если не работает удаленное подключение, то проверьте работает ли подключение через браузер к интерфейсу пользователя. Если подключение через браузер не работает, то попробуйте разобраться в первую очередь с этой проблемой. Если подключение через браузер работает, то попробуйте в средствах защиты добавить в список исключений и разрешить полную сетевую активность для программы [INDIGO\server\bin\postgres.exe]. В случае подключения через Интернет на роутер убедитесь, что в роутере правильно настроен второй виртуальный сервер для порта 5436.

Как перенести программу вместе с базой данных на другой компьютер:

  1. Остановите работу сервера тестирования [INDIGO\server\uninstall.bat].
  2. Перенесите всю папку с программой [INDIGO] на другой компьютер.
  3. Запустите работу сервера тестирования [INDIGO\server\install.bat].

Как создать резервную копию базы данных:

  1. Остановите работу сервера тестирования [INDIGO\server\uninstall.bat].
  2. Сделайте резервную копию папки с базой данных [INDIGO\database].
  3. Запустите работу сервера тестирования [INDIGO\server\install.bat].

Делать резервное копирование базы данных [INDIGO\database] «на горячую» (во время работы сервера тестирования) нельзя. Это может привести к повреждению базы данных!


2. Админи­стри­рование системы

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

2.1. Тесты, пользователи, правила

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

Пользователей может добавлять администратор или они могут сами регистрироваться через web-интерфейс. Самостоятельную регистрацию пользователей можно запретить [вкладка «Сервер» > кнопка «Настройки web-интерфейса»]. Если администратору требуется добавить много пользователей, то для этого лучше всего использовать импорт пользователей из файлов TXT/Excel. Справка по формату импорта встроена в саму программу [вкладка «Пользователи» > кнопка «Импорт пользователей» > нижняя вкладка «Справка»].

Правила тестирования (вкладка «Правила») задают, каким пользователям или группам пользователей, какие тесты или группы тестов будут доступными для прохождения. По умолчанию имеется одно правило, которое разрешает всем пользователям проходить все тесты без каких-либо ограничений. Если требуется назначить определенным группам пользователей определенные тесты, а другим пользователям запретить их, то следует удалить правило по умолчанию и создать новые правила. Для каждого правила может быть задано расписание и ограничение на количество попыток тестирования. Если для одного пользователя действует несколько правил, то они накладываются друг на друга объединяя все доступные тесты в одно общее множество.

2.2. Редактор тестов

2.2.1. Структура теста

В INDIGO тест имеет иерархическую структуру, которая состоит из вопросов и групп вопросов. Группы вопросов могут содержать подгруппы. Размер и глубина такой иерархии является неограниченной. По умолчанию в тесте имеется одна группа («Корневая группа») и один вопрос.

редактор тестов

Целесообразность использования групп вопросов обусловлена рядом следующих преимуществ:

  1. Удобство группировки вопросов в редакторе тестов по заданиям, темам и т.д. Если вопросы теста отображаются в одном линейном списке, то возникают сложности с навигацией и пониманием того, какой вопрос к чему относится.
  2. Возможность задания для каждой группы индивидуальных настроек (перемешивания вложенных элементов или их случайной выборки).
  3. Использование баллов за группы вопросов при задании функций шкал оценивания (например, можно легко поставить отдельные оценки за группы «Задание 1», «Задание 2» и т.д.).
  4. При просмотре результата или отчета по результату администратор может видеть наглядную информацию о том, сколько баллов было набрано за каждую группу в отдельности, и делать соответствующие выводы (например, “студент плохо выполнил задания на тему «Логарифмы»”).
  5. Анализ статистики по выборке результатов (например, “большинство студентов данной группы плохо выполнили задания на тему «Интегралы»”).

Благодаря возможности задания для каждой группы вопросов индивидуальных настроек (порядка выдачи вложенных элементов и их случайной выборки) можно очень гибко задавать автоматическую генерацию вариантов тестов.

Пример использования автоматической генерации вариантов из реальной жизни:

Имеется экзаменационный тест по иностранному языку, который содержит группы заданий «Лексика», «Грамматика» и «Работа с текстом». Внутри каждой из этих групп имеются подгруппы – сами задания. Каждое задание содержит банк однотипных вопросов. Необходимо сделать так, чтобы:

  1. Группы вопросов «Лексика», «Грамматика», «Работа с текстом» всегда должны следовать по порядку.
  2. Задания внутри групп «Лексика» и «Грамматика» должны перемешиваться в случайном порядке.
  3. Из каждой группы заданий случайным образом должно выбираться определенное число вопросов (для каждого задания это свое число вопросов).
  4. Из группы «Работа с текстом» случайным образом должен выбираться один из текстов и задания к нему.

Для реализации такой настройки для каждой группы вопросов необходимо установить параметры перемешивания и выборки:

настройки группы вопросов

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

структура теста

2.2.2. Вычисление результатов

INDIGO предоставляет гибкие возможности задания шкал результатов. Шкалы результатов служат для определения результатов тестирования. Каждая шкала включает в себя функцию шкалы (формулу) и деления шкалы. Деления шкалы задают возможные значения или диапазоны значений, в которые может попадать результат вычисления функции шкалы. Каждому делению соответствует определенный результат (например, «Отлично», «Хорошо» и т.д. или «Холерик», «Сангвиник» и т.д.). Если значение функции шкалы соответствует значению или диапазону значений некоторого деления, то результатом шкалы становится результат данного деления.

Пример задания шкалы оценивания:

редактирование шкал оценивания

На приведенном изображении функция шкалы «Оценка» задается формулой:

Оценка = round(Балл(Корневая_группа) / МаксБалл(Корневая_группа) * 100),

где

  • Балл(Корневая_группа) – балл, который пользователь наберет за все вопросы принадлежащие группе «Корневая группа», т.е. за все вопросы теста.
  • МаксБалл(Корневая_группа) – максимум, который пользователь мог бы набрать за все вопросы принадлежащие группе «Корневая группа», т.е. максимально возможный балл за весь тест.
  • round(x) – функция округления аргумента по математическим правилам (если дробная часть < 0.5, то 0, если ≥ 0.5, то 1).

С помощью этой формулы вычисляется процент за тестирование. Если, например, пользователь наберет 11 баллов из 15, то по этой формуле:

Оценка = round(11/15*100) = round(73,333333333333) = 73,

что попадает в деление [70; 85), которое соответствует результату «Хорошо».

Полученные результаты по шкалам можно подставить в шаблон результатов, который будет выдаваться пользователям после завершения тестирования:

шаблон результатов

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

Ошибки вычисления результатов

При определении, какому делению соответствует значение функции шкалы, возможны два типа ошибок, которые являются ошибками составления теста:

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

Очень часто возникновение таких ошибок связано с неправильным заданием границ диапазонов принадлежности делений:

  • круглые скобки (a; b) означают строгое неравенство a < x < b;
  • квадратные скобки [a; b] означают нестрогое неравенство a ≤ x ≤ b.

Пример ошибки типа 1 (отсутствие принадлежности к делениям шкалы):

пример ошибки типа 1

Отсутствие принадлежности к делениям шкалы возникнет, если функция шкалы будет иметь значение x:

  • x < 0,
  • x > 100,
  • 54 < x < 55,
  • 69 < x < 70,
  • 84 < x < 85.

Если Вы считаете за тест балл в абсолютных величинах по формуле:

Оценка = Балл(Корневая_группа),

то есть вероятность, что в некоторых результатах может получиться балл больше 100. Это может произойти, например, если у Вас есть 100 вопросов, за каждый из которых можно набрать 1 балл, но потом Вы добавите ещё один вопрос или для кого-то вопроса увеличите вес, то потенциальный максимум уже будет больше 100. Кроме этого, при использовании абсолютных величин оценка может быть занижена. Например, если у Вас используется автоматическая выборка вопросов, среди которых некоторые вопросы будут иметь вес 1 балл, а другие будут иметь вес 2 балла, то при каждом запуске тестирования потенциальный максимум будет варьироваться, а диапазоны шкал будут оставаться неизменными. В результате этого некоторые пользователи как бы не старались, они не смогут набрать максимальный балл. Чтобы обезопасить себя от подобных проблем, то лучше использовать вычисление в процентах:

Оценка = Балл(Корневая_группа) / МаксБалл(Корневая_группа) * 100.

Но и здесь имеются некоторые нюансы. Если пользователь наберет 84.333%, то результат не попадет ни в один из диапазонов. Можно использовать функцию округления round(x), это решило бы эту проблему, но лучше всего делать полное покрытие всего диапазона [0; 100] без каких либо «дыр» следующим образом:

решение проблемы ошибки типа 1

В данном случае даже если не округлять результат 84.333%, то он все равно попадет в диапазон [70; 85) – «Хорошо». Т.е. оценке «Хорошо» будут соответствовать любые значения в диапазоне [70; 84.99999999…], а значение 85 уже будет означать «Отлично».

Но мы все же советуем, кроме использования относительных величин (процентов) и полного покрытия диапазонов шкал, использовать и округление, если у Вас в функции шкалы используется деление. При делении могут возникнуть большие дробные числа. Если Вам специально это зачем-то не нужно, то лучше используйте функцию round(x), чтобы не было больших чисел:

заполненный шабло результатов

В функции round(x) можно использовать второй аргумент, который отвечает за точность округления. Если указать round(x,2), то это будет означать округление с точностью до двух знаков после запятой (до сотых). В этом случае вместо значения «82.105263157895» было бы выдано «82.11».

Пример ошибки типа 2 (принадлежность к нескольким делениям шкалы):

пример ошибки типа 2

Принадлежность к нескольким делениям возникнет, если функция шкалы будет иметь значение 6. Поэтому в данном случае необходимо однозначно определиться к кому делению относится граничное значение, а затем правильно расставить скобки. Если 6 следует отнести к делению «ЗАЧЕТ», то правильным решением будет сделать так:

решение проблемы ошибки типа 2

Условный оператор

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

условие ? если-истина : если-ложь

Работает это достаточно просто. Если условие истина, то в качестве результата выполнения выражения будет подставлено то, что находится до двоеточия. Если условие ложь, то будет подставлено то, что находится после двоеточия.

Возможные условия:

  • == – равно;
  • < – меньше;
  • > – больше;
  • <= – меньше либо равно;
  • >= – больше либо равно;
  • != или <> – не равно;
  • and – логическое И;
  • or – логическое ИЛИ.

Например:

2>1 ? 7 : 8, вернет 7.

10<5 ? 1 : 0, вернет 0.

(4<>3 and 5>=3) ? (4+6) : (1+2), вернет 10.

Условные операторы могут вкладываться друг в друга:

1+2==3 ? (2<1 ? 10 : (2+2==4 ? 11 : 12)) : 13, вернет 11.

Пример практического использования условного оператора из реальной жизни:

Имеется 3 группы вопросов «Тема 1», «Тема 2» и «Тема 3». Чтобы получить зачет студент должен набрать минимум 3 балла за «Тему 1», 4 балла за «Тему 2», 5 баллов за «Тему 3». Если хотя бы по одной теме студент не набирает минимальный балл, то получает незачет. Эту задачу можно решить следующим образом:

пример условного оператора

В данном случае используется следующая функция шкалы:

(Балл(Тема 1)>=3 and Балл(Тема 2)>=4 and Балл(Тема 3)>=5) ? 1 : 0.

Если хотя бы одно из трех подусловий не выполнится, то все выражение примет ложь, а в качестве результата будет выбран 0, который по своему значению соответствует делению «НЕЗАЧЕТ». Обратите внимание, что в данном примере не используются диапазоны значений для делений (убран флажок «Диапазоны значений»). На самом деле эту задачу можно было решить и с помощью диапазонов, если указать [0; 0] для «НЕЗАЧЕТ» и [1; 1] для «ЗАЧЕТ».

Логическим операторам and (И) и or (ИЛИ) соответствует следующая таблица истинности:

таблица истинности

Если в приведенном примере заменить операторы and на операторы or:

(Балл(Тема 1)>=3 or Балл(Тема 2)>=4 or Балл(Тема 3)>=5) ? 1 : 0.

то студенту будет достаточно набрать минимум хотя бы за одну тему из трех, чтобы получить зачет.

2.2.3. Советы по подготовке тестов

  1. Для быстрой загрузки вопросов рекомендуется использовать инструмент импорта вопросов из файлов TXT [Редактор тестов > кнопка «Импорт вопросов»]:

    импорт вопросов

    Справка по формату импорта встроена в окно импорта.

  2. Если Вы переносите много данных из некоторого электронного источника в редактор тестов INDIGO или файл импорта с помощью операций копирования и вставки, то мы настоятельно рекомендуем пользоваться горячими клавишами (CTRL+C – копирование, CTRL+V – вставка) вместо копирования и вставки через контекстное меню (правый щелчок мыши > «Копировать», правый щелчок мыши «Вставить»). Также иногда может потребоваться операция вырезания (CTRL+X) и операция «выделить все» (CTRL+A). Если Вы ещё не научились повсеместно использовать эти 4 сочетания горячих клавиш, то мы рекомендуем начать к ним привыкать как можно скорее.

  3. Если Вы переносите в редактор тестов форматированный текст из Word или из разных источников, то лучше всего включить «Простой режим вставки»:

    простой режим вставки

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

  4. Если Вы переносите в тест данные из некоторого электронного источника, то кроме импорта вопросов из файла, можно использовать средство быстрой вставки вариантов ответа в вопрос. Для этого варианты ответы необходимо скопировать в буфер обмена (выделить, а потом скопировать CTRL+C) и затем в редакторе тестов нажать на кнопку «Вставить из буфера»:

    вставка из буфера

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

  5. Если Вы хотите создать один тест на основе другого, то можете использовать функцию копирования существующего теста [вкладка «Тесты» > кнопка «Копировать тест»]:

    копирование теста

  6. Если Вы хотите копировать или перенести вопрос или группу вопросов, то можно в редакторе тестов использовать кнопки «Копировать»/«Вырезать» и «Вставить»:

    копирование вопросов и групп вопросов

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

    Если Вам необходимо перенести вопрос или группу вопросов из одной группы в другую, то кроме кнопок «Вырезать» и «Вставить» можно использовать перетаскивание элементов в дереве теста указателем мыши.

  7. После подготовки теста обязательно внимательно все перепроверьте.

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

    • Внимательно перепроверьте шкалы и их деления. Убедитесь, что функции шкал и диапазоны делений не приведут к появлению ошибок 1 или 2 типа.

    • Самостоятельно проведите испытательные прохождения теста. Открыв протокол результата или сгенерировав документ протокола Вы сможете легко и быстро отследить возможные ошибки составления теста.

      протокол результата

    • При просмотре протоколов тестовых испытаний обязательно обратите внимание на максимально возможный балл за тест. Если Вы используете автоматическую генерацию вариантов тестов, то убедитесь, что максимальный балл за тест соответствует Вашим ожиданиям и что он не меняется из раза в раз. Например, если Вы предполагаете, что из теста автоматическим образом из одной группы должно выбираться 30 вопросов весом в 1 балл, а из второй группы должно выбираться 10 вопросов весом в 2 балла, то максимальный балл за тест всегда должен быть равен 50.

  8. Осторожно используйте тип вопроса «Ввод ответа с клавиатуры». Этот тип вопроса применим тогда, когда пользователю необходимо ввести одно число или одно слово. Если число может быть дробным, то указывайте в тексте вопроса точность, с которой его нужно ввести. Если все же требуется ввести два числа (например, координаты X и Y), то выставьте тип ввода «Произвольный ввод» и в тексте вопроса уточните точность ввода, разделитель между числами (например, точка с запятой «;»), наличие или отсутствие символа пробела после разделителя, знак разделения целой и дробной части в числе (точка или запятая). Если в Вашем вопросе пользователю необходимо ввести слово, то убедитесь, что правильный ответ на вопрос является однозначным.

    Например, «Кто правил Россией в период 1547–1584 ?». Возникает неоднозначность ввода. Пользователь может ввести следующие варианты: «Иван Грозный», «Грозный Иван», «Грозный», «Иван IV», «Иван четвертый», «Иоанн Васильевич», «Иоанн IV Васильевич» и т.д.

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

Регулярные выражения

Регулярные выражения – это способ описания шаблонов для поиска текста и проверки соответствия текста шаблону. Регулярные выражения часто используются в сети Интернет для проверки ввода пользовательских данных (например, e-mail). Простейшее регулярное выражение можно записать так: «abc». Оно соответствует любой строке, которая содержит подстроку «abc» (например: «xxxabcyyy»):

регулярные выражения

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

Например, если в качестве регулярного выражения указать «Иван Грозный», то ответ: «Привет Иван Грозный!!!» будет засчитан за правильный ответ. Поэтому в этом случае в регулярном выражении имеет смысл задать символы начала и конца строки «^Иван Грозный$».

Ветвление. В регулярном выражении может быть несколько ветвей, которые разделяются символом «|», действующим как оператор or (ИЛИ). Если в выражении используются ветви, то для соответствия регулярного выражения какой-либо строке достаточно, чтобы ей соответствовала хотя бы одна из ветвей.

Например, регулярному выражению

«^(Иван Грозный|Грозный Иван|Грозный|Иван IV|Иоанн Васильевич)$»

будет соответствовать любой вариант ответа, который описан в ветвях.

Квадратные скобки ограничивают поиск теми символами, которые в них заключены: «[abc]». Этому регулярному выражению соответствует любая строка, содержащая любые из символов a, b, c. Например, требуется регулярное выражение, соответствующее всем буквам русского алфавита. Можно перечислить все буквы в регулярном выражении, но это утомительно и неэлегантно. Более коротко такое регулярное выражение можно записать следующим образом: «[а-Я]». Любые два символа, разделяемые дефисом, задают соответствие диапазону символов, находящихся между ними. Регулярное выражение «[а-Я]» описывает символы как нижнего, так и верхнего регистров, поэтому более подробно это выражение можно записать так: «[а-яА-Я]». Точно таким же образом задаются регулярные выражения, соответствующие числам: «[0-9]» или «[0123456789]». Оба этих выражения эквивалентны и соответствуют любой цифре.

Любой символ. Метасимвол «.» (точка) означает один любой символ. К примеру: «.ок». Это выражение, в частности соответствует строкам «кок», «док», «ток» и т.д. Выражение «^x.[0-9]$» соответствует строке, содержащей символ x, за которым следует любой другой символ, а затем цифра от 0 до 9. Этому критерию, к примеру, удовлетворяют строки «xy1», «xz2» и т.д.

Квалификаторы. Регулярное выражение можно уточнить при помощи квалификаторов – так называются символы «+», «?», «*». Квалификаторы говорят о том, сколько раз последовательность символов может встретиться в строке и указываются непосредственно после той части выражения, к которой они применяются:

  • «x+» - хотя бы один символ «x» (строки «xyz» и «xxyz» соответствуют этому выражению);
  • «x?» - ноль или один символ «x»;
  • «x*» - ноль или более символов «x».

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

  • «^xy{2}$» соответствует строке, в которой за «x» следует два «y»;
  • «^xy{2,}$» соответствует строке, в которой за «x» следует не менее двух «y»;
  • «^xy{2,6}$» соответствует строке, в которой за «x» следует от двух до шести «y».

Для указания количества вхождений не одного символа, а их последовательности, используются круглые скобки:

  • «^x(yz){2,6}$» соответствует строке, в которой за «x» следует от двух до шести последовательностей «yz»;
  • «^x(yz)*$» соответствует строке, в которой за «x» следует ноль и более последовательностей «yz».

Существуют и другие приемы в регулярных выражениях, здесь мы рассмотрели основные.

2.3. Ограничение доступа

Если Вам необходимо разрешить заходить в интерфейс пользователя только с определенных компьютеров или какие-то компьютеры добавить в черный список, то можно использовать функцию ограничения доступа по IP-адресам (вкладка «Сервер» > кнопка «Ограничения доступа»).

ограничение прав доступа

По умолчанию, с помощью ключевого слова «всем» в соответствующем списке, подключаться разрешено со всех адресов.

Если требуется предоставить доступ к серверу только для определенного круга компьютеров, то необходимо:

  1. В списке «Запрещено подключаться» добавить «всем».
  2. В списке «Разрешено подключаться» перечислить перечень IP-адресов, с которых подключение разрешено.
  3. В выпадающем списке «Порядок действий» необходимо, чтобы было задано «Сначала запрещать, потом разрешать».

пример ограничения прав доступа

В результате подключение будет работать только для разрешенных адресов.

Если Вам требуется запретить подключение с определенных компьютеров, то необходимо:

  1. В списке «Запрещено подключаться» перечислить перечень IP-адресов, с которых подключение запрещено.
  2. В списке «Разрешено подключаться» добавить «всем».
  3. В выпадающем списке «Порядок действий» необходимо, чтобы было задано «Сначала разрешать, потом запрещать».

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

Для упрощения задания диапазонов IP-адресов можно использовать сокращение «10.10.97.», что будет означать весь диапазон «10.10.97.0» - «10.10.97.255».


Программное обеспечение запатентовано и защищено законом. Соглашение об обработке персональных данных. Вакансии
© Indigo Software Technologies, 2010-2024
Вверх
logo
logo