RSS    

   Курсовая работа: Разработка вспомогательной системной программы в системе программирования Delphi с использованием средств WinApi

3.3 Требования к программе

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

3.4 Требования к программной документации

В приложении необходимо запустить справочную систему.

3.5 Средства и порядок испытаний

Испытание приложения будет производиться 2-мя методами: “белым и черным ящиками”.


3.6 Методы испытаний

3.6.1 Тестирование методом белого ящика:

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

1)  Тестирование процедуры выполняющей запись данных в проецируемый файл(2 этап выполнения программы). В данном случае это является первым заданием курсового проекта - обмен данными между приложениями с помощью файла проецируемого в память.

1инициализация

2if Edit1.Text <> '' then

Begin

WriteDataInMMF(Nicname+' Написал:'+#13#10+string(Edit1.Text));

(тело функции WriteDataInMMF(вхдными данными является строка S)

имеет следующий вид):

begin

3 WaitForSingleObject(HMutex, INFINITE);

PBaseAdress:=MapViewOfFile(HFileSender,FILE_MAP_WRITE,0,0,Length(s)+4);

4 if(PBaseAdress = nil) then

begin

5 CloseHandle(HFileSender);

st:='не удалось передать данные';

Application.MessageBox(st,'Сообщение...',MB_OK);

exit;

end;

begin

6 integer(PBaseAdress^):=length(s);

CopyMemory(Pointer(Integer(PBaseAdress)+4),PChar(s),length(s));

UnmapViewOfFile(PBaseAdress);

SetEvent(HEvent);

ReleaseMutex(HMutex);

7 end;

8 end;

9 Edit1.Text:='';

10 end

else

11 exit;

12 end;


Рисунок 4.1 – Потоковый граф обработчика события «Событие1» которое происходит при нажатии на кнопку «ОТПРАВИТЬ» на основной форме программы.

Цикломатическая сложность потокового графа:

1) V(G) = 3 региона;

2) V(G) = 13 дуг - 12 узлов + 2 = 3;

3) V(G) = 2 предикатных узла +1 = 3.

Базовое множество независимых линейных путей:

Путь 1:1-2-11-12 .

Путь 2: 1-2-3-4-5-12.

Путь 3: 1-2-3-4-5-6-7-8-9-10-12.

Таблица тестовых вариантов 4.1

пути

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

Сообщение:

«Не удалось отобразить файл на адресное пространство процесса»..

Сообщение:

«Не удалось отобразить файл на адресное пространство процесса».

3 Текст сообщения: «Привет!» Появление текста «Привет!» в поле истории переписки. Удачный исход – появление текста «Привет!» в поле истории переписки

2)  Тестирование процедуры выполняющей создание дескрипторов логического диска с

которым ведётся работа и дескриптора жёсткого диска которому принадлежит этот логический диск(3 этап выполнения программы ).

1 инициализация

2 if hDrive <> 0 then

3CloseHandle(hDrive);

4 if hMBRDrive <> 0 then

5CloseHandle(hMBRDrive);

6 discNameBPB:='\\.\'+DriveComboBox1.Drive+':';

discNameMBR:='\\.\PHYSICALDRIVE'+intToStr(0);

hMBRDrive:= CreateFile(PChar(discNameMBR),GENERIC_READ, FILE_SHARE_READ or FILE_SHARE_WRITE,nil,OPEN_EXISTING,0,0);

hDrive:= CreateFile(PChar(discNameBPB),GENERIC_READ, FILE_SHARE_READ or FILE_SHARE_WRITE,nil,OPEN_EXISTING,0,0);

7 if (hDrive <> INVALID_HANDLE_VALUE) and (hMBRDrive <> INVALID_HANDLE_VALUE) then

begin

8 Result := DeviceIoControl(hDrive,IOCTL_DISK_GET_DRIVE_GEOMETRY,nil,0,

@DiscGeometry,SizeOf(TDiscGeometry),junk,nil) and (junk = SizeOf(TDiscGeometry));

DiscGeometryShow();

9 end

else

begin

10 ShowMessage('не удалось создать дескрипторы дисков');

11 exit;

end;

12 end;


Рисунок 4.2 Потоковый граф обработчика события «С1» которое происходит при нажатии на кнопку «Начать работу с диском»

Цикломатическая сложность потокового графа:

1) V(G) = 4 регионов;

2) V(G) = 14 дуга - 12 узлов + 2 = 4;

3) V(G) = 3 предикатных узлов +1 = 4.

Путь 1:1-2-4-6-7-10-11-12;

Путь 2:1-2-3-4-6-7-10-11-12.

Путь 3: 1-2-4-5-6-7-10-11-12.

Путь 4:1-2-3-4-5-7-8-9-12.

пути

Исходные данные Ожидаемые результаты Реальные результаты
1 Дескрипторы файлов не созданы . Невозможно получить данные о носителе вывод сообщения: «Не удалось создать дескрипторы файлов»

Вывод сообщения

«Не удалось создать дескрипторы файлов»

2 Создан дескриптор файла BPB Невозможно получить данные о носителе вывод сообщения: «Не удалось создать дескрипторы файлов»

Вывод сообщения

«Не удалось создать дескрипторы файлов»

3 Создан дескриптор файла MBR Невозможно получить данные о носителе вывод сообщения: «Не удалось создать дескрипторы файлов»

Вывод сообщения

«Не удалось создать дескрипторы файлов»

4 Дескрипторы файлов существуют как MBR так и BPB Загрузка данных о носителе. Загрузка данных о носителе.

Страницы: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11


Новости


Быстрый поиск

Группа вКонтакте: новости

Пока нет

Новости в Twitter и Facebook

                   

Новости

© 2010.