Работа в роли администратора — КиберПедия 

Археология об основании Рима: Новые раскопки проясняют и такой острый дискуссионный вопрос, как дата самого возникновения Рима...

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

Работа в роли администратора

2019-08-03 179
Работа в роли администратора 0.00 из 5.00 0 оценок
Заказать работу

КУРСОВОЙ ПРОЕКТ

 

по дисциплине: «Модульное тестирование»

 

на тему: «Электронный магазин цветов»

 

 

 

Выполнил: ст. гр. 30701116 Гребень А.В.

Проверила: Попова Ю.Б

 


 


 

МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РЕСПУБЛИКИ БЕЛАРУСЬ

БЕЛОРУССКИЙ НАЦИОНАЛЬНЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ

 

Факультет информационных технологий и робототехники (ФИТР)

 

Кафедра программного обеспечения вычислительной техники

и автоматизированных систем

 

 

Пояснительная записка

к

КУРСОВОМУ ПРОЕКТУ

 

по дисциплине: «Модульное тестирование»

 

на тему: «Электронный магазин цветов»

 

 

 

Выполнил: ст. гр. 30701116 Гребень А.В.

Проверила: Попова Ю.Б

 

 

Содержание

 

Введение. 5

1 Требования к программному продукту. 6

1.1    Требования к программному продукту. 6

1.1.1.  Работа в роли администратора. 6

1.1.2. Работа в роли клиента. 6

1.1.3. Пользовательские характеристики. 6

1.1.4. Общие ограничения. 6

1.1.5. Допущения и зависимости. 6

1.1.6. Базы данных. 7

2.1.2. Навигация. 7

2.1.3. Аутентификация пользователя. 7

1.2    Описание предметной области. 11

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

2 Проектирование программных модулей. 13

2.1 Построение и описание логической диаграммы данных. 13

3 Реализация программных модулей. 14

3.1 Схема классов. 14

3.2 Таблицы процедур обработки событий. 16

4 Проектирование модульных тестов. 18

4.1 Построение ориентированных графов МакКейба. 18

4.2 Формирование проходов. 22

5 Реализация модульного тестирования. 26

5.1 Реализация автоматизированных скриптов. 26

5.2 Анализ результатов тестов. 28

5.3 Отладка тестов. 28

Заключение. 30

Список использованных источников. 31

Приложение А.. 32

 


Введение

Тестирование программ зародилось практически одновременно с программированием как таковым. Машинное время стоило дорого, поэтому предприятия с повышенными требованиями к надежности программ (например, авиакосмическая промышленность) стали активно разрабатывать методики тестирования.

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

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

 


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

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

Работа в роли администратора

ПО должен обеспечивать следующие возможности для администрирования:

· средства создания, просмотра, удаления товара, а также изменения данных товара

· средства добавления, очистки данных в файлах

 

 

Работа в роли клиента

ПО должен обеспечивать следующие возможности для клиента:

· возможность входа в программу

· возможность просмотра товара в каталоге

· возможность делать заказы товаров

 

Пользовательские характеристики

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

 

Общие ограничения

Ниже перечислены ограничения, которые могут повлиять на возможности команды разработчиков программного обеспечения (ПО):

  • Ограничения, связанные с оборудованием: должна быть возможность эксплуатации программы на Windows 10;
  • Разделение прав пользователей;
  • Запрет на ввод пустых полей;
  • Ограничения, связанные с небольшими объёмам товаров (до 5 знаков);
  • Требования, накладываемые языками высокого уровня: в качестве среды программирования выбрать RAD Studio 10.3;

 

Допущения и зависимости

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

 

Базы данных

Предполагается использование базы данных, содержащей сведения о товарах и заказах. База данных хранится в txt-файле.

1.2. Специальные требования

В этом разделе представлены детализованные требования, относящиеся к ПО.

2.1. Функциональные требования

2.1.1. Пользовательский интерфейс

Пользовательский интерфейс для клиента <Shop> создается с использованием RAD Studio 10.3

 

Навигация

Главное меню, которое увидит пользователь-администратор, включает следующие пункты:

Просмотр каталога и цен

Добавление товаров в каталог

Удаление товаров из каталога

