Протокол тестирования программного обеспечения
База данных курсового проекта тестировалась по средствам MS Access 2010. Тестирование данной базы данных проводилось посредством проверки всех объектов данной БД.
Тестирование проводилось в среде Microsoft Access 2010.
После разработки программы необходимо провести тестирование приложения, для выявления и исправления возможных ошибок.
На вкладке «Работа с базами данных» выбирается «Анализ быстродействия» (рис. 17).
Рис. 17. Работа с базами данных
Рис. 18. Анализ быстродействия запросов
На вкладке «Анализ быстродействия» выбирается объект, который необходимо протестировать, пример «Запросы» (рис. 18).
После подтверждения запроса появляется окно, в котором будет отображаться результат проведенного тестирования (рис. 19).
C:\Users\Студ316-7\Desktop\Новая папка\musbook.mdb 4 апреля 2017 г.
Запрос: getBook Страница: 1
Свойства
DateCreated: 22.01.2017 8:39:49 DefaultView: 2
FilterOnLoad: False GUID: {guid {DC90AC9D-77E3-4AE4-
89B0-B1BCF34C33F5}}
LastUpdated: 22.01.2017 8:39:49 MaxRecords: 0
ODBCTimeout: 60 OrderByOn: False
OrderByOnLoad: True Orientation: Слева направо
RecordLocks: Отсутствует RecordsAffected: 0
ReturnsRecords: True Type: 0
Updatable: True
SQL
SELECT partita.id_part, RTrim([partita].[pName])+", "+[composer].[cmName] AS pcName
FROM composer RIGHT JOIN partita ON composer.id_cm = partita.id_cm;
Столбцы
Имя Тип Размер
id_part Длинное целое 4
AggregateType: -1
AllowZeroLength: False
AppendOnly: False
Attributes: фиксированной ширины; автоприращение; обновляемое
CollatingOrder: Общий
ColumnHidden: False
ColumnOrder: По умолчанию
ColumnWidth: По умолчанию
CurrencyLCID: 0
DataUpdatable: True
GUID: {guid {E48103C6-5949-4698-80ED-FAA5EB0FE29D}}
OrdinalPosition: 0
Required: False
ResultType: 0
SourceField: id_part
SourceTable: partita
TextAlign: Общее
pcName Текстовый 0
AggregateType: -1
AllowZeroLength: False
AppendOnly: False
Attributes: переменной длины
CollatingOrder: Общий
ColumnHidden: False
ColumnWidth: 3525
DataUpdatable: False
C:\Users\Студ316-7\Desktop\Новая папка\musbook.mdb 4 апреля 2017 г.
Запрос: getBook Страница: 2
OrdinalPosition: 1
Required: False
Индексы таблицы
Имя Число полей
composerpartita 1
Clustered: False
DistinctCount: 2
Foreign: True
IgnoreNulls: False
Name: composerpartita
Primary: False
Required: False
Unique: False
Поля:
id_cm По возрастанию
partitaid_cm 1
Clustered: False
DistinctCount: 2
Foreign: False
IgnoreNulls: False
Name: partitaid_cm
Primary: False
Required: False
Unique: False
Поля:
id_cm По возрастанию
PrimaryKey 1
Clustered: False
DistinctCount: 3
Foreign: False
IgnoreNulls: False
Name: PrimaryKey
Primary: True
Required: True
Unique: True
Поля:
id_part По возрастанию
C:\Users\Студ316-7\Desktop\Новая папка\musbook.mdb 4 апреля 2017 г.
Запрос: getBook Страница: 3
Разрешения пользователей
admin Удаление; Чтение разрешений; Установка разрешений; Смена владельца,
Чтение описания; Запись описания; Чтение данных; Вставка данных;
Обновление данных; Удаление данных
Gienko
Girlin
Klimanov
Разрешения групп
Admins Удаление; Чтение разрешений; Установка разрешений; Смена владельца,
Чтение описания; Запись описания; Чтение данных; Вставка данных;
Обновление данных; Удаление данных
Users Удаление; Чтение разрешений; Установка разрешений; Смена владельца,
Чтение описания; Запись описания; Чтение данных; Вставка данных;
Обновление данных; Удаление данных
Рис. 19. Результат проверки отчетов
После разработки программы необходимо провести тестирование приложения, для выявления и исправления возможных ошибок.
Для проверки работоспособности необходимо подготовить некоторый набор тестовых данных, а также результат, который на основе этих данных должна показать программа.
В первую очередь необходимо проверить работоспособность справочников системы. Для этого посредством программного интерфейса необходимо ввести подготовленные данные, и проверить их отображение в исполняемой среде приложения и средствами базы данных (рис. 20).
Рис. 20. Тестовые данные
Нужно сравнить данные с отображаемыми средствами разработанной программы (рис. 21).
Рис. 21. Отображение данных в программе
После проверки работоспособности справочников необходимо проверить расчетно-учетную часть программы, касающуюся учета выданных произведений и ведения журнала выдачи произведений абонентам (рис. 22).
Рис. 22. Тестовые данные по учету
Для сравнения нужно вывести данные средствами программы (рис. 23).
Рис. 23. Данные в программе
После проведения тестов и проверки работоспособности программы на всех направлениях ее деятельности разработку можно считать законченной и начинать внедрение программы на стороне пользователя.
Центральный процессор - это центральное устройство компьютера, которое выполняет операции по обработке данных и управляет периферийными устройствами компьютера. У компьютеров четвёртого поколения и старше функции центрального процессора выполняет микропроцессор на основе СБИС, содержащей несколько миллионов элементов, конструктивно созданный на полупроводниковом кристалле путём применения сложной микроэлектронной технологии.
Ниже предоставлены данные о загрузки ЦП, при запуске программы «Музыкальная библиотека».
Среда тестирования:
Windows 8.1;
ТТХ ПК см. п. 1.1.
Рис. 24. Загрузка ЦП
Рис. 25. Производительность ЦП
«УТВЕРЖДАЮ»
Руководитель:
Комиссаров С.А.
Тестировщик:
Бондарева А.С.
20 декабря 2016 г.
ПРОТОКОЛ
тестовых испытаний
программного средства «Справочник музыкальной библиотеки»
Настоящий протокол составлен по результатам тестирования на базе программно-технических средств Бондаревой А.С., проведенного в период с 20 января 2017 г. по 2 апреля 2017 г.
Условия, в которых проводилось тестирование:
Техническая среда тестирование — ПК с операционной системой Windows 10 и средой разработки Delphi 10. Краткие характеристики ПК:
- Процессор Intel Pentium (R)Dual-Core CPU E5400 @ 2.70GHz 2.70 GHz;
- Видеокарта NVIDIA GeForce GTS 250;
- ОЗУ память 4098 MB Corsair DDR3;
- Жесткий диск Western Digital WD2500AAKX.
Тестирование проводилось согласно выбранной модели жизненного цикла ПО
Участник тестирования, выполняя тестирование по плану и соблюдая все инструкции, провел тестирование программного средства.
Для тестирования использовались встроенные функции программы быстрой разработки приложений Embarcadero RAD Studio XE6 для тестирования ПО.
По плану необходимо было провести тестирование всех функций программы:
- тестирование алгоритма регистрации тестируемого;
- тестирование алгоритма тестирования;
- тестирование функционала программы.
Выводы по результатам тестирования:
Никаких проблем обнаружено не было.
Заключение
В ходе выполнения данной работы, были проведены исследования в области библиотечного дела, рассмотрены и проанализированы существующие программные решения для автоматизации библиотек.
В ходе исследования и анализа были выявлены социальные функции библиотек, их основные виды, определены задачи деятельности музыкальной библиотеки – частного случая автоматизации библиотечной деятельности.
На основе проведенного анализа деятельности работников библиотеки были рассмотрены и выбраны соответствующие современные инструменты разработки, которые позволили разработать собственную систему библиотечного учета не требующую больших, ресурсоемких технологий и оборудования, но в то же время достаточно гибкую, созданную с применением современных средств проектирования и программирования, имеющую в своей основе надежные средства хранения и управления данными.
Система была спроектирована и реализована с учетом минимальной нагрузки на сетевую структуру школьной библиотеки, для снижения временных затрат при ожидании операций выборки и получения данных.
В настоящий момент в системе реализован минимальный набор функционала, достаточный для ведения учета библиотечного фонда, пользователей библиотеки, учета приема / выдачи книг.
Благодаря использованию современного инструментария и универсального хранилища данных, в перспективе данная разработка имеет все возможности для расширения набора предоставляемых функций.
Итогом работы является получение навыков в области исследования реальных экономико-физических процессов, происходящих на различных предприятиях и организациях, для их последующей автоматизации посредством построения различных моделей, позволяющих проанализировать и спроектировать модель данных, необходимую для разработки информационных средств, применяемых в автоматизируемой области. Также были получены навыки и знания по программированию в среде Delphi с использованием в качестве источника и хранилища данных файлов Microsoft Access.
Данное ПО является законченным не содержащим ошибок, оно достоверно обрабатывает данные и может быть рекомендовано к практическому применению.
Список используемой литературы
1. Джеймс Р. Грофф, Пол Н. Вайнберг. SQL: полное руководство: пер. с англ. – К.: Издательская группа BHV, 2013. – 608 с.
2. Карпова Т.С. Базы данных: модели, разработка. - СПб.: Питер, 2012. - 304 с.
3. Microsoft Corporation, Разработка баз данных. Учебный курс MCAD/MCSD/ Пер. с англ. — М.: Издательско-торговый дом «Русская Редакция», 2014. — 512 с.
4. Галисеев, Г. В. Программирование в среде Delphi 7. Самоучитель. – М.: Дрофа, 2012 – 765 с. Рэнд Моримото и др. Sql 2012.
5. Полное руководство access 2010. — М.: Вильямс», 2013. — 1456 с.
6. Кириллов, В.В. Введение в реляционные базы данных. Введение в реляционные базы данных / В.В. Кириллов, Г.Ю. Громов. - СПб.: БХВ-Петербург, 2012. - 464 c.
7. Проектирование информационных систем: Учебное пособие / Н.Н. Заботина. — М.: НИЦ ИНФРА-М, 2014. — 331 с.
8. Советов, Б.Я. Базы данных: теория и практика: Учебник для бакалавров / Б.Я. Советов, В.В. Цехановский, В.Д. Чертовской. - М.: Юрайт, 2013. - 463 c.
9. Агальцов, В.П. Базы данных. В 2-х т.Т. 1. Локальные базы данных: Учебник / В.П. Агальцов. - М.: ИД ФОРУМ, НИЦ ИНФРА-М, 2013. - 352 c.
10. Голицына, О.Л. Базы данных: Учебное пособие / О.Л. Голицына, Н.В. Максимов, И.И. Попов. - М.: Форум, 2012. - 400 c.
Интернет источники
1. http://books.ifmo.ru/file/pdf/876.pdf (29.03.2017,09:34);
2. http://progopedia.ru/language/sql/ (29.03.2017, 9:40);
3. http://www.pgtk.edu.ru/lections/doku.php?id=delphi_whatisit (26.03.2017, 10:40);
4. http://bourabai.ru/einf/Delphi/history.htm (24.03.2017, 12:35);
5. http://database.ucoz.com/index/0-8 (31.03.2017 08:45);
6. http://www.bestreferat.ru/referat-240861.html (31.03.2017, 9:51).
Приложение 1
Руководство пользователя
После реализации проекта следует позаботиться о пользователях системы и хотя бы кратко, но доступно объяснить ему, как пользоваться необходимым приложением. Для этих целей потребуется создать руководство пользователя с объяснениями, что и как можно и нужно делать в программе.
Первым делом необходимо объяснить оператору библиотеки как следует вести справочники системы.
Для запуска программы необходимо воспользоваться заранее приготовленным ярлыком на рабочем столе, или перейти в каталог с программой посредством проводника и запустить файл musbook.exe.
Появится главная форма приложения, посредством меню которой можно получить доступ к необходимым функциям программы.
Для работы со справочниками необходимо в главном меню программы перейти в пункт-справочники и выбрать из появившегося списка необходимый. Например, далее справочник «Композиторы».
Рис. 26. Список композиторов
Для управления данными и перемещением по ним на всех формах есть навигационная панель, призванная обеспечить доступ непосредственно к функционалу по обработке хранящихся данных в справочнике.
Пункт меню Данные открывает доступ к функционалу приложения по ведению учета выдачи произведений абонентам и состоит из трех пунктов:
- реестр произведений;
- журнал выдачи;
- журнал возврата.
Реестр произведений содержит информацию о произведениях, находящихся в фондах библиотеки и их количестве в наличии в настоящий момент, для определения возможности выдачи абоненту того или иного экземпляра.
Рис. 27. Наличие музыкальных произведений
Находясь в данной форме возможно оформить выдачу экземпляра нот клиенту библиотеки. Для этого необходимо воспользоваться специальной кнопкой со знаком -.
Это откроет форму заполнения заявки на выдачу произведений абонентам.
Рис. 28. Выдача произведений
После заполнения и подтверждения действия по кнопке «Ok». Соответствующий экземпляр нотной партитуры будет зарегистрирован как выданный клиенту. Кнопка Отмена, отменяет выполнение данного действия, закрывая окно запроса и не производя никаких изменений.
Журнал выдачи – список материалов в настоящий момент находящихся на руках у пользователей библиотеки.
Рис. 29. Журнал выданных произведений
В форме журнала выдачи, находятся записи об экземплярах библиотечного фонда, в настоящий момент находящихся у зарегистрированных пользователей библиотеки.
В данной форме возможно зарегистрировать возврат произведения от читателя. Для этого необходимо нажать кнопку со знаком 5. После чего система запросит подтверждение о возврате произведения.
Рис. 30. Возврат экземпляра в библиотеку
Ответ «да» сформирует возврат экземпляра в библиотеку, ответ «нет» закроет окно вопроса, не производя никаких действий
Журнал возврата – история использования материалов пользователями библиотеки.
Рис. 31. Журнал возврата произведений
Данный журнал носит чисто информативный характер и содержит историю пользования фондами библиотеки. Предоставляя информацию, кто из читателей, когда и какие произведения использовал.
Кроме журналов и реестра произведений в пункте меню «Данные» находится опция «Выход», обеспечивающая завершение выполнения программы.
Приложение 2
Руководство программиста
Для разработки интерфейсной части клиентского приложения используется система визуального проектирования Delphi. Для проектирования и хранения информации базы данных приложения используется MS Access.
Код Delphi:
unit uMain;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, DB, ADODB, Menus, ComCtrls;
type
TfMain = class(TForm)
mmMenu: TMainMenu;
stBar: TStatusBar;
N1: TMenuItem;
N2: TMenuItem;
N3: TMenuItem;
N4: TMenuItem;
N5: TMenuItem;
N6: TMenuItem;
N7: TMenuItem;
N8: TMenuItem;
N9: TMenuItem;
conDB: TADOConnection;
N10: TMenuItem;
N11: TMenuItem;
procedure N10Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure N3Click(Sender: TObject);
procedure N9Click(Sender: TObject);
procedure N4Click(Sender: TObject);
procedure N5Click(Sender: TObject);
procedure N6Click(Sender: TObject);
procedure N7Click(Sender: TObject);
procedure N11Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
fMain: TfMain;
implementation
uses uAbout, uComposer, uReader, uPart, uIBook, uJournal, uJRClose;
{$R *.dfm}
procedure TfMain.N10Click(Sender: TObject);
var
fAB: TfAbout;
begin
fAB := TfAbout.Create(Application);
fAB.ShowModal;
fAB.Free;
end;
procedure TfMain.FormCreate(Sender: TObject);
begin
conDB.ConnectionString := 'Provider=Microsoft.Jet.OLEDB.4.0;Data Source='+
ExtractFilePath(Application.ExeName)+'musbook.mdb;Persist Security Info=False';
conDB.Open;
end;
procedure TfMain.N3Click(Sender: TObject);
begin
Application.CreateForm(TfComposer, fComposer);
end;
procedure TfMain.N9Click(Sender: TObject);
begin
Application.Terminate;
end;
procedure TfMain.N4Click(Sender: TObject);
begin
Application.CreateForm(TfReader, fReader);
end;
procedure TfMain.N5Click(Sender: TObject);
begin
Application.CreateForm(TfPart, fPart);
end;
procedure TfMain.N6Click(Sender: TObject);
begin
Application.CreateForm(TfIBook, fIBook);
end;
procedure TfMain.N7Click(Sender: TObject);
begin
Application.CreateForm(TfJournal, fJournal);
end;
procedure TfMain.N11Click(Sender: TObject);
begin
Application.CreateForm(TfJRClose, fJRClose);
end;
end.
Вывод списка возвращенных изданий:
SELECT eatr.id_rd, reader.rdName, eatr.id_part, partita.pName, composer.cmName, eatr.eDate, eatr.eRSrok, eatr.eDReturn, eatr.eCnt
FROM reader INNER JOIN ((composer INNER JOIN partita ON composer.id_cm = partita.id_cm) INNER JOIN eatr ON partita.id_part = eatr.id_part) ON reader.id_rd = eatr.id_rd
WHERE (((IsNull([eatr]![eDReturn]))<>True));
Вывод изданий, находящихся у абонентов:
SELECT eatr.id_rd, reader.rdName, eatr.id_part, partita.pName, composer.cmName, eatr.eDate, eatr.eRSrok, eatr.eDReturn, eatr.eCnt
FROM reader INNER JOIN ((composer INNER JOIN partita ON composer.id_cm = partita.id_cm) INNER JOIN eatr ON partita.id_part = eatr.id_part) ON reader.id_rd = eatr.id_rd
WHERE (((IsNull([eatr]![eDReturn]))<>False)).