DIPLOM (1204343), страница 3
Текст из файла (страница 3)
Известно, что тест как таковой наиболее просто реализовать в виде компьютерной программы.
Под тестирующей программой тут понимается программа, предлагающая пользователю вопрос и несколько вариантов ответов на него. Тестирующие программы могут различаться в деталях своего построения, но общий принцип и его реализация у всех таких программ одинаковый [13].
Основной задачей тестирующих программ является, так или иначе, проверка знаний пользователя. Причем наиболее простые тесты имеют фиксированное количество стандартных вопросов, неизменную систему оценки полученных ответов, статический алгоритм построения последовательности теста.
Следующим шагом развития таких систем стало увеличение базы данных вопросов и ответов, а как следствие – разнообразие задаваемых программой вопросов. Как правило, эти вопросы выбирались случайным образом из базы данных. Подобный алгоритм позволил создать иллюзию уникальности предлагаемых тестов. Случайный выбор вопроса давал возможность формировать тесты с лавинообразным нарастанием количеством вариантов.
Например, рассмотрим тест, состоящий из 4 вопросов, каждый из которых имеет 3 варианта. Легко подсчитать, что общее количество вариантов равно 34 = 81. Добавив всего один дополнительный вариант каждого вопроса, получаем уже 44 = 256 уникальных вариантов. Под уникальным вариантом понимается вариант, хотя бы одна задача которого отличается от задач других вариантов. Реальный тест, состоящий из 5 вопросов с 10 вариантами каждого вопроса, будет способен случайным образом формировать 105 = 100 000 вариантов. Это дает возможность с минимальными затратами создать иллюзию никогда не повторяющегося задания теста.
Параллельно идет усложнение и системы оценки ответа пользователя. Первым шагом является статическое изменение весовых коэффициентов правильности ответа на тот или иной вопрос. База данных разбивается на группы по уровню сложности. Вносятся изменения в систему управления тестом – она уже формирует тест хотя и случайным образом, но так, чтобы вопросы были представлены в соответствии с уровнем сложности. Как правило, уровень сложности возрастает с номером вопроса. Прохождение теста уже допускается в произвольном порядке – к более ранним вопросам можно возвращаться. Это, вообще говоря, вносит в процесс тестирования определенную обучающую составляющую. Более поздние вопросы теста могут натолкнуть пользователя на правильный ответ на более ранний вопрос.
Второй шаг – динамическое изменение системы оценивания. Классический пример – предложение подсказки пользователю при неправильном ответе со снижением оценки за ответ.
Подсказок на один и тот же вопрос может быть и несколько, снижение баллов может быть пропорционально “ценности” подсказки. Пользователь может сам решать – использовать или не использовать ту или иную подсказку.
Динамически может меняться и схема прохождения теста. Т.е. программа может задавать вопросы определенного уровня сложности до тех пор, пока не будет получен правильный ответ (несколько правильных ответов), не переходя к более сложным вопросам. Это требует большого числа вопросов, а, следовательно, больших баз данных.
Так построено большинство современных тестов.
К безусловным достоинствам тестирующих программ можно отнести, как уже было сказано, простоту их реализации. Создать тестирующую программу, даже использующую описанные выше усложненные схемы, может даже начинающий программист.
Достоинством является также и удобство использования таких систем пользователем. Выбирать правильный ответ из предложенных легче, чем самостоятельно получить результат. На это требуется меньше сил и времени.
Достоинством (хотя и не бесспорным) является то, что сама идея тестирования, т.е. предложение нескольких вариантов ответов косвенно стимулирует пользователя анализировать различные решения, а, как следствие, более глубоко исследовать поставленную задачу.
Тесты достаточно привлекательны, так как существенно сокращают время ответа на вопросы, а проверку тестов позволяют вообще полностью автоматизировать. Это открывает огромные перспективы использования тестирующих программ в среде дистанционного обучения, т.к. позволяют полностью реализовать весь процесс тестирования без участия преподавателя. Результаты тестов могут сохраняться автоматически и использоваться в дальнейшем. Этот принцип используют системы автоматического управления учебным процессом, создающие индивидуальные базы данных на каждого студента.
Однако имеются и недостатки.
Основным недостатком является конечность баз данных. Для того, чтобы обеспечить успешное функционирование тестирующей программы в течение длительного времени, необходимо постоянно добавлять и расширять базы данных. Иначе, постепенно программа перестанет выполнять свои функции. Ведь для того, чтобы знать ответы на любой вопрос программы, в рассмотренном выше примере, не надо решать 105 = 100 000 вариантов, а достаточно решить всего 5·10 = 50 задач.
Вторым недостатком является малая информативность ответа пользователя. Выбор правильного варианта ничего не говорит о том, как он был получен. Возможно, просто угадан.
Можно отнести к недостаткам тестирующих программ и то, что они накладывают определенные ограничения и на сложность предлагаемых задач. Тест проходится за один сеанс и не допускает возможности отложить ответ, подумать, вернуться к тому же вопросу спустя день или два. Таким образом, естественно, что в тест можно включать только задачи, не требующие относительно больших усилий при решении. Особенно это неудобно в задачах по высшей математике.
Либо задания должны быть слишком простыми, либо тест затягивается на колоссальное время, а пользователь вынужден, сидя перед компьютером, производить вычисления на бумаге. Это вообще девальвирует целесообразность применения компьютерного теста. Теряется всякое отличие от традиционной контрольной работы, а подробное письменное решение оказывается намного информативнее, чем выбранный окончательный ответ.
Таким образом, реально обоснованное применение компьютерных технологий в этом случае сводится только к случайному составлению вариантов на основе базы данных.
Также следует отметить, что тестирующие программы, реализующие этот принцип, стали достаточно совершенными, их потенциал практически исчерпан.
В таблице 2 представлена классификация программ тестирования, предложены признаки классификации и их возможные значения.
Таблица 2 Классификационные признаки программ тестирования
| Признак классификации | Значение признака |
| Режимы проведения тестирования, способы обработки и представления результатов тестирования | |
| Виды тестирования | мягкое жесткое самоконтроль |
| Виды заданий | открытые закрытые на соответствие на упорядочение конструируемые |
| Выбор заданий | самостоятельный назначаемый администратором |
| Подведение результата тестирования | методом среднего балла методом нечетких множеств методом ключевых моментов |
| Варианты представления результатов тестирования (экранная/печатная табличная форма, экранная/печатная графическая форма) | протокол тестирования сводка по отдельному студенту сводка по группе сводка по отдельному тесту сводка по отдельному заданию |
| Конструирование тестов | |
| Способ организации структуры Курсов | фиксированная структура (предметы, задания) древовидная структура (область, предмет, раздел, подраздел, задания) |
| Возможность выбора тестовых заданий для теста | случайный выбор заданий выбор в определенной последовательности, определенной администратором выбор заданий по какой-либо системе в зависимости от различных характеристик |
| Возможность импортирования тестовых заданий | отсутствует из текстовых файлов из существующих БД из других систем контроля знаний |
Продолжение таблицы 2
| Признак классификации | Значение признака |
| Доступ к системе, надежность, безопасность | |
| Хранение списка субъектов тестирования (с обеспечением конфиденциальности предоставляемой информации и результатов тестирования) | да нет |
| Режим доступа к функциям системы | жесткое распределение отдельные привилегии на каждую возможность системы, которые можно предоставить любому пользователю |
| Идентификация пользователя | в начале каждой итерации общения с сервером производится полная его авторизация после прохождения процедуры авторизации, клиенту выдается уникальный номер сессии, который используется им в течение сессии вместо авторизационных данных |
| Возможность проверки протокола сеанса тестирования | реализована не реализована |
| Характеристики технологии разработки и поставки системы | |
| Варианты поставки ПО | единственный вариант, использование которого подразумевает жестко заданные условия к окружению (платформа, WEB-сервер, установленные библиотеки) несколько вариантов, для разных условий окружения универсальный вариант, способный работать в любом окружении |
| Возможность расширения функциональности системы | нет возможности только переписыванием исходного кода при помощи модулей, интерпретируемых самой системой при помощи модулей использующих стандартизированный API : динамически подгружаемые модули; модули, интерпретируемые по мере выполнения |
Окончание таблицы 2
| Признак классификации | Значение признака |
| Способ хранения данных | SQL дерево файловой системы |
| Подсчет и контроль времени при жестком тестировании осуществляется | сервером клиентом комбинировано |
| Визуализатор тестов строится на основе | стандартных средств HTML (формы, рисунки) Java applets Flash технологии собственного «Plug-in» модуля другие |
| Способ организации данных | основные данные (вопросы, ответы, разделы курса, др.) отдельные объекты, с различной реализацией доступа обобщенные части основных данных (например, название, владелец, права доступа, др.) объекты одного типа, со ссылками на дополнительную информацию соответствующего типа |
2.2 Структура программы. Диаграмма вариантов использования
В программе используется следующий алгоритм работы с данными:
использование записей. Записи − это структура данных, состоящая из фиксированного числа компонентов, называемых полями записи. В отличие от массива, компоненты (поля) записи могут быть различного типа. Чтобы можно было ссылаться на тот или иной тип компонент записи, поля именуются;
использование файловой системы. Файл – это создаваемый документ, при дальнейшем его использовании в программе. Все данные тестирования хранятся в текстовом файле и загружаются в программу при помощи инициализации файлов. Для этого нужно указать направление передачи данных для этого файла. В языке С++ можно открыть файл для чтения, записи информации, а также для чтения и записи одновременно;