Сделать заказ

Функции-Сохранить в базу (Очистить базу)

Аутентификация пользователя

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

 

Страница входа:

Поле Тип Ограничения Описание, параметры, ограничения
Логин Text[9] Уникальный, может содержать буквы, цифры, знак подчеркивания. Уникальное имя для администратор, остальные используются пользователем для входа в систему.
Пароль Text[16] Минимум 1 символов. Пароль пользователя для входа в систему.  
Название кнопки Тип Ограничения Описание
Войти Button   Проверяет, есть ли введенные логин и пароль среди данных администратора.
Отмена Button   Закрывает программу

Рисунок «Аутентификация»

Ошибка при входе в программу, если пустые поля. (рисунок ниже)

Рисунок «Пустые поля при вхоже»

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

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

Если вход выполнен под пользователем, то ПО позволяет использовать следующие функции: возможность просмотра товара в каталоге; возможность делать заказы товаров.

 

 

2.1.4. Сделать заказ

Пользователь имеет право посмотреть каталог товаров, определиться с ним, и сделать заказ с помощью кнопки «Сделать заказ». Там заполняются поля товара, и делается заказ.

 

Поле Тип Формат Описание, параметры, ограничения
Наименование товара Столбец Text[20] Столбец отображает наименование товара
Количество товара Столбец Int[5] Столбец отображает количество товара

 

Также имеет кнопки:

Поле Тип Формат Описание, параметры, ограничения
Добавить товар к заказу Столбец Text[20] Столбец отображает наименование товара
Отменить заказ Столбец Int[5] Столбец отображает количество товара

 

Рисунок «Заказ покупателя»

Ошибка при

При нажатии на кнопку «Добавить товар к заказу» при пустых полях, появиться сообщение, что есть пустые поля. Необходимо или отменить, либо подтвердить заказ.

И после закрытия подтвердить нажатием на «стрелочку». Появиться уведомление, что «Сформирован заказ».

Рисунок «Сформирован заказ»

2.1.5. Добавление товара в каталог

Администратор имеет права для добавления товара в каталог. Для этого нажимается кнопка «Добавить товар в каталог». И заполняются поля:

Поле Тип Формат Описание, параметры, ограничения
Наименование товара Столбец Text[20] Столбец отображает наименование товара
Цена Столбец Int[5] Столбец отображает цену товара за 1 штуку
Количество Столбец Int[5] Столбец отображает количество товара
Сумма Столбец Int[5] Столбец отображает сумму товара

Кнопки на странице:

 

Поле Тип Ограничения Описание, параметры, ограничения
Подтвердить Button Не пустые поля Добавляет товар в таблицу
Отменить Button   Отменяет добавление

Рисунок «Добавление товара»

При нажатии кнопки «Подтвердить» при одном из пустых полей, появиться сообщение, что есть пустые поля. Их необходимо заполнить.

 

2.1.6. Удаление товара из каталога

Администратор имеет право удалять товар из каталога. Для этого необходимо открыть базу, удалить и сохранить её.

Открытие происходит с помощью кнопки «Просмотр каталога и цен». В таблицу записываются данные. И необходимо нажать на кнопку «Удаление товаров из каталога». И подтвердить сохранение через «Функции – Сохранить в базу».

Если же необходимо очистить базу, то заходим в «Функции – Очистить базу». Удаляется файл базы.

 

2.1.7. Просмотр каталога и цен

Просмотр каталога и цен выполняется с помощью кнопки «Просмотр каталога и цен». Рисунок ниже.

Рисунок «Просмотр»

 

2.2. Требования к производительности

Требований к производительности не имеется

.

Описание предметной области

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

 

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

Целью данного курсового проекта по дисциплине: ”Модульное тестирование" на тему «Электронный-магазин цветов»» является разработка программного обеспечения (далее – ПО) для компьютера, которое будет обладать следующей функциональностью: ввод данных в базу данные, удаление записей из базы данных, хранении информации в базе данных, просмотр базы данных и формирование заказов.

