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

Биохимия спиртового брожения: Основу технологии получения пива составляет спиртовое брожение, - при котором сахар превращается...

Индивидуальные и групповые автопоилки: для животных. Схемы и конструкции...

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

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

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

1) procedure TestTForm1.TestLogin_Button1Click_null;

var

Sender: TObject;

begin

FForm1.Button1Click(Sender);

end;

2) procedure TestTForm1.TestLogin_DoubleButton1CLick_null;

var

Sender:TObject;

begin

FForm1.Button1Click(Sender);

FForm1.Button1Click(Sender);

end;

3) procedure TestTForm2.TestButton1ClickMainMenu_Prosmort_Prosm;

var

Sender: TObject;

begin

FForm2.Button1Click(Sender);

end;

4) procedure TestTForm2.TestFormCreateMainMenu_createForm_create;

var

Sender: TObject;

begin

FForm2.FormCreate(Sender);

end;

 

 

5) procedure TestTForm2.TestButton5ClickMainMenu_FormirZakaz_Form;

var

Sender: TObject;

begin

FForm2.Button5Click(Sender);

end;

6) procedure TestTForm2.TestButton3ClickMainMenu_DeleteRow_Delete;

var

Sender: TObject;

begin

FForm2.Button3Click(Sender);

end;

7) procedure TestTForm2.TestN1ClickMainMenu_SaveBase_save;

var

Sender: TObject;

begin

FForm2.N1Click(Sender);

end;

8) procedure TestTForm2.TestN2ClickMainMenu_DeleteBase_Delete;

var

Sender: TObject;

begin

FForm2.N2Click(Sender);

end;

9) procedure TestTForm3.TestButton1ClickAdd_null_null;

var

Sender: TObject;

begin

FForm3.Button1Click(Sender);

end;

10) procedure TestTForm3.TestDoubleButton1ClickAdd_null_null;

var

Sender: TObject;

begin

FForm3.Button1Click(Sender);

FForm3.Button1Click(Sender);

end;

11) procedure TestTForm4.TestButton1ClickZakaz_null_null;

var

Sender: TObject;

begin

FForm4.Button1Click(Sender);

end;

12) procedure TestTForm4.TestDoubleButton1ClickZakaz_null_null;

var

Sender: TObject;

begin

FForm4.Button1Click(Sender);

FForm4.Button1Click(Sender);

end;

 

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

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

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

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

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

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

Заключение

 

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

 

 


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

1. Культин Н.Б. «Основы программирования в Delphi 7». 2006г. с.608

2. Галисеев Г.В. «Программирование в среде Delphi 7. Самоучитель». 2004г. с.288

3. Желонкин А. «Основы программирования в интегрированной среде Delphi». 2006г. с.240


Приложение А

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

Листинг 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.


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

Индивидуальные и групповые автопоилки: для животных. Схемы и конструкции...

Особенности сооружения опор в сложных условиях: Сооружение ВЛ в районах с суровыми климатическими и тяжелыми геологическими условиями...

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

Семя – орган полового размножения и расселения растений: наружи у семян имеется плотный покров – кожура...



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

0.074 с.