Археология об основании Рима: Новые раскопки проясняют и такой острый дискуссионный вопрос, как дата самого возникновения Рима...
Механическое удерживание земляных масс: Механическое удерживание земляных масс на склоне обеспечивают контрфорсными сооружениями различных конструкций...
Топ:
Характеристика АТП и сварочно-жестяницкого участка: Транспорт в настоящее время является одной из важнейших отраслей народного хозяйства...
Отражение на счетах бухгалтерского учета процесса приобретения: Процесс заготовления представляет систему экономических событий, включающих приобретение организацией у поставщиков сырья...
Устройство и оснащение процедурного кабинета: Решающая роль в обеспечении правильного лечения пациентов отводится процедурной медсестре...
Интересное:
Инженерная защита территорий, зданий и сооружений от опасных геологических процессов: Изучение оползневых явлений, оценка устойчивости склонов и проектирование противооползневых сооружений — актуальнейшие задачи, стоящие перед отечественными...
Уполаживание и террасирование склонов: Если глубина оврага более 5 м необходимо устройство берм. Варианты использования оврагов для градостроительных целей...
Лечение прогрессирующих форм рака: Одним из наиболее важных достижений экспериментальной химиотерапии опухолей, начатой в 60-х и реализованной в 70-х годах, является...
Дисциплины:
2019-08-03 | 179 |
5.00
из
|
Заказать работу |
|
|
КУРСОВОЙ ПРОЕКТ
по дисциплине: «Модульное тестирование»
на тему: «Электронный магазин цветов»
Выполнил: ст. гр. 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-х годов процесс тестирования ПО был разделен с процессом разработки: вначале программисты реализовывали заданную функциональность, а затем тестировщики приступали к проверке качества созданных программ. Однако такой подход создает множество проблем.
Требования к программному продукту
Требования к программному продукту
Работа в роли администратора
ПО должен обеспечивать следующие возможности для администрирования:
· средства создания, просмотра, удаления товара, а также изменения данных товара
· средства добавления, очистки данных в файлах
Работа в роли клиента
ПО должен обеспечивать следующие возможности для клиента:
· возможность входа в программу
· возможность просмотра товара в каталоге
· возможность делать заказы товаров
Пользовательские характеристики
Пользователями описываемого программного продукта могут являться студенты, служащие, работники предприятий и кандидаты на работу, а также руководители.
Общие ограничения
Ниже перечислены ограничения, которые могут повлиять на возможности команды разработчиков программного обеспечения (ПО):
|
Допущения и зависимости
В этом разделе описаны допущения и зависимости, связанные с ПО. С целью упрощения будущих ссылок каждое допущение или зависимость помечается соответствующим заголовком.
Базы данных
Предполагается использование базы данных, содержащей сведения о товарах и заказах. База данных хранится в 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 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!