Для разработки необходимого ПО была выбрана среда визуального проектирования Embarcadero RAD Studio 10.3. Она позволяет за короткий промежуток времени и с наименьшими затратами физических и умственных сил создавать прикладные программы различной направленности, обеспечивая при этом наличие дружественного оконного интерфейса.        Для успешной разработки данного приложения необходимо провести его модульное тестирование.


Схема классов

Схема классов является основой для создания кода приложения. С её помощью определяется внутренняя структура системы [1]. Обычно данная схема строится для всех классов. Схема классов разрабатываемого приложения представлена ниже.

 

Рисунок Схема класса «TForm2»

Класс «TForm2» содержит функции для отображения главного меню. Также кнопки добавления в каталог, удаления, просмотр, создание заказов, подтверждения заказов, сохранение в базу, и удаление базы.

 

Рисунок Схема класса «TForm1»

Класс «TForm1» содержит функции для авторизации в программу. Также необходимо ввести Логин и Пароль для входа в программу.

Рисунок Схема класса «TForm3»

Класс «TForm3» содержит функции для добавления товара в каталог.

Рисунок Схема класса «TForm4»

Класс «TForm4» содержит функции для формирования заказа.

 

Формирование проходов

Разработаем тестовые сценарии для модульного тестирования.

Таблица 4.1 -  Граф 1

  G № сце-нария Описание прохода Контрольные примеры, позволяющие реализовать описанную ситуацию Тест пройден Да/Нет

G=1

1 a-b-d-e Оставление пустых полей Да (вывод ошибки)
       

 

Таблица 4.2 - Граф 2

  G № сце-нария Описание прохода Контрольные примеры, позволяющие реализовать описанную ситуцию Тест пройден Да/Нет
  G=1 1 a-b-c-d Создание формы Да

    

Таблица 4.3 - Граф 3

  G № сце-нария Описание прохода Контрольные примеры, позволяющие реализовать описанную ситуцию Тест пройден Да/Нет
G=1 1 a-b-d-с-е Нажатие кнопки «Просмотр» Да (вывод данных данного в таблицу)

    

Таблица 4.4 -  Граф 4

  G № сце-нария Описание прохода Контрольные примеры, позволяющие реализовать описанную ситуцию Тест пройден Да/Нет
G=1 1 a-b-d-c-e Нажатие кнопки «>» Да

 

Таблица 4.5 -  Граф 5

  G № сце-нария Описание прохода Контрольные примеры, позволяющие реализовать описанную ситуацию Тест пройден Да/Нет
G=1 1 a-b-d-c-e Запись в файл Да

 

 

Таблица 4.6 -  Граф 6

  G № сце-нария Описание прохода Контрольные примеры, позволяющие реализовать описанную ситуацию Тест пройден Да/Нет
G=1 1 a-b-d-c-e Удаление товара из таблицы Да

  

Таблица 4.7 -  Граф 7

  G № сце-нария Описание прохода Контрольные примеры, позволяющие реализовать описанную ситуацию Тест пройден Да/Нет
G=1 1 a-b-d-c-e Удаление базы Да

 Таблица 4.8 -  Граф 8

  G № сце-нария Описание прохода Контрольные примеры, позволяющие реализовать описанную ситуацию Тест пройден Да/Нет
G=1 1 a-b-d-g-e Формирование заказа Да

  

Таблица 4.9 -  Граф 9

  G № сце-нария Описание прохода Контрольные примеры, позволяющие реализовать описанную ситуацию Тест пройден Да/Нет
G=1 1 a-b-d-g-e Добавление товара в каталог Да

Все тесты пройдены.

Анализ результатов тестов

Все найденные ошибки были успешно устранены.

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

Отладка тестов

На рисунке 5.1 представлен результат отладки тестов.

Рисунок 4.1 - Отладка тестов

Заключение

 

В результате выполнения работы в теоретической части была описана требуемая предметная область, построены и описаны логическая и физическая диаграммы данных. В практической части была построена схема классов разрабатываемого приложения. Для каждого окна приложения описаны вызываемые процедуры для обработки событий. В соответствующем пункте работы написано руководство пользователя, предназначенное для быстрого освоения программного продукта будущими пользователями. Разработка приложения производилась в среде RAD STUDIO 10.3, язык разработки Delphi.

 

 


Приложение А

Листинг исходных кодов

