Разработка автоматизированной системы тестирования
Федеральное агентство по образованию
ГОУ ВПО «Омский государственный педагогический университет»
Разработка автоматизированной системы тестирования.
Омск – 2009
Оглавление:
Введение.
Глава 1. Теоретические основы понятия автоматизированная система тестирования.
- Основные понятия, характеризующие автоматизированные системы тестирования.
- Некоторые подходы к разработке автоматизированных систем тестирования.
- Типы компьютерных тестов. Основные характеристики автоматизированных систем тестирования.
- Инструментальные тестовые оболочки.
Глава 2. Разработка автоматизированной системы тестирования.
2.1. Постановка задачи.
2.2. Функциональная и логическая структура.
2.3. Алгоритм реализации проекта.
Вывод.
Заключение.
Список литературы.
Приложения.
Введение:
Обучение - многогранный процесс, и контроль знаний - лишь одна из его сторон. Однако именно в ней компьютерные технологии продвинулись максимально далеко, и среди них тестирование играет ведущую роль. В ряде стран тестирование потеснило традиционные формы контроля - устные и письменные экзамены и собеседования.
Однако, создание тестов это - весьма непростое дело. Для создания адекватного и эффективного теста надо затратить много труда. Компьютер может оказать в этом деле немалую помощь.
Автоматизированная система
тестирования – интегрированный
программно-технический
«Автоматизация – это комплекс мероприятий, направленный на повышение производительности труда человека посредством замены части этого труда работой машин». Информатика. Энциклопедический словарь-справочник.
Из данного определения очевидно, что автоматизированное тестирование, это не только и не просто выполнение тестов. Автоматизация может быть представлена в большинстве процессов тестирования, начиная от планирования и заканчивая тем самым запуском тестов.
В настоящее время в мире происходят постоянные изменения, и проблематика данного исследования по-прежнему несет актуальный характер в частности, из-за ситуационного многообразия и отсутствия четких критериев автоматизации такой плохоформализуемой проблемы.
Данная тема уже анализировалась у различных авторов в различных изданиях, в интернете. Тем не менее, при изучении литературы и источников отмечается недостаточное количество полных и явных исследований, существует нерешенные вопросы.
Таким образом, с одной стороны, актуальность данной области, а с другой, недостаточная изученность ее с содержательной стороны обусловили проблему нашего исследования.
Объект исследования: автоматизированная система тестирования.
Предмет исследования: создание автоматизированной системы тестирования.
Цель – разработать автоматизированную систему тестирования для применения в любой сфере без редактирования программного кода.
Исходя из поставленной цели исследования, были определены следующие задачи исследования:
- Проанализировать научную литературу по исследуемой проблеме.
- Исследовать создание автоматизированной системы тестирования.
При проведении исследования были использованы следующие методы исследования:
- анализ существующей источниковой базы по рассматриваемой проблематике (метод научного анализа).
- моделирование на основе полученных данных авторской программы (метод моделирования).
Глава 1. Теоретические основы понятия автоматизированная система тестирования.
1.1 Основные понятия, характеризующие автоматизированные системы тестирования.
Возможности применения компьютера в учебном процессе, весьма многообразны. Он может служить для моделирования изучаемых явлений или систем, для реализации учебных игр, применяться для выполнения вычислений, для редактирования текстов, в качестве различного рода тренажеров, как инструмент автоматизации проектирования, программируемого управления экспериментами, как информационно-поисковая или экспертная система и, наконец, как средство практического обучения самой компьютерной технике и программированию.
В настоящее время
уже создано множество средств
обучения с помощью компьютера. Их
можно квалифицировать
Тестирование – это процесс оценки соответствия личностной и педагогической моделей знаний.
Главная цель тестирования – обнаружение взаимного несоответствия этих моделей и оценка уровня их несоответствия.
Тестирование проводится с помощью специальных тестов, состоящих из определённого набора уровня несоответствия.
Тестовое задание – это чёткое и ясное задание по конкретной предметной области, требующее однозначного определяемого ответа или выполнения определённого алгоритма действий.
Тест – набор взаимосвязанных тестовых заданий, позволяющих оценить соответствие знаний ученика, экспертной модели знаний предметной области.
Тестирование выступает как педагогическое средство обучающей системы и может быть использовано как метод (технология) контроля образовательного процесса, позволяющий оценить уровень знаний, умений и навыков обучаемого.
- Некоторые подходы к разработке автоматизированных систем тестирования.
Технология проектирования компьютерных тестов предметной области.
Экспертами чаще используется
метод нисходящего проектирован
Другой метод проектирования «снизу - вверх» (от частного к общему) в большинстве случаев реализуется группой экспертов для разработки модели знаний сложной и объемной предметной области или для нескольких, близких по структуре и содержанию, предметных областей.
Каждый модуль предполагает входящую информацию, состоящую из набора необходимых понятий из других модулей и предметных областей, а на выходе создает совокупность новых понятий, знаний, описанных в данном модуле, рис. 1.
Модуль может содержать подмодули. Элементарный подмодуль - неделимый элемент знания - может быть представлен в виде базы данных, базы знаний, информационной модели. Понятия и отношения между ними представляют семантический граф (рис. 2).
Рис. 1. Структуры линейной модели знаний.
Рис. 2. Семантический граф модуля знаний.
Модульное представление знаний помогает
• организовать четкую систему контроля с помощью компьютерного тестирования, поскольку допускает промежуточный контроль (тестирование) каждого модуля, итоговый контроль по всем модулям и их взаимосвязям, а также эффективно использовать методику «черного ящика»;
• осуществлять наполнение каждого модуля педагогическим содержанием;
• выявить и учитывать
семантические связи модулей
и их отношения с другими предметным
Проектирование модели знаний играет важную роль, для образовательного процесса. От этого, в конечном счете, зависит обучающая среда: учитель с его квалификацией и опытом, средства и технологии обучения, а главное - контроль обучения.
Модульный принцип построения модели знаний позволяет использовать принцип исчерпывающего контроля - полный перебор всех тестовых заданий для заданной предметной области, что характерно для итоговых измерений уровня обученности.
Можно выделить два принципиальных способа контроля (тестирования) некоторой системы:
1) метод «белого ящика» - принцип тестирования экспертной модели знаний;
2) метод «черного ящика» - тестирование некоторой сложной системы по принципу контроля входных и выходных данных (наиболее подходит к компьютерному тестированию).
Самой сложной задачей эксперта по контролю является задача разработки тестов, которые позволяют максимально объективно оценить уровень соответствия или несоответствия личностной модели знаний ученика и экспертной модели.
Подбор тестовых заданий осуществляется экспертами-педагогами методологией «белого ящика», а их пригодность оценивают с помощью «черного ящика».
Рис. 3. Схема создания тестовых заданий.
Самый простой способ составления тестовых заданий - формирование вопросов к понятиям, составляющим узлы семантического графа (рис. 3), разработка упражнений, требующих для их выполнения знания свойств выбранного понятия. Более сложным этапом является разработка тестовых заданий, определяющих отношения между понятиями. Еще более глубокий уровень заданий связан с их подбором, выявляющим связь понятий между отдельными модулями.
Множество тестовых заданий (тестовое пространство), вообще говоря, согласно принципу исчерпывающего тестирования, может быть бесконечным. Например, для исчерпывающего контроля знаний таблицы умножения целых чисел от 1 до 100 необходимо использовать 100х100 всех возможных комбинаций двух чисел. А для всех натуральных чисел тестовое пространство становится бесконечным.
Однако в каждом реальном
случае существует конечное подмножество
тестовых заданий, использование которых
позволяет с большой
Из полного теста можно выделить эффективный тест (оптимальный по объему набор тестовых заданий, гарантирующий оценку личностной модели ученика заданным критериям). Выбор эффективного теста зависит от удачного разбиения тестового пространства на классы эквивалентности, пограничные условия, создание тестов на покрытие путей и логических связей между понятиями и модулями.
В примере с таблицей умножения одним из классов эквивалентности может выступить множество заданий перемножения всех натуральных чисел на 1: 1*1, 1*2, 1*3 и т.д. Поэтому в тест достаточно включить всего лишь несколько тестовых заданий из этого класса эквивалентности.
В дальнейшем необходим тестовый эксперимент на группе учащихся, который позволит провести корректировку и доводку теста до вида эксплуатации (методика «черного ящика»).
Таким образом, построение компьютерных тестов можно осуществлять по следующим последовательным шагам:
1) формализация экспертной целевой модели знаний;
2) нисходящее (или снизу
- вверх) проектирование
3) формирование и наполнение тестовых заданий;
4) формирование полного компьютерного теста;
5) тестовый эксперимент;
6) выбор эффективного теста;
7) анализ, корректировка и доводка теста до вида эксплуатации.
1.3 Типы компьютерных тестов. Основные характеристики автоматизированных систем тестирования.
В соответствии с моделью знаний выделим три класса компьютерных тестов на знания, умения и навыки. Отметим, что типы компьютерных тестовых заданий определяются способами однозначного распознавания ответных действий тестируемого.
1. Типы тестовых заданий по блоку «знания»:
• вопросы альтернативные (требуют ответа да - нет);
• вопросы с выбором (ответ из набора вариантов);
• вопросы информативные на знание фактов (где, когда, сколько);
•вопросы на знание фактов,
имеющих формализованную
•вопросы по темам, где
имеются однозначные
• вопросы, ответы на которые можно контролировать по набору ключевых слов;
• вопросы, ответы на которые можно распознавать каким-либо методом однозначно.
2. Типы тестовых заданий по блоку «навыки» (распознание деятельности: манипуляции с клавиатурой; по конечному результату):
• задания на стандартные алгоритмы (альтернативные да — нет, выбор из набора вариантов);
• выполнение действия.
3. Типы тестовых заданий по блоку «умения». Те же самые, что навыки, но использующие нестандартные алгоритмы и задачи предметной области при контроле времени их решения:
• задания на нестандартные алгоритмы (альтернативные да - нет, выбор из набора вариантов);
• выполнение действия.
Выбор типов тестов определяется
• особенностями инструментальных тестовых программ (тестовыми оболочками);
• особенностями предметной области;
• опытом и мастерством экспертов.
Технология
компьютеризированного
- наличие интерактивной инструментальной среды;
- мультипредметное применение;
- адекватное отражение конструируемой модели предметной области в процессе тестирования;
- возможность выбора алгоритма тестирования;
- интегрируемость в различные образовательные технологии;
- профилируемость;
- масштабируемость;
- доступность;
- дружественность пользовательского интерфейса;
- ведение базы тестовых многоуровневых заданий;
- настриваемое планирование и управление;
- нацеленность на достижение более высоких результатов и повышение мотивации.
- 4. Инструментальные тестовые оболочки.
Для создания тестов по предметной
области разработаны и
Инструментальные программы,
позволяющие разрабатывать
Универсальные программы содержат тестовую оболочку как составную часть. Среди них «Адонис» (Москва), «Linkway» (Microsoft), «Фея» (Томск), «Радуга» (Москва) и т.п.
Специализированные тестовые оболочки предназначены лишь для формирования тестов. Это - «Аист» (Москва), «I_now» (Иркутск), «Тест» (Красноярск) и др.
Для того чтобы разработать компьютерный вариант теста с помощью одной из названных выше программ, необходимо уяснить, какие формы тестовых заданий они допускают.
Как правило, компьютерные формы представления тестовых заданий могут выглядеть следующим образом.
1. Вопросы с фасетом. Задание вопроса, в котором меняются признаки.
2. Вопросы с шаблоном ответа.
3. Вопросы с набором
ключевых слов (изображений, обозначений),
из которых можно конструироват
4. Закрытая форма вопроса: номер правильного ответа.
5. Задание на соответствие: несколько вопросов и несколько ответов.
6. Конструирование ответа
(шаблонный и бесшаблонный
7. Задание на конструирование изображений: с помощью графредактора, меню изображений (аналогично предыдущему примеру).
8. Задание на демонстрацию
с движущимися объектами.
Перечисленные формы
компьютерного представления
Хорошим считается тест, если
• он восприимчив к угадыванию тестируемым;
• он восприимчив к невнимательности и ошибочным действиям тестируемого;
• он положительно влияет на тестируемого и педагога, который использует тест. При этом тест используется обучаемым как
- обучение (тренажер, самоконтроль);
- контроль.
Для учителя тест служит
• корректировке учебного процесса;
• использованию как вспомогательного средства для текущего контроля;
• использованию как дидактического средства для обучения;
• для дистанционного обучения.
Глава 2. Разработка автоматизированной системы тестирования.
2.1. Постановка задачи
Техническое задание
данной работы требует разработать
программу для тестирования студентов
в интегрированной среде
При создании тестов важно учитывать многие обстоятельства, например личность тестируемого, вид контроля, методику использования тестов в учебном процессе и т.п.
Хорошим считается тест, когда он:
- Чувствителен к угадыванию тестируемого.
- Восприимчив к невнимательности и ошибочным действиям тестируемого.
- Положительно влияет на тестируемого и педагога, который использует тест.
Сформулируем следующие требования к программе:
1. Программа должна обеспечить работу с тестом произвольной длины, т. е. не должно быть ограничения на количество вопросов в тесте.
2. Для каждого вопроса может быть представлено четыре возможных варианта ответа.
3. Результат тестирования должен быть отнесен к одному из четырех уровней, например, "отлично", "хорошо", "удовлетворительно" или "неудовлетворительно".
4. Вопросы теста должны находиться в текстовом файле.
5. Программа должна быть инвариантна к различным тестам, т. е. изменения в тесте не должны вызывать требование изменения программы.
6. Если вопрос предложен, то на него должен быть дан ответ.
На рис. 1 приведен пример диалогового окна программы тестирования во время ее работы.
Рис. 1. Диалоговое окно программы тестирования.
2.2. Функциональная и логическая структура.
При запуске, программа
проверяет наличие файла
нет
Рис. 2. Алгоритм работы программы
2.3. Алгоритм реализации проекта.
Тест представляет собой последовательность вопросов, на которые испытуемый должен ответить путем выбора правильного ответа из нескольких предложенных вариантов. Файл теста сохранён как текстовый документ и имеет расширение *.txt.
Ниже приведен пример написания вопроса в текстовом файле, символ * является показателем верного ответа в представленных вариантах:
Сколько байт в мегабайте?
1000024#*1048576#1024^3#1024
Если файл теста не найден, то программа выдаёт сообщение об ошибке:
AssignFile(w_file, file_name);
{$I-}
Reset(w_file); // открыть для чтения
{$I+}
fclose:=true;
if IOResult <> 0 then
begin
MessageDlg('Ошибка доступа к файлу ' + file_name,
mtError, [mbOk], 0);
fclose := false;
end;
if fclose=false then exit;
Memo1.Clear;
Если файл теста найден, то чтение информации из него происходит следующем образом:
// чтение из файла
while not EOF(w_file) do
begin
// count_que:=count_que + 1;
readln(w_file, buf); // прочитать строку из файла
Memo1.Lines.Add(buf); // добавить строку в поле Memo1
end;
CloseFile(w_file); // закрыть файл
К выполнению теста можно приступить только после указания фамилии тестируемого.
Обработка результатов и их вывод:
procedure return_result();
var i:integer;
begin
count_false_ans:=0;
for i:=1 to count_que do
begin
if answer[i]<>true_answer[i] then
begin
count_false_ans:=count_false_a
mass[count_false_ans]:=('Вы ответели не верно на '+ inttostr(i) + ' вопрос. Верный ответ '+ txt_true_answer[i]);
end;
end;
end;
Процедура выставления оценки:
if (count_false_ans/count_que)<0.
else if (((count_false_ans/count_que)<
else if (count_false_ans/count_que)<0.
else Memo_que.Lines.Add('Вы ответили неудовлетворительно');
Memo_que.Lines.Add('Всего было вопросов '+ inttostr(count_que));
Memo_que.Lines.Add('Неверных ответов '+ inttostr(count_false_ans));
end;
На рисунке 3 представлено диалоговое окно программы тестирования при выводе результатов.
Рис. 3 диалоговое окно программы.
В случае неверного ответа на какой-либо вопрос, выводится номер вопроса и правильный ответ, а также общее количество вопросов и количество неверных ответов (рис. 4).
Рис. 4 диалоговое окно программы.
Вывод:
- Мы проанализировали соответствующую научную литературу по исследуемой проблеме.
- Исследовали создание автоматизированной системы тестирования.
- Разработали готовое тестовое приложение, включающее в себя десять вопросов из российского теста по информатике.
Заключение.
В настоящее время
компьютеры внедряются во все отрасли
человеческой деятельности. Они помогают
автоматизировать процессы, на выполнение
которых требуется много времен
В этом курсовом проекте представлена программа для тестирования, которая может использоваться в любой сфере.
Разработанное тестовое приложение удобно в использовании благодаря возможности собственноручного редактирования и добавления файла вопросов, что даёт определённое преимущество по сравнению с другими программами тестирования, при использовании как новых, так и устаревших персональных компьютеров.
Список литературы.
- А.В. Могилёв, Н.И. Пак, Е.К. Хеннер Информатика. - М.: ACADEMA, 2000.
- Фаранов В.В. Программирование на языке высокого уровня. - СПб, 1999.
- Дарахвелидзе П.Г., Марков Е.П. Delphi – среда визуального программирования. –СПб.:BHV-Санкт-Петербург, 1996. -352с.
Приложение. Листинг программы.
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;
type
TForm1 = class(TForm)
Memo1: TMemo;
begin_test: TButton;
Memo_que: TMemo;
Edit1: TEdit;
Memo2: TMemo;
Memo3: TMemo;
Memo4: TMemo;
Memo5: TMemo;
procedure begin_testClick(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure Edit1Change(Sender: TObject);
procedure Memo2Click(Sender: TObject);
procedure Memo3Click(Sender: TObject);
procedure Memo4Click(Sender: TObject);
procedure Memo5Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
const
file_name='question.txt';
var
w_file:TextFile;
buf:string;
count_que,count_false_ans:
true_answer:array[1..999] of integer;
txt_true_answer:array[1..999] of string;
txt_false_answer:array[1..999] of string;
num_str:integer;
answer:array[1..999] of integer;
mass:array[1..999] of string;
function searchword(buf:string; num_word:integer):string;
var
i,j:integer;
txt,str:string;
begin
i:=0;
for j:=1 to num_word do
begin
i:=i+1;
txt:='';
while (buf[i]<>'#')do
begin
if (ord(buf[i]))=0 then break;
txt:=txt+buf[i];
i:=i+1;
end;
end;
//result:=txt;
if txt[1]='*' then
begin
true_answer[count_que]:=num_
for i:=2 to Length(txt) do
begin
str:=str+txt[i];
end;
txt_true_answer[count_que]:=
end else
begin
str:=txt;
txt_false_answer[count_que]:=
end;
result:=str;
end;
procedure TForm1.begin_testClick(Sender: TObject);
var fclose:Boolean;
txt,str:string;
i,j:integer;
begin
if Memo1.Text=''then
begin
AssignFile(w_file, file_name);
{$I-}
Reset(w_file); // открыть для чтения
{$I+}
fclose:=true;
if IOResult <> 0 then
begin
MessageDlg('Ошибка доступа к файлу ' + file_name,
mtError, [mbOk], 0);
fclose := false;
end;
if fclose=false then exit;
Memo1.Clear;
// чтение из файла
while not EOF(w_file) do
begin
// count_que:=count_que + 1;
readln(w_file, buf); // прочитать строку из файла
Memo1.Lines.Add(buf); // добавить строку в поле Memo1
end;
CloseFile(w_file); // закрыть файл
Edit1.Enabled:=false;
{ Button1.Enabled:=true;
Button2.Enabled:=true;
Button3.Enabled:=true;
Button4.Enabled:=true;}
Memo2.Enabled:=true;
Memo3.Enabled:=true;
Memo4.Enabled:=true;
Memo5.Enabled:=true;
begin_test.Enabled:=false;
num_str:=0;
Memo_que.Text:='1)' + Memo1.Lines.Strings[num_str];
count_que:=1;
txt:=searchword(Memo1.Lines.
Memo2.Text:=txt;