Разработка автоматизированной системы тестирования

Автор работы: Пользователь скрыл имя, 27 Января 2013 в 09:50, курсовая работа

Описание

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

Содержание

Введение.
Глава 1. Теоретические основы понятия автоматизированная система тестирования.
Основные понятия, характеризующие автоматизированные системы тестирования.
Некоторые подходы к разработке автоматизированных систем тестирования.
Типы компьютерных тестов. Основные характеристики автоматизированных систем тестирования.
Инструментальные тестовые оболочки.
Глава 2. Разработка автоматизированной системы тестирования.
2.1. Постановка задачи.
2.2. Функциональная и логическая структура.
2.3. Алгоритм реализации проекта.
Вывод.
Заключение.
Список литературы.
Приложения.

Работа состоит из  1 файл

теория полностью.doc

— 206.00 Кб (Скачать документ)
    • наличие интерактивной инструментальной среды;
    • мультипредметное применение;
    • адекватное отражение конструируемой модели предметной области в процессе тестирования;
    • возможность выбора алгоритма тестирования;
    • интегрируемость в различные образовательные технологии;
    • профилируемость;
    • масштабируемость;
    • доступность;
    • дружественность пользовательского интерфейса;
    • ведение базы тестовых многоуровневых заданий;
    • настриваемое планирование и управление;
    • нацеленность на достижение более высоких результатов и повышение мотивации.

 

    1. 4. Инструментальные тестовые оболочки.

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

Инструментальные программы, позволяющие разрабатывать компьютерные тесты, можно разделить на два класса: универсальные и специализированные.

Универсальные программы содержат тестовую оболочку как составную часть. Среди них «Адонис» (Москва), «Linkway» (Microsoft), «Фея» (Томск), «Радуга» (Москва) и т.п.

Специализированные  тестовые оболочки предназначены лишь для формирования тестов. Это - «Аист» (Москва), «I_now» (Иркутск), «Тест» (Красноярск) и др.

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

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

1. Вопросы с фасетом. Задание вопроса, в котором меняются признаки.

2. Вопросы с шаблоном  ответа.

3. Вопросы с набором  ключевых слов (изображений, обозначений), из которых можно конструировать ответ.

4. Закрытая форма вопроса:  номер правильного ответа.

5. Задание на соответствие: несколько вопросов и несколько ответов.

6. Конструирование ответа (шаблонный и бесшаблонный варианты): ответ формируется путем последовательного  выбора элементов из инструментария по типу меню.

7. Задание на конструирование  изображений: с помощью графредактора, меню изображений (аналогично предыдущему примеру).

8. Задание на демонстрацию  с движущимися объектами. Ответ  - в виде действия тестируемого (определенный набор клавиш).

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

Хорошим считается тест, если

• он восприимчив к  угадыванию тестируемым;

• он восприимчив к  невнимательности и ошибочным действиям  тестируемого;

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

      1. обучение (тренажер, самоконтроль);
      2. контроль.

Для учителя тест служит

• корректировке учебного процесса;

• использованию как  вспомогательного средства для текущего контроля;

• использованию как  дидактического средства для обучения;

• для дистанционного обучения.

 

 

 

 

 

 

 

 

 

 

Глава 2. Разработка автоматизированной системы тестирования.

2.1. Постановка задачи

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

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

Хорошим считается тест, когда он:

  • Чувствителен к угадыванию тестируемого.
  • Восприимчив к невнимательности и ошибочным действиям тестируемого.
  • Положительно влияет на тестируемого и педагога, который использует тест.

Сформулируем следующие требования к программе:

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

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

3. Результат тестирования должен быть отнесен к одному из четырех уровней, например, "отлично", "хорошо", "удовлетворительно" или "неудовлетворительно".

4.  Вопросы теста должны находиться в текстовом файле.

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

6. Если вопрос предложен, то на него должен быть дан ответ.

 

На рис. 1 приведен пример диалогового окна программы тестирования во время ее работы.

 

Рис. 1. Диалоговое окно программы тестирования.

 

 

2.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_ans+1;

           mass[count_false_ans]:=('Вы ответели не верно на '+ inttostr(i) + ' вопрос. Верный ответ '+ txt_true_answer[i]);

        end;

     end;

end;

Процедура выставления  оценки:

if (count_false_ans/count_que)<0.2 then Memo_que.Lines.Add('Вы ответили отлично')

          else if (((count_false_ans/count_que)<0.4) and (0.2<(count_false_ans/count_que))) then Memo_que.Lines.Add('Вы ответили хорошо')

          else if (count_false_ans/count_que)<0.4 then Memo_que.Lines.Add('Вы ответили удовлетворительно')

          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 диалоговое окно программы.

 

 

 

 

 

Вывод:

  1. Мы проанализировали соответствующую научную литературу по исследуемой проблеме.
  2. Исследовали создание автоматизированной системы тестирования.
  3. Разработали готовое тестовое приложение, включающее в себя десять вопросов из российского теста по информатике.

 

Заключение.

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

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

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

 

 

 

 

 

 

 

 

 

 

 

 

 

Список литературы.

  1. А.В. Могилёв, Н.И. Пак, Е.К. Хеннер Информатика. - М.: ACADEMA, 2000.
  2. Фаранов В.В. Программирование на языке высокого уровня. - СПб, 1999.
  3. Дарахвелидзе П.Г., Марков Е.П. 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:integer;

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_word;

    for i:=2 to Length(txt) do

      begin

        str:=str+txt[i];

      end;

    txt_true_answer[count_que]:=str;

end else

      begin

        str:=txt;

        txt_false_answer[count_que]:=str;

      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.Strings[num_str+1],1);

  Memo2.Text:=txt;

Информация о работе Разработка автоматизированной системы тестирования