Автор работы: Пользователь скрыл имя, 27 Января 2013 в 09:50, курсовая работа
Цель – разработать автоматизированную систему тестирования для применения в любой сфере без редактирования программного кода.
Исходя из поставленной цели исследования, были определены следующие задачи исследования:
Проанализировать научную литературу по исследуемой проблеме.
Исследовать создание автоматизированной системы тестирования.
Введение.
Глава 1. Теоретические основы понятия автоматизированная система тестирования.
Основные понятия, характеризующие автоматизированные системы тестирования.
Некоторые подходы к разработке автоматизированных систем тестирования.
Типы компьютерных тестов. Основные характеристики автоматизированных систем тестирования.
Инструментальные тестовые оболочки.
Глава 2. Разработка автоматизированной системы тестирования.
2.1. Постановка задачи.
2.2. Функциональная и логическая структура.
2.3. Алгоритм реализации проекта.
Вывод.
Заключение.
Список литературы.
Приложения.
Для создания тестов по предметной
области разработаны и
Инструментальные программы,
позволяющие разрабатывать
Универсальные программы содержат тестовую оболочку как составную часть. Среди них «Адонис» (Москва), «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 диалоговое окно программы.
Вывод:
Заключение.
В настоящее время
компьютеры внедряются во все отрасли
человеческой деятельности. Они помогают
автоматизировать процессы, на выполнение
которых требуется много времен
В этом курсовом проекте представлена программа для тестирования, которая может использоваться в любой сфере.
Разработанное тестовое приложение удобно в использовании благодаря возможности собственноручного редактирования и добавления файла вопросов, что даёт определённое преимущество по сравнению с другими программами тестирования, при использовании как новых, так и устаревших персональных компьютеров.
Список литературы.
Приложение. Листинг программы.
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;
Информация о работе Разработка автоматизированной системы тестирования