К нашим тестам всегда были претензии и вряд ли когда кончатся. На днях одна девушка предложила мне в письме даже устроить голосование на форуме по поводу того верен ли ответ ответ на один из вопросов. Глупости глупостями, а совершенствовать работу надо.
[spoiler]
Появилось немного свободного времени и решил попробовать как должна работать система тестов, построенная на баллах. Подобный функционал был в системе давно, но мы его не использовали. Теперь вот есть некоторый опыт, надеемся, что кому-то он пригодится.
Как всегда тесты проводятся на самом младшем курсе: Контент-менеджере. В результате проб у нас выработалась своя методика составления бальной системы. Может кому пригодится.
1. Открываем список вопросов теста и выстраиваем их по Сортировке. В системе по умолчанию используется индекс сортировки 500, поэтому все вопросы будут выстроены реально по ID вопроса. Но нам это не важно в данный момент.
Наша задача рассортировать вопросы по важности. Знание предметной области теста тут - основное. Если веб-разработчик не уверено себя чувствует в предметной области теста, то пусть этот этап расстановки приоритетов проведет кто-то от заказчика.
К сожалению форма списка вопросов не даёт комфортно проводить групповую расстановку значений сортировки: при включении режима группового редактирования от текстов вопросов остается только первые несколько десятков знаков. Тут либо бумажка вам в помощь, либо расставлять сортировку в форме каждого вопроса по отдельности, либо делать в несколько итераций. Первая итерация: ставим 100 - значимым, 500 оставляем средним по значимости, 600 - малозначимым вопросам. Вторая - более точная "раздача" сортировки.
Наш опыт показывает, что разместить все вопросы в диапазоне от 100 до 1000 с шагом в 100 при числе вопросов до 20 можно вполне легко. Естественно, что часть вопросов будет иметь одинаковый индекс сортировки. При большем числе вопросов можно делать меньший шаг, либо больший диапазон.
2. После расстановки приоритетов так же в групповом режиме можно расставить и баллы. Собственная величина баллов для каждого вопроса прямого значения не имеет, так как прохождение курса будет считаться по процентам. Догадываюсь, что для разных случаев потребуется разная система баллов, так как число вопросов и уровень требований могут быть разными у разных клиентов. Мы традиционно используем от 5 до 15 баллов. Можно и от 1 до 10 с тем же эффектом использовать. Большие значения баллов имеют преимущество: удобнее работать с процентами при большом числе вопросов: легче устанавливать порог прохождения.
Напомню, что процент прохождения устанавливается в целых числах.
Обращаю внимание на колонку Количество ответов (правильных/всего). Она помогает ориентироваться в том насколько труден или лёгок для обучаемых тот или иной вопрос. Это знание можно использовать для корректировки вопроса или для учета его места в сортировке или балла. Соглашусь что с текущим отображением значений пользоваться этой колонкой сложно. В ТЗ на модуль Обучение добавлен пункт о выводе относительных данных, а не абсолютных. То есть выводиться будет не 8042/9761, а 0,82. Так будет легче ориентироваться составителям курсов.
3. Вычисление процента прохождения. Для вычисления процента вам надо определиться сколько вопросов снизу списка малозначимы для изучаемой темы и могут быть пропущены. Складываете сумму их баллов и вычисляете ее процент от общей суммы.
Впрочем, есть вариант, когда можно не расставлять сортировку и высчитывать величину баллов, которые можно пропустить. Просто используете функцию Обязателен правильный ответ для значимых вопросов и определяете на сколько вопросов можно не отвечать. Этот вариант требует разъяснительной работы среди сдающих. Иначе обязательно будут вопросы: "Я набрал нужное число баллов, но курс все равно не пройден, почему?".
По этой системе изменены оценки в тестах курса Контент-менеджер. Подсказки остались включёнными, процент прохождения снижен таким образом, что можно ошибаться в одном/двух вопросах, в зависимости от числа вопросов в тесте. То есть можно пропустить либо два малозначительных вопроса, либо один средней значимости. Пропустить важный вопрос не получится.
Новые тесты уже работают, посмотрим на реакцию пользователей и тогда перейдем к тестам админских курсов.