Листинг Login.pas

unit Login;

 

interface

 

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, StdCtrls, Module, Admin;

 

type

TForm1 = class(TForm)

Label1: TLabel;

Label2: TLabel;

Edit1: TEdit;

Edit2: TEdit;

Button1: TButton;

Button2: TButton;

procedure Button2Click(Sender: TObject);

procedure Button1Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

 

var

Form1: TForm1;

 

implementation

 

{$R *.dfm}

 

procedure TForm1.Button2Click(Sender: TObject);

begin

Form1.Close;

end;

 

procedure TForm1.Button1Click(Sender: TObject);

var

login:string;

password:string;

pol:string;

log:string;

begin

login:='admin';

log:='';

password:='admin';

if (login=Edit1.Text) and (password=Edit2.Text) then

begin

 

Form2.Edit1.Text:='Администратор';

Form2.ShowModal;

Form1.Close;

end

else

if (Edit1.Text <> log) and (Edit2.Text <> log) then

begin

Form2.Button2.Enabled:= False;

Form2.Button3.Enabled:= False;

Form2.File1.Enabled:=false;

pol:=Edit1.Text;

Form2.Edit1.Text:=pol;

Form2.Edit1.ReadOnly:=True;

Form2.ShowModal;

Form1.Close;

end

else

showmessage('Пустые поля');

end;

end.

 

Листинг Admin.pas

unit Admin;

 

interface

 

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, StdCtrls, Grids, Module, Add, Menus, ComObj, Zakaz;

 

type

TForm2 = class(TForm)

Label1: TLabel;

Button1: TButton;

Button2: TButton;

Button3: TButton;

Button6: TButton;

Edit1: TEdit;

StringGrid1: TStringGrid;

Button4: TButton;

MainMenu1: TMainMenu;

File1: TMenuItem;

N1: TMenuItem;

N2: TMenuItem;

StringGrid2: TStringGrid;

Button5: TButton;

Label2: TLabel;

Label3: TLabel;

procedure Button6Click(Sender: TObject);

procedure Button2Click(Sender: TObject);

procedure FormCreate(Sender: TObject);

procedure N1Click(Sender: TObject);

procedure N2Click(Sender: TObject);

procedure Button3Click(Sender: TObject);

procedure Button4Click(Sender: TObject);

procedure Button1Click(Sender: TObject);

procedure Button5Click(Sender: TObject);

 

private

{ Private declarations }

public

{ Public declarations }

end;

 

var

Form2: TForm2;

 

implementation

 

{$R *.dfm}

 

procedure TForm2.Button6Click(Sender: TObject);

begin

Form2.Close;

end;

 

procedure TForm2.Button2Click(Sender: TObject);

var lastRow:Integer; summa:Double;

begin

Form3.ShowModal;

if i <> 1 then

begin

StringGrid1.RowCount:=StringGrid1.RowCount+1;

lastRow:=StringGrid1.RowCount-1;

summa:=kol*price;

StringGrid1.Cells[0, lastRow]:=Naim;

StringGrid1.Cells[1, lastRow]:=FloatToStr(Price);

StringGrid1.Cells[2, lastRow]:=FloatToStr(Kol);

StringGrid1.Cells[3, lastRow]:=FloatToStr(summa);

end;

end;

 

procedure TForm2.FormCreate(Sender: TObject);

begin

with StringGrid1 do

StringGrid1.Cols[cNaim].Add('Наименование');

StringGrid1.Cols[cPrice].Add('Цена');

StringGrid1.Cols[cKol].Add('Количество');

StringGrid1.Cols[cSumma].Add('Сумма');

with StringGrid2 do

StringGrid2.Cols[cNaim].Add('Наименование заказа');

StringGrid2.Cols[cPrice].Add('Цена за 1 шт');

StringGrid2.Cols[cKol].Add('Количество товара');

StringGrid2.Cols[cSumma].Add('Сумма заказа');

 

end;

 

procedure TForm2.N1Click(Sender: TObject);

var

i, LastRow: Integer;

SList: TStringList;

begin

SList:= TStringList.Create;

LastRow:= StringGrid1.RowCount - 1;

try

for i:= 0 to LastRow do

SList.Add(StringGrid1.Rows[i].CommaText);

SList.SaveToFile('text.txt');

finally

SList.Free;

end;

end;

 

procedure TForm2.N2Click(Sender: TObject);

var

i: Integer;

begin

with StringGrid1 do

for i:= 0 to ColCount - 1 do

Cols[i].Clear;

 

end;

 

procedure TForm2.Button3Click(Sender: TObject);

var i, j: Integer;

begin

with StringGrid1 do

for i:=FixedCols to ColCount-1 do

for j:=FixedRows to RowCount-1 do

Cells[i, j]:='';

StringGrid1.RowCount:=1;

StringGrid1.ColCount:=4;

FormCreate(StringGrid1);

end;

 

procedure TForm2.Button4Click(Sender: TObject);

var lastRow1:Integer; summa1:Double;

begin

Form4.ShowModal;

if i1 <> 1 then

begin

StringGrid2.RowCount:=StringGrid2.RowCount+1;

lastRow1:=StringGrid2.RowCount-1;

//summa:=kol*price;

StringGrid2.Cells[0, lastRow1]:=Naim2;

//StringGrid2.Cells[1, lastRow1]:=FloatToStr(Price2);

StringGrid2.Cells[2, lastRow1]:=FloatToStr(Kol2);

//StringGrid2.Cells[3, lastRow]:=FloatToStr(summa);

end;

end;

 

procedure TForm2.Button1Click(Sender: TObject);

var

L: TStringList;

i: integer;

begin

L:= TStringList.Create;

L.LoadFromFile('text.txt');

StringGrid1.RowCount:=7;

StringGrid1.FixedCols:=1;

StringGrid1.FixedRows:=1;

for i:= 0 to L.Count - 1 do

begin

StringGrid1.Rows[i].Delimiter:= ',';

StringGrid1.Rows[i].DelimitedText:= L.Strings[i];

end;

 

L.Free;

end;

 

procedure TForm2.Button5Click(Sender: TObject);

var

i, LastRow: Integer;

SList: TStringList;

begin

SList:= TStringList.Create;

LastRow:= StringGrid2.RowCount - 1;

try

for i:= 0 to LastRow do

SList.Add(StringGrid2.Rows[i].CommaText);

SList.SaveToFile('zakaz.txt');

finally

SList.Free;

end;

ShowMessage('Сформирован заказ');

end;

end.

 

Листинг кода Add.pas

unit Add;

 

interface

 

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, StdCtrls;

 

type

TForm3 = class(TForm)

Label1: TLabel;

Label2: TLabel;

Label3: TLabel;

Edit1: TEdit;

Edit2: TEdit;

Edit3: TEdit;

Button1: TButton;

Button2: TButton;

procedure Button2Click(Sender: TObject);

procedure Button1Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

 

var

Form3: TForm3;

Naim:string[25];

Price:Double;

Kol:Double;

i:Integer;

 

implementation

 

{$R *.dfm}

 

procedure TForm3.Button2Click(Sender: TObject);

begin

i:=1;

Form3.Close;

end;

 

procedure TForm3.Button1Click(Sender: TObject);

begin

i:=2;

if (Edit1.Text <> '') and (Edit2.Text <> '') and (Edit3.Text <> '') then

begin

Naim:=Edit1.Text;

Price:=StrToFloat(Edit2.Text);

Kol:=StrToFloat(Edit3.Text);

Edit1.Clear;

Edit2.Clear;

Edit3.Clear;

Form3.Close;

end

else

begin

ShowMessage('Пустые строки');

end;

end;

 

end.

 

Листинг кода Zakaz.pas

unit Zakaz;

 

interface

 

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, StdCtrls;

 

type

TForm4 = class(TForm)

Label1: TLabel;

Label2: TLabel;

Edit2: TEdit;

Edit3: TEdit;

Button1: TButton;

Button2: TButton;

procedure Button2Click(Sender: TObject);

procedure Button1Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

 

var

Form4: TForm4;

Naim2:string[25];

Kol2:Double;

i1:Integer;

 

implementation

 

{$R *.dfm}

 

procedure TForm4.Button2Click(Sender: TObject);

begin

i1:=1;

Form4.Close;

end;

 

procedure TForm4.Button1Click(Sender: TObject);

begin

i1:=2;

if(Edit2.Text <> '') and (Edit3.Text <> '') then

begin

Naim2:=Edit2.Text;

Kol2:=StrToFloat(Edit3.Text);

Edit2.Clear;

Edit3.Clear;

Form4.Close;

end

else

begin

ShowMessage('Пустые строки');

end;

end;

end.

 

Листинг кода Module.pas

unit Module;

//Модуль с общими данными

interface

type

//Запись полей

TShop = record

fNaim:string[100];

fPrice:Integer;

fKol:Integer;

fSumma:Integer;

fNaim1:string[100];

fPrice1:Integer;

fKol1:Integer;

fSumma1:Integer;

end;

const

//Константы

cNaim = 0; cPrice = 1; cKol = 2; cSumma = 3;

cNaim1 = 4; cPrice1 = 5; cKol1 = 6; cSumma1=7;

implementation

 

end.

КУРСОВОЙ ПРОЕКТ

 

по дисциплине: «Модульное тестирование»

 

на тему: «Электронный магазин цветов»

 

 

 

Выполнил: ст. гр. 30701116 Гребень А.В.

Проверила: Попова Ю.Б

 


 


 

МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РЕСПУБЛИКИ БЕЛАРУСЬ

БЕЛОРУССКИЙ НАЦИОНАЛЬНЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ

 

Факультет информационных технологий и робототехники (ФИТР)

 

Кафедра программного обеспечения вычислительной техники

и автоматизированных систем

 

 

Пояснительная записка

к

КУРСОВОМУ ПРОЕКТУ

 

по дисциплине: «Модульное тестирование»

 

на тему: «Электронный магазин цветов»

 

 

 

Выполнил: ст. гр. 30701116 Гребень А.В.

Проверила: Попова Ю.Б

 

 

Содержание

 

Введение. 5

1 Требования к программному продукту. 6

1.1    Требования к программному продукту. 6

1.1.1.  Работа в роли администратора. 6

1.1.2. Работа в роли клиента. 6

1.1.3. Пользовательские характеристики. 6

1.1.4. Общие ограничения. 6

1.1.5. Допущения и зависимости. 6

1.1.6. Базы данных. 7

2.1.2. Навигация. 7

2.1.3. Аутентификация пользователя. 7

1.2    Описание предметной области. 11

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

2 Проектирование программных модулей. 13

2.1 Построение и описание логической диаграммы данных. 13

3 Реализация программных модулей. 14

3.1 Схема классов. 14

3.2 Таблицы процедур обработки событий. 16

4 Проектирование модульных тестов. 18

4.1 Построение ориентированных графов МакКейба. 18

4.2 Формирование проходов. 22

5 Реализация модульного тестирования. 26

5.1 Реализация автоматизированных скриптов. 26

5.2 Анализ результатов тестов. 28

5.3 Отладка тестов. 28

Заключение. 30

Список использованных источников. 31

Приложение А.. 32

 


Введение

Тестирование программ зародилось практически одновременно с программированием как таковым. Машинное время стоило дорого, поэтому предприятия с повышенными требованиями к надежности программ (например, авиакосмическая промышленность) стали активно разрабатывать методики тестирования.

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

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

 


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

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

Работа в роли администратора

ПО должен обеспечивать следующие возможности для администрирования:

· средства создания, просмотра, удаления товара, а также изменения данных товара

· средства добавления, очистки данных в файлах

 

 

Работа в роли клиента

ПО должен обеспечивать следующие возможности для клиента:

· возможность входа в программу

· возможность просмотра товара в каталоге

· возможность делать заказы товаров

 


Поделиться с друзьями:

История создания датчика движения: Первый прибор для обнаружения движения был изобретен немецким физиком Генрихом Герцем...

Двойное оплодотворение у цветковых растений: Оплодотворение - это процесс слияния мужской и женской половых клеток с образованием зиготы...

История развития хранилищ для нефти: Первые склады нефти появились в XVII веке. Они представляли собой землянные ямы-амбара глубиной 4…5 м...

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



© cyberpedia.su 2017-2024 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!

0.413 